すべての着信トラフィックを受け入れるためにiptablesルールが必要


34

私のテスト環境では、すべての着信トラフィックを受け入れたいのですが、追加できるiptableルールを教えてください。

現在のiptables -L -nの出力は次のようになります

チェーンINPUT(ポリシーACCEPT)ターゲットprot optソース
宛先 ACCEPT all-0.0.0.0/0 0.0.0.0/0
状態RELATED、ESTABLISHED ACCEPT icmp
-0.0.0.0/0 0.0.0.0/0 ACCEPT all-0.0.0.0 / 0 0.0.0.0/0 ACCEPT tcp-0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 REJECT all-0.0.0.0/0 0.0.0.0/0
reject-with icmp-host-prohibited ACCEPT tcp-0.0.0.0/0
0.0.0.0/0 tcp dpt:8443 ACCEPT tcp-0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 ACCEPT tcp-0.0.0.0/0 0.0.0.0/0 tcp dpt:9443 ACCEPT tcp-0.0.0.0/0 0.0.0.0/0 tcp dpt:2124

Chain FORWARD(policy ACCEPT)target prot opt source
destination REJECT all-0.0.0.0/0 0.0.0.0/0
reject-with icmp-host-prohibited

チェーン出力(ポリシーACCEPT)ターゲットprot optソース
宛先

ありがとう

回答:


53

以下を実行します。iptablesの上部にルールが挿入され、その後別のルールで処理されない限り、すべてのトラフィックが許可されます。

iptables -I INPUT -j ACCEPT

次を使用して、iptablesセットアップ全体をフラッシュすることもできます。

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

フラッシュする場合は、次のように実行できます。

iptables -A INPUT -i lo -j ACCEPT -m comment --comment "Allow all loopback traffic"
iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT -m comment --comment "Drop all traffic to 127 that doesn't use lo"
iptables -A OUTPUT -j ACCEPT -m comment --comment "Accept all outgoing"
iptables -A INPUT -j ACCEPT -m comment --comment "Accept all incoming"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Allow all incoming on established connections"
iptables -A INPUT -j REJECT -m comment --comment "Reject all incoming"
iptables -A FORWARD -j REJECT -m comment --comment "Reject all forwarded"

トラフィックを少し安全にしたい場合は、すべての着信ルールを使用しないでください。または、「iptables -D INPUT -j ACCEPT -m comment --comment "Accept all incoming"」で削除し、さらに追加してください。次のような特定のルール:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT -m comment --comment "Allow HTTP"
iptables -I INPUT -p tcp --dport 443 -j ACCEPT -m comment --comment "Allow HTTPS"
iptables -I INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT -m comment --comment "Allow SSH"
iptables -I INPUT -p tcp --dport 8071:8079 -j ACCEPT -m comment --comment "Allow torrents"

注:下部の2つの拒否ルールより上にある必要があるため、Iを使用して上部に挿入します。または、あなたが私のような肛門なら、「iptables -nL --line-numbers」を使用して行番号を取得し、「iptables -I INPUT ...」を使用して特定の行番号にルールを挿入します。

最後に、次を使用して作業を保存します。

iptables-save > /etc/network/iptables.rules #Or wherever your iptables.rules file is

1
この答えはついに私の痛みを終わらせました。この回答は、「iptablesにやりたいことを#@ $#%させるだけで、やりたいことだけを行う」という質問に対処します。推奨される唯一の改善点は、ポートの転送例を追加することです。(つまり、80から8080および443から8443)iptablesに関する質問の99%が1つの投稿で回答されると思います。
エリックハートフォード14年

これに戻るのは少し遅れましたが、ここにあります。あるポートから別のポートへのトラフィックのリダイレクト:「iptables -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080」。あなたがやりたいように調整するのは簡単です。唯一の要件は、両方のポートが開いている必要があることです(このステートメントの上のエントリを介して)。
アレックスアトキンソン

16

すべての着信トラフィックを受け入れるには、次のコマンドを使用できます。-Pは、デフォルトポリシーを受け入れとして設定することです。

iptables -P INPUT ACCEPT  

以前のルールが必要ない場合は、それらをフラッシュ/削除してから上記のコマンドを使用します。
すべてのルールの使用をフラッシュする

iptables -F    
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.