iptablesは特定のポートを許可し、残りを無効にします

iptablesは特定のポートを許可し、残りを無効にします

次のようなシナリオがあります:
22、80、443 ポートへのアクセスのみを許可し、その他はすべて許可します。

私のはiptables -Lこんな感じです:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             state RELATED,ESTABLISHED
DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

しかし、望み通りの効果が得られず、自分のサーバーからでも何も ping できなくなりました (インターネットに接続できなくなりました)。

INPUTまた、ポリシーを設定して必要なポートを手動で開くオプションも検討しましたDROPが、望みどおりの効果は得られませんでした。

DROPポリシーをチェーンに配置しINPUTて必要なポートを手動で開く方法と、最後のルールとしてすべてのトラフィックをドロップする方法とでは違いがありますか。

本当にありがとう
。よろしくお願いいたします。

答え1

現在のチェーンの設定では、INPUTクライアントはTCP 22、80、443でサーバーに接続でき、TCP/IP の開始した接続に返信するだけです。それだけです!icmp(pingの場合)、いいえudp(DNS ルックアップ)。

ESTABLISHED, RELATEDすべてのプロトコルをルール化するALLOWのではなく、TCP/IP の、上記は修正されるはずです。

ルールとDROPポリシーを使用してすべてを削除する場合について:

iptables -P INPUT DROP

これは以下と同じ意味です:

iptables -A INPUT -j DROP

あなたの最後のルールとして。

また、自分が何をしているのかを正確に理解していない限り、ループバック渋滞。

関連情報