建立WireGuard链路
- 首先建立Peer间WireGuard隧道连接,方法遵循WireGuardQuickStart入门即可
- 注1:使用wg-quick调用/etc/wireguard/*.conf类型配置文件配置更多参数
- 注2:使用systemctl enable wg-guick@*使WireGuard接口能够开机自动运行
- 注3:Windows为例,Peer端不应选择“拦截未经隧道的流量”复选框,保证能够正常访问服务器Peer端局域网
启用服务器Peer端转发
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding=1' >> /etc/sysctl.conf
sysctl -p
修改WireGuard配置文件
修改WireGuard配置文件使wg接口触发Up/Down事件时能够自动配置iptables规则。
[Interface]
... ...
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # Add forwarding when VPN is started
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE # Remove forwarding when VPN is shutdown
... ...
上述配置中包含wg接口名和转发出口名,按需修改成实际接口。