iptables ルールはインターネットアクセスを許可します。

iptables ルールはインターネットアクセスを許可します。

マイコンピュータにはデフォルトのポリシーがあります。

iptables -A INPUT -j REJECT #DROP ALL PACKETS TO INPUT CHANNEL

INPUT チャンネルがブロックされました。今、インターネットアクセスなどの特定のサービスのみを許可したいと思います。では、どのルールを追加する必要がありますか?ポート80はHTTP用なので、次のようにポートを許可してみました。

iptables -A INPUT -p tcp --dport 80 ACCEPT

しかし、それはうまくいきませんでした。どうすればいいか教えてください。

答え1

iptablesルールは順次です。つまり、一致する最初のルールが実行されます。 ACCEPT、DROP、REJECT などのルールは端末ルールであるため、パケットはチェーンに移動しなくなります。-A方法追加。だからあなたがすることは

  • すべて合わせて拒否します。
  • accept tcp port 80 # すべてがそこで止まるので、ここには届かないでしょう^

残念ながら、TCPポート80はすべての一部であるため、2番目のルールには到達できません。INPUTチェーンを更新し、ルールの-F実行順序を逆にします。私も読むことをお勧めしますステートフルファイアウォールの設計に関するDan Robbinsの記事これはGentoo 2.4カーネルにのみ適用されません。

関連情報