ほとんどの Linux ディストリビューションでは、デフォルトでホストベースのファイアウォール iptables が実行されます。ホストが相互に通信できるようにする場合は、iptables をオフにするか、iptables を構成して通信を許可するかの 2 つのオプションがあります。 iptables をオンのままにして、アクセスを構成することを好みます。 iptables を維持することは、ネットワーク全体の防御のもう 1 つのレイヤーにすぎません。この投稿では、CentOS/RHEL を使用して一部のポートを開いたり有効にしたりする方法について説明しています。
iptables を適切に構成するのは複雑な作業であり、ネットワークに関する深い知識が必要です。ここに示す例は単純化したものです。
1. サービス テーブルのステータスを確認し、停止している場合は開始します
# service iptables status # service iptables start
# chkconfig --list iptables iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig iptables on
2. 現在の iptables ルールを確認するには (以下の出力は、現在 iptables ルールが設定されていないことを示しています)。
# 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
3. ファイアウォール (iptable) ルールを追加して、受信 TCP ポート (例:22) を許可します:
# iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
4. iptables を一覧表示して、新しく追加されたルールを確認します。
# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ssh Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
手順 3 を繰り返して、Linux ファイアウォール (iptables) へのポートの追加を続行します
再起動のたびにルールをロードする手順
1. 上記の手順を使用して iptables ルールが追加されていることを確認してください。
# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ssh Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
2. iptables をファイルに保存します。以下のコマンドのファイル名は何でもかまいません。
# iptables-save > /root/iptable_rules
3.「/etc/rc.local」を編集します ‘ ファイルに次のエントリを追加して、再起動するたびに iptable ルールを復元します。
# iptables-restore < /root/iptable_rules
4. ファイルを保存して閉じます。