前几天撸了oracle(甲骨文)公司的终身免费云服务器,韩国地区的。打算用其中一台安装wireguard做梯子用,安装方法是使用的wireguard一键安装包,结果安装好以后,本地电脑连接成功后无法上网。本人本身也是小白,不是很清楚wireguard的原理,瞎折腾了几个小时,iptables、系统内核等等都折腾了好几遍,还是无法解决。

最后和其他运行正常的机器对比配置文件和网卡接口参数,发现正常机器的接口信息里面的inet后面写的是机器外网IP,而甲骨文机器inet后面写的是一个内网地址,而这个内网地址和wireguard使用的内网IP在同一个IP段。尝试修改/etc/wireguard/wg0.conf文件,把里面的10.0.0.1换成172.16.0.110.0.0.2换成172.16.0.2eth0换成ens3(oracle网卡接口名不是eth0),然后重启wireguard服务:wg-quick down wg0 && wg-quick up wg0,纯属死马当做活马医,结果方向问题居然解决了。
如此看来,wireguard的内网地址是不能和服务器网卡接口的内网地址在同一IP段的,否则就会出现客户端能连接服务器,但无法上网的问题。

补充:有些手机使用wifi时,连接wireguard后可以上网,使用数据流量时却不能上网。以前以为是手机系统的问题,今天解决上述问题后,突然发现这个问题也一起解决了。看来手机使用数据流量连接wireguard后无法上网的问题,也是内网地址冲突引起的。修改服务器端的内网地址段即可。



关键字:WireGuard,oracle

本文由 niuge 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论