IPv6に勤しんでみる ip6tables

起動してhttpが叩けるかクライアント側から確認

# /etc/init.d/ip6tables start
$ telnet xxxx:xxxx:xxxx:8401::902 80
Trying xxxx:xxxx:xxxx:8401::902...
telnet: connect to address xxxx:xxxx:xxxx:8401::902: Permission denied
telnet: Unable to connect to remote host: Permission denied

正しく弾かれています。続いてip6tables設定。

// 初期化
# ip6tables -F
# ip6tables -F RH-Firewall-1-INPUT
# ip6tables -X RH-Firewall-1-INPUT

// ポリシー設定
# ip6tables -P INPUT DROP
# ip6tables -P OUTPUT ACCEPT
# ip6tables -P FORWARD DROP

// ローカルからは全て許可
# ip6tables -A INPUT -i lo -j ACCEPT

// 一度セッションをはったパケットは許可する
# ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

// ssh許可
# ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT

// http許可
# ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT

クライアント側から確認

$ telnet xxxx:xxxx:xxxx:8401::902 80

Trying xxxx:xxxx:xxxx:8401::902...
Connected to xxxx:xxxx:xxxx:8401::902 (xxxx:xxxx:xxxx:8401::902).
Escape character is '^]'.
GET
<h1>It works!</h1>Connection closed by foreign host.

iptablesと一緒ですね。つづいて保存

# /etc/init.d/ip6tables save

Saving firewall rules to /etc/sysconfig/ip6tables:         [  OK  ]

やっぱり一緒ですね。この辺りは特に違和感なく使えそう。