iptables ユーティリティは、Linux カーネルのネットワーク パケット フィルタリング コードを制御します。 iptables 機能は、Linux カーネルで IP パケット フィルター規則のテーブルを設定、維持、および検査するために使用されます。この投稿では、iptables で最も一般的に発生する問題とその解決方法について説明します。
再起動後に iptables ルールが読み込まれない
iptables ファイアウォール ルールを設定して保存しましたが、再起動後もロードされません。再起動後、iptables ルールは読み込まれません。
– 新しいルールが保存/適用されていないため、ファイアウォール ルールを再定義する必要があります。
– iptables サービスを再起動する必要があります。ルールをロードする順序。
トラブルシューティング
1.サービスが起動時に開始するように設定されていることを確認してください
1.サービスが起動時に開始するように設定されていることを確認します:
# chkconfig iptables --list iptables 0:off 1:off 2:off 3:on 4:on 5:on 6:off
2. iptables がオフの場合は、ランレベル 3 ~ 5 のサービスを有効にします
# chkconfig iptables on
<強い>2.ルールがディスクに保存されたことを確認する
1.新しいルールが /etc/sysconfig/iptables に保存されていることを確認します .
2. 保存されていない場合は、以下に示す 2 つの方法のいずれかで設定した後、現在のルールを保存します。
a. iptables service コマンドによるルールの保存:
# service iptables save
b.以下のコマンドの出力を /etc/sysconfig/iptables ファイルに保存します。ルールを手動でファイルに書き込んで保存することもできます。
# iptables-save
<強い>3.起動時に iptables モジュールがロードされていることを確認する
1.ブート直後に iptables モジュールがロードされていることを確認します。
RHEL 5 の出力は次のようになります:
# lsmod | grep tables ip_tables 55457 1 iptable_filter ip6_tables 50177 1 ip6table_filter x_tables 50505 6 ipt_REJECT,xt_state,ip_tables,ip6t_REJECT,xt_tcpudp,ip6_tables
RHEL 6 の出力は次のようになります:
# lsmod | grep table iptable_filter 2793 1 ip_tables 17831 1 iptable_filter ip6table_filter 2889 1 ip6_tables 19458 1 ip6table_filter
2. モジュールの読み込みに失敗した場合は、modprobe 構成から iptables モジュールのブラックリスト行をすべて削除します。
# grep -r iptables /etc/modprobe* /etc/modprobe.d/blacklist.conf:blacklist iptables /etc/modprobe.d/blacklist.conf:blacklist ip6tables
<強い>4.テーブルをチェックして、ルールが空であるか欠落しているかどうかを確認します
以下は、フラッシュされた、または空のテーブルの例です:
# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain RH-Firewall-1-INPUT (0 references) target prot opt source destination
<強い>5.再起動後にルール ファイルが変更されていないことを確認する
# cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bkp # reboot # sdiff -s /etc/sysconfig/iptables /etc/sysconfig/iptables.bkp
<強い>6. iptables サービスを再起動してルールが正常に読み込まれるかどうかを確認します
起動後に「service iptables restart」の実行が必要かどうかを確認し、テーブルを正常にロードします。
# service iptables restart # service iptables status完全にオフになっていても、再起動後に毎回 iptables が読み込まれる原因完全にオフになっていても、再起動後に毎回 iptables が読み込まれる原因