site logo

Marico's space

本地服务器openVPN连接阿里云服务器踩坑--本地服务器无法访问外网

服务器技术 2025-10-16 07:25:34 16

近日, 一直在想, 阿里云服务器如何方便又安全的进行数据备份和管理, 不想将数据库端口直接暴露在公网, 又能方便的连接数据库.

几经考虑下, 决定搭建openVPN server, 开始是将其搭在docker, 但层层中转连接数据库有些麻烦, 又懒得配, 干脆删掉直接装在ubuntu里得了.

费尽周折, 安装完openVPN, 搞定各类证书和配置, 又在AI哥们的大力支持下搞定ovpn文件配置, 成功连接服务器.

添加防火墙规则, 连接数据库, 备份, 爽~

做完顺便跑了下 apt upgrade , 结果, 发现配置的阿里云源不通, 超时; ping 阿里云官网不通; ping 阿里DNS服务器, 超时~

天呐, 什么鬼?

又ping了下百度公共DNS的IP, 还是不通. ping内网, work!

查阅资料, 检查防火墙, 检查DNS, 检查网卡, 通通不通, 折腾了很久, 问题依旧!

最后检查路由, route -n 发现了问题, 节选部分输出如下:

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         110.110.0.1     128.128.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.3.1     0.0.0.0         UG    100    0        0 enp0s31f6
110.110.0.0     0.0.0.0         255.255.255.0   U     0      0        0 tun0
128.128.0.0     110.110.0.1     128.128.0.0       UG    0      0        0 tun0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
... ... 

原来是路由被vpn 网关和本地网关劫持了!

很简单, 命令行删除上面两条 0.0.0.0 的, ping了下 223.5.5.5 , 搞定.

sudo route del -net 0.0.0.0 netmask 128.128.0.0 gw 110.110.0.1 dev tun0
sudo route del -net 128.128.0.0 netmask 128.128.0.0 gw 110.110.0.1 dev tun0

然而, 第二天, 又发现ping不通外网了, 再查下, 这两个又出现了...

0.0.0.0         110.110.0.1     128.128.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.3.1     0.0.0.0         UG    100    0        0 enp0s31f6

又查阅资料, 修改.ovpn文件, 让其不再推送路由, 最终搞定, 不再出问题了

route-nopull