请问 openwrt 的 wireguard 如何设置?

2022-08-08 23:09:55 +08:00
 photon006
各位彦祖:

场景是 op 的 wg 当客户端连接远端一个 peer ,不是当服务端让其它客户端接入,所以设置方法跟很多教程不一样,不需要端口转发,也不需要监听固定端口,默认监听随机端口就行。

我参考资料尝试 2 种方案都一样,网络倒是通了,不过 op 下本地网络默认优先走远端 peer ,表现是访问 https://www.ip138.com 得到远端 peer 的公网 ip ,不是 op 自身本地拨号公网 ip ,而且 wireguard 接口的流量非常大。

我希望把远端局域网( 10.13.1.*)接入到本地网络( 192.168.2.*)之后,本地网络默认走自己公网 ip ,不可用时才走远端 peer 。


第 1 种方案,参考油管视频: <amp-youtube data-videoid="0_zQAp3V18c" layout="responsive" width="480" height="270"></amp-youtube> ,主要特点是把 wireguard 接口的防火墙分配给 wan 区域,配置好 client 就能用,无需再额外折腾防火墙规则,简单易用。

第 2 种方案,参考其他博客,把 wireguard 接口的防火墙分配给一个新建区域,命名为 wireguard ,设置 lan 区域 <=> wireguard 区域 允许互相转发,启动 wg 接口发现只有 op 自身能连接远端局域网( 10.13.1.*),本地局域网其他机器则不行,op 加入一条防火墙自定义规则后解决:iptables -t nat -A POSTROUTING -o wireguard -j MASQUERADE

2 种方案都有同样的问题,折腾期间好几次翻车让我电脑跟 op 失联失去控制,幸运的是 pve 宿主机还能连,通过 console 模拟物理显示器的方式进入 op ssh ,vim 修改配置救回来。

怀疑是路由问题,启动 wireguard 后,ip route show table main 显示默认路由由 pppoe-wan 改成了 wireguard ,尝试改成 pppoe-wan 优先,没改成功。
2212 次点击
所在节点    OpenWrt
2 条回复
dengqing
2022-08-09 08:26:49 +08:00
photon006
143 天前
流量绕远端 peer 的问题解决了

1 、wg 服务端启动时配置隧道允许的 ip

docker run -d \
--name=wireguard \
-e WG_HOST=home.example.com \
-e WG_PORT=54321 \
-e PASSWORD=yourPassword \
-e WG_DEFAULT_DNS=192.168.2.1 \
-e WG_DEFAULT_ADDRESS=10.13.100.x \
-e WG_ALLOWED_IPS=192.168.2.0/24
-e TZ=Asia/Shanghai \
-v /opt/wg-easy:/etc/wireguard \
-p 54321:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
weejewel/wg-easy

关键是:WG_ALLOWED_IPS=192.168.2.0/24 ,如果没有这项默认是 0.0.0.0

2 、openwrt 路由器配置 wg 客户端时使用它




3 、检测本地网络是否会绕远端 peer

浏览器访问 https://www.ip138.com/



命令行执行:curl --location --request GET 'http://www.taobao.com/help/getip.php'

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/871543

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX