CENTOS6へのiptablesの設定例

  • 投稿日:
  • by ライブラリ編集局

iptablesの設定

この記事では、iptablesの導入・設定方法について説明します。 今回は、例として80,443,25ポートはINPUTをany許可、110ポートは特定IPからのみ許可、OUTPUTは全て許可、他stateも許可設定とします。

尚、OSについてはCENTOS6(64bit)を対象としています。

※リモートから接続して作業している場合、今回の設定を行うと接続できなくなりますので、ご注意下さい。

設定の確認

以下のコマンドを実行して、iptables が 3:on になっていることを確認します。

3:on になっていると起動時に実行されるようになります。

# chkconfig iptables --list
iptables       0:off   1:off   2:on    3:on    4:on    5:on    6:off

もし、3:off になっていた場合は、以下のコマンドで 3:on にします。

# chkconfig iptables on

現在設定されているルールを表示するのには、-Lコマンドを使います。

初期設定ではすべてACCEPT(通過)となっています。

[root@denettestdomain ~]# 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

設定の追加

チェインにルールを追加するには、-Aオプションを使います。

書式は

[root@denettestdomain ~]# iptables -A チェイン ルール -j ターゲット

となります。

では、書式に沿って80,443,25ポートのINPUTをすべて許可してみます。

[root@denettestdomain ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@denettestdomain ~]# iptables -A INPUT -p tcp --dport 443 -j ACCEPT
[root@denettestdomain ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT

続いて、110番ポートを特定IP(今回は例として192.168.0.0/24)のみ許可する設定にしてみます。

[root@denettestdomain ~]# iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 110 -j ACCEPT

次に、OUTPUTは全て許可する設定をします。

[root@denettestdomain ~]# iptables -A OUTPUT -p tcp --dport -j ACCEPT

最後に他のstateも許可する設定をします。

[root@denettestdomain ~]# iptables -A INPUT -i eth0 -m state --state NEW,ESTABLISHED,RELATED,INVALID -j ACCEPT

接続テスト

telnetにて各ポートの接続確認のテストを実施します。 コマンドプロンプトを起動し、以下のコマンドを実行。

C:\Users\denet> telnet denettestdomain.com 80 
 →接続できることを確認

C:\Users\denet> telnet denettestdomain.com 443 
 →接続できることを確認

C:\Users\denet> telnet denettestdomain.com 25 
 →接続できることを確認

C:\Users\denet> telnet denettestdomain.com 20 
 →他のポートへはアクセスできないことを確認

さっき指定した特定のIPアドレス(今回は例として192.168.0.0/24)でログイン

C:\Users\denet> telnet denettestdomain.com 110 
 →接続できることを確認
 →特定のIPアドレス以外のIPアドレスでログインできないことも確認しておく。