近日, 一直在想, 阿里云服务器如何方便又安全的进行数据备份和管理, 不想将数据库端口直接暴露在公网, 又能方便的连接数据库.
几经考虑下, 决定搭建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