![iptables -F を実行した後、ホストにアクセスできない](https://rvso.com/image/768905/iptables%20-F%20%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81%E3%83%9B%E3%82%B9%E3%83%88%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84.png)
RedHat Linux サーバーのファイアウォール設定をクリアしようとしていました。
を与えた後iptables -F
、サーバーにアクセスできなくなりました。
# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:diamondport
ACCEPT tcp -- anywhere anywhere tcp dpt:33336
ACCEPT sctp -- anywhere anywhere sctp dpts:1024:65535
ACCEPT udp -- anywhere anywhere udp dpt:gtp-user
ACCEPT udp -- anywhere anywhere udp dpts:6000:lm-x
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# iptables -F
これを解決するのを手伝ってください。
答え1
iptables -Fを実行すると、すべてのチェーンのすべてのルールが削除されます。ただし、各チェーンにはポリシー削除は行われません。この場合、INPUT チェーンの DROP です。したがって、すべてのルールを削除し、ルールに一致しないトラフィックに DROP ポリシーを適用することになります。つまり、すべてがドロップされることになります。
これを確認するには、iptables -L -n を実行します。次のような表示が出るはずです。
Chain INPUT (policy DROP)
target prot opt source destination
[it's empty]
これは正常な動作です。デフォルトのポリシーを変更することもできますが、セキュリティの観点からはまったく異なる動作になります。一致するルールがない場合はトラフィックが常に受け入れられますが、これはおそらく望ましい動作ではありません。
最善の方法は、 を使って iptables ポリシーを永続的に変更するときに、 のフラッシュと保存を避けることですiptables-save
。こうすることで、以前の設定を保存して復元したり ( )、必要に応じて変更したりすることができますiptables-restore < rules.bak
。
答え2
コンソールを再起動するとホストマシンにアクセスできるようになります。ありがとうございます