web-dev-qa-db-ja.com

iptablesを使用して2つの異なるタイプのネットワーク接続を受け入れる方法

私はMongoDBデータベースサーバーのiptablesをセットアップする必要があります。これにより、2種類の入力接続しかできません。

  1. 私たちのメインのWebアプリから、Monogdbのデフォルトポート、ポート27017への1つの接続
  2. 私のメインネットワークからの1つのSSH接続は、Webアプリケーションから異なるIPアドレスを持っています

この問題は、これらの規則を連鎖する必要があることです。

これが私が試したことです:

iptables -A INPUT -p tcp --dport ssh -j ACCEPT # allows all connections via ssh (port 22)

iptables -A INPUT -s web-app-IP -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -d web-app-IP -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

iptables -P INPUT DROP
iptables -P OUTPUT DROP
 _

最初の行はポート22上のすべての着信接続を許可しますが、2行目と3行目は、MongoDBサーバーとの間のすべての接続を許可します。

1行目が2行目と3行目にブロックされているようです。論理OR演算子)はありますか?

1
vgoklani

SSHからの確立された接続を許可していません。わずかに簡単に行きたいです。

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -s web-app-IP -p tcp --destination-port 27017 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP
 _
3
Bill Weiss