デスクトップ(サーバーではない)から出てくるHTTPには、次のものが必要だと思います。
iptables -A INPUT -p tcp -m multiport --sports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
しかし、それが機能するには両方が必要であることがわかりました。私は理由を知らない:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
最後のルールがlo
インターフェイスへのUDPアクセスを許可していることがわかります。
しかし、必要なのはoutgoing TCP for NEW/ESTABLISHED connections
+だけだと思いますincoming TCP for ESTABLISHED connections
。 (まだ学んでいるから) これは私に反直観的なようです。
ベストアンサー1
明らかにlo
インターネットアクセスは必要ありません。ただし、ローカルDNSサーバー(配信者)が実行されている可能性があります。 DNSはUDPを使用し、WebアクセスにはHTTPに加えてDNSが必要です。
ちなみに、あなたのルールは(関連)ICMP応答を許可しません。これは問題を引き起こす可能性があります(低いMSS / MTU値を使用しない限り)。ただし、発信ICMPも許可されていないため、パスMTU検索も機能しません。