CentOSを使用していて、次の iptables
コマンドを入力すると、
iptables -L -v
出力は次のとおりです。
Chain INPUT (policy ACCEPT 19614 packets, 2312K bytes) pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 13881 packets, 32M bytes) pkts bytes target prot opt in out source destination
これは何を意味するのでしょうか? SSHを使用して接続できます。そのルールはどこで確認できますか?
空のiptables
ルールは、ルールがないことを意味します。ルールがないということは、テーブル「ポリシー」がそのテーブルを通過する各パケットの処理を制御することを意味します。各テーブルのpolicy ACCEPT
は、すべてのパケットが各テーブルを通過できることを意味します。したがって、アクティブなファイアウォールはありません。
ルールは設定されていません。 ルールの追加方法に関するiptables
チュートリアル をご覧ください。
次のようにSSHルールを追加できます。これにより、ポート22を介したすべてのSSHが許可されます。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
なぜiptables-saveが空になったのかと思ったとき、この質問を見つけました。だからそれはOPの答えではありませんが、私はこれをここに残すと思いました:)
Iptables-saveには、iptable_filter(またはiptable_nat)モジュールをロードする必要があることがわかります。
root@mgmt:~# iptables-save
root@mgmt:~# modprobe iptable_filter
root@mgmt:~# iptables-save
# Generated by iptables-save v1.6.0 on Fri Aug 4 09:21:14 2017
*filter
:INPUT ACCEPT [7:488]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:424]
COMMIT
# Completed on Fri Aug 4 09:21:14 2017
これは、いくつかの新しいルールの「安全な」テストを試みるときに重要です。
iptables-save > /tmp/ipt.good; (sleep 60; iptables-restore < /tmp/ipt.good) & iptables-restore < iptables.rules.test