iptablesの設定
やること
strongSwanの設定をしただけでは、通信できない。 iptables を設定して、10.1.2.0/24をNATする設定と、IPSecでトンネルしたことでMTUが減るため、 TCPMSSの設定をする。
カーネルの設定
パケットを他のホストに転送するようにする。
$ echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
MTUはiptablesで設定するため、Path MTU Discoveryは無効にする。
$ echo 'net.ipv4.ip_no_pmtu_disc=1' >> /etc/sysctl.conf
iptablesの設定
コマンドで流し込むだけ。
$ iptables -t mangle -A FORWARD -p tcp -m policy --dir in --pol ipsec -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360 $ iptables -t mangle -A FORWARD -p tcp -m policy --dir out --pol ipsec -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360 $ iptables -t nat -A POSTROUTING -s 10.1.2.0/24 -o eth0 -m policy -dir out --pol ipsec -j ACCEPT $ iptables -t nat -A POSTROUTING -s 10.1.2.0/24 -o eth0 -j MASQUERADE
捕捉
VPNサーバー自体にFIrewallの設定があるなら、UDP Port 500と4500を許可する。
iptables -A INPUT -p udp --dport 4500 -j ACCEPT iptables -A INPUT -p udp --dport 500 -j ACCEPT
この辺りについては、strongSwanのwikiに記載がある。
Introduction to strongSwan: Forwarding and Split-Tunneling - strongSwan