それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

wireguardでSNAT・マスカレードする

wireguard 経由のパケットをいい感じに転送したい。

wiregaurdのパケットをそのままLANに流すと、IPアドレスの経路がなくなって通信できなくなったりするので、Wireguardの出口側にNATを仕掛けてあげる必要がある。

そもそもWireguardはp2pだけを提供するので、その周辺は自分で面倒を見てあげないといけない感じです。 f:id:takuya_1st:20220418141334p:plain

マスカレードの例

WG_NET=172.16.41.0/24
LAN_IF=br0
LAN_NET=192.168.1.0/24
iptables -t nat -I POSTROUTING  -o $LAN_IF -s $WG_NET -d $LAN_NET  -j MASQUERADE

SNATの例

WG_NET=172.16.41.0/24
LAN_IF=br0
LAN_NET=192.168.1.0/24
LAN_IP=192.168.1.1
iptables -t nat -A POSTROUTING -d $LAN_NET  -s $WG_NET -j SNAT --to-source $LAN_IP