Patrick Young
网络环境
- 公网服务器 A:
3.3.0.47
, 作为 Wireguard 的网关10.40.0.1
. - 在防火墙后的 NAT 服务器 B:
6.6.0.23
,作为 Wireguard 的一个客户端10.40.0.3
- 需要访问
6.6.0.0/16
的电脑 C,没有公网 IP,作为 Wireguard 的一个客户端10.40.0.2
- Wireguard 无法绑定源地址,需要等待
SO_NOTOIF
合入内核,参考: http://marc.info/?t=145452167200014&r=1&w=2
预先配置
- Wireguard 初始配置完成
ip_forward
及rp_filter
配置正常
解决方案
- AllowedIPs=0.0.0.0/0, Table=off, 手动使用 Routing Daemon (babeld),启用 SADR(source-address dependent routing)
- 数据包 fwmark,策略路由
参考文献
- https://www.wireguard.com/netns/
- https://wiki.dn42.us/
- 感谢 @NickCao 的杰出贡献