OpenWrt23.05の可変IPアドレスPPPoEでSite to Site VPN(Libreswan)
2025-10-14 22:50:23
2拠点でOpenWrtルーターを設置している。 各OpenWrtルーターは2つのインターネット接続を設定しており、 WANからの待受用のPPPoE接続と、LAN利用者のWAN向け接続を併用している。 さらにL2TP/IPSECでのVPN Serverを使えるようにしている。 となると双方のサイトにLibreswanが入っている。 せっかくなので Site to Site VPNしてみたい。
ここではPPPoEでの可変IPアドレス同士でのSite to Site VPNを確立できたのでご紹介。 ただしDNSでの正引き名前解決ができること。ちなみにウチはonamae.com
結果的にはシンプルな設定で大丈夫です。 個人的にはVPNのアダプターをVPN Zoneに入れるところと、Firewallのところでハマりました。
各サイトの状況
サイトK
- WAN接続 PPPoE、DS-Lite
- Libreswan VPN Server: L2TP/IPSEC
- DNSで引けるPPPoEホスト名 k-vpn.yourdomain.com
- LANネットワーク 192.168.0.0/24
サイトT
- WAN接続 PPPoE、DHCP -- NTTひかり電話のホームゲートウェイのMAP-Eへの二重ルーター
- Libreswan VPN Server: L2TP/IPSEC
- DNSで引けるPPPoEホスト名 t-vpn.yourdomain.com
- LANネットワーク 192.168.3.0/24
サイトKのOpenWrt設定
/etc/ipsec.d/k-t-master.conf
conn k-t-master auto=start type=tunnel authby=secret ipsec-interface=1 ikev2=insist fragmentation=yes leftid=@k-vpn.yourdomain.com ←@とDNSで引ける名前にしておく left=%pppoe-wansv4 ←PPPoEのデバイス leftsubnet=192.168.0.0/24 leftsourceip=192.168.0.79 rightid=@t-vpn.yourdomain.com ←@とDNSで引ける名前にしておく right=t-vpn.yourdomain.com ←DNSで引ける名前 rightsubnet=192.168.3.0/24 rightsourceip=192.168.3.79
/etc/ipsec.d/k-t.secrets
@k-vpn.yourdomain.com @t-vpn.yourdomain.com : PSK "そこそこ長いpre shared key"
/etc/config/network
/etc/config/network config zone option name 'vpn' option conntrack '1' option input 'ACCEPT' option output 'ACCEPT' option forward 'REJECT' list network 'vpn1' list network 'vpn2' list network 'vpn3' list network 'ipsec1_static'
Firewall - Traffic Ruleの、Assign Firewall markで !192.168.0.0/24 をしているものがあれば、!192.168.3.0/24を追加する。
サイトTのOpenWrt設定
/etc/ipsec.d/k-t-slave.conf
conn k-t-slave auto=start type=tunnel authby=secret ipsec-interface=1 fragmentation=yes leftid=@t-vpn.yourdomain.com ←@とDNSで引ける名前にしておく left=%pppoe-wansv4 ←PPPoEのデバイス leftsubnet=192.168.3.0/24 leftsourceip=192.168.3.79 rightid=@k-vpn.yourdomain.com ←@とDNSで引ける名前にしておく right=k-vpn.yourdomain.com ←DNSで引ける名前 rightsubnet=192.168.0.0/24 rightsourceip=192.168.0.79
/etc/ipsec.d/k-t.secrets
@k-vpn.yourdomain.com @t-vpn.yourdomain.com : PSK "そこそこ長いpre shared key"
/etc/config/network
/etc/config/network config zone option name 'vpn' option conntrack '1' option input 'ACCEPT' option output 'ACCEPT' option forward 'REJECT' list network 'vpn1' list network 'vpn2' list network 'vpn3' list network 'ipsec1_static'
Firewall - Traffic Ruleの、Assign Firewall markで !192.168.3.0/24 をしているものがあれば、!192.168.0.0/24を追加する。