Linux でトラブルシューティングのために iptables ファイアウォールを一時的に無効にする方法を学びます。 また、ポリシーを保存する方法と、ファイアウォールを有効にして戻す方法を学びます。
時には、接続のトラブルシューティングを行うために iptables ファイアウォールをオフにして、再びオンにする必要がある場合があります。 その際、すべてのファイアウォール ポリシーも保存しておきたいものです。 この記事では、ファイアウォールポリシーを保存する方法とiptablesファイアウォールを無効化/有効化する方法を説明します。 iptables ファイアウォールとポリシーの詳細については、それに関する記事をお読みください。
Save iptables policies
iptables ファイアウォールを一時的に無効にする際の最初のステップは、既存のファイアウォール規則/ポリシーを保存することです。
root@kerneltalks # iptables-save# Generated by iptables-save v1.4.21 on Tue Jun 19 09:54:36 2018*nat:PREROUTING ACCEPT :INPUT ACCEPT :OUTPUT ACCEPT :POSTROUTING ACCEPT :DOCKER - ---- output trucated----root@kerneltalks # iptables-save > /root/firewall_rules.backup
iptables-save は iptables ポリシーのバックアップを取ることができるコマンドです。
Stop/disable iptables firewall
古いカーネルでは、service iptables stop
で iptables サービスを停止するオプションがありますが、新しいカーネルを使用している場合は、すべてのポリシーを消去して、ファイアウォールを介してすべてのトラフィックを許可する必要があるだけです。
root@kerneltalks # iptables -Froot@kerneltalks # iptables -Xroot@kerneltalks # iptables -P INPUT ACCEPTroot@kerneltalks # iptables -P OUTPUT ACCEPTroot@kerneltalks # iptables -P FORWARD ACCEPT
Where –
- -F: すべてのポリシーチェーンをフラッシュする
- -X: Delete user-defined chains
- -P INPUT/OUTPUT/FORWARD: Accept specified traffic
完了したら、現在のファイアウォールポリシーを確認します。 以下のように表示されるはずです。つまり、すべてが受け入れられています (ファイアウォールが無効/停止されているのと同じです)
# iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain OUTPUT (policy ACCEPT)target prot opt source destination
Restore firewall policies
トラブルシューティングが終わり、すべての設定で iptables をオンに戻したいと思います。
root@kerneltalks # iptables-restore </root/firewall_rules.backup
Start iptables firewall
そして、前のステップで service iptables start
を使って iptables サービスを停止した場合、それを開始する必要があります。 サービスを停止していない場合は、ポリシーのみをリストアします。 iptables ファイアウォール設定にすべてのポリシーが戻っているかどうか確認してください:
root@kerneltalks # iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy DROP)target prot opt source destinationDOCKER-USER all -- anywhere anywhereDOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere-----output truncated-----
以上! これで、ポリシールールを失うことなく、ファイアウォールを無効にし、有効にすることができました。
Disable iptables firewall permanently
For disabling iptables permanently follow below process –
- Stop iptables service
- Disable iptables service
- Flush all rules
- Save configuration
This can achieve with these set of commands.
root@kerneltalks # systemctl stop iptablesroot@kerneltalks # systemctl disable iptablesroot@kerneltalks # systemctl status iptablesroot@kerneltalks # iptables --flushroot@kerneltalks # service iptables saveroot@kerneltalks # cat /etc/sysconfig/iptables