dd-wrtでOpenVPN (11)
LANにアクセスできない
ルータのLAN側にWindowsテストマシンを設置、外部からOpenVPNアクセスしてテストマシンに接続できない。
tracertすると外部からはdd-wrtまで届いてそのあとがlost
テストマシン側からtracertすると第一ホップ(dd-wrt)からも返事がない
ルータ内でブロックされている。
半日かけて調べていくとiptablesでルールが追加されている。
root@DD-WRT:/tmp/openvpn# iptables -t raw -L -n --verbose
Chain PREROUTING (policy ACCEPT 1275 packets, 249K bytes)
pkts bytes target prot opt in out source destination
12 1008 DROP all -- !tun2 * 0.0.0.0/0 10.10.1.0/24
26813 14M CT all -- * * 0.0.0.0/0 0.0.0.0/0 NOTRACK
26797 14M CT all -- * * 0.0.0.0/0 0.0.0.0/0 NOTRACK
Chain OUTPUT (policy ACCEPT 214 packets, 28144 bytes)
pkts bytes target prot opt in out source destination
/tmp/openvpn/route-up.shで追加されていることがわかった
root@DD-WRT:/tmp/openvpn# cat route-up.sh
#!/bin/sh
cat << EOF > /tmp/openvpnsrv_fw.sh
#!/bin/sh
iptables -t raw -D PREROUTING ! -i $dev -d $ifconfig_local/$ifconfig_netmask -j DROP
iptables -t raw -I PREROUTING ! -i $dev -d $ifconfig_local/$ifconfig_netmask -j DROP
EOF
chmod +x /tmp/openvpnsrv_fw.sh
/tmp/openvpnsrv_fw.sh
これはセキュリティ対策でCVE-2019-14899 MitigationをEnableしていると設定される。このオプションをDisableすると:
root@DD-WRT:/tmp/openvpn# cat route-up.sh
#!/bin/sh
cat << EOF > /tmp/openvpnsrv_fw.sh
#!/bin/sh
EOF
chmod +x /tmp/openvpnsrv_fw.sh
/tmp/openvpnsrv_fw.sh
何のためにやってるのかなど参考記事:
https://svn.dd-wrt.com/ticket/6928
DDWRT OpenVPN Server Setup Public v1.94.pdf page 10
(とりあえず了かな?)
(まだつづく)