ros的wireguard一直就想配置用起来,日常在外都在用s*s连回openwrt使用,后来发现ios的wireguard可以实现按需链接,这样在外使用就很方便了,配置ros的wireguard倒是很简单,配置好以后发现连回是ok了,但是飞跃的需求却并没有完成.

通过各种研究,网上都是ros自动分流的方案,我的诉求简单来说就是通过wireguard连回ros后,将wireguard来的请求,通过路由表都转发到旁路由OpenWrt,实现在家里面一样顺畅的上网飞跃的效果.

wireguard配置

wireguard在ros里面的配置就很简单了,简单说来就是新建了wireguard接口,配置一个ip,注意最好不要和目前的网络段冲突,然后配置好peer,能连上就ok.接下来才是这次的重点.

配置路由

先创建一个路由表

参考如下图:

配置路由

设置这个路由表的网关Gateway为旁路由OpenWrt的IP地址:

配置地址列表

把wireguard的网段地址全部加到一个地址清单.

配置标记

配置Mangle Rule,新建一条Chain,类型为prerouting:

Advanced里面选择Src地址清单为我们刚才创建的地址清单:

image-20220608212152665

继续在Action设置为mark routing,设置New Routing Mark 为我们前面设置的路由表,取消掉Passthrough的勾选:

完结

到了这里,重新连上你的wireguard,是不是已经如丝般顺滑的飞跃了?