質問: iptablesで80,443以外のすべてのポートをブロックするにはどうすればいいですか? すべてのポート(内外)をブロックするのは簡単ですが、「except」という言葉では困難です。条件を満たす規則がわかりません。シモンズ:私はこの質問が新しいものではないことを知っています。しかし実際には、私は何も助けを見つけることができませんでした。だから、私はplsを助けて!
回答: デフォルトのアクションをdropに設定してから、80と443を許可するように例外ルールを作成できます。# setting default policies: iptables -p input drop iptables -p forward drop iptables -p output accept # exceptions to default policy iptables -a input -p tcp --dport 80 -j accept # http iptables -a input -p tcp --dport 443 -j accept # https iptablesは、一致するものが見つかるまで「例外」のリストを調べます。それはそれから-jパラメータによって指定されたアクションを実行します(この場合accept)。一致するものが見つからない場合は、デフォルトのポリシーにフォールバックしてパケットをドロップします。この回避策では、すべてのサブドメインがロックアウトされることに注意してください。たとえば、この方法では、www.mydomain.comで正常に機能しますが、サブドメインはwww.sub.mydomain.comでdnsエラーが発生しないとします。