公司内部的VPN科学上网实在太慢,并且偶现会无法访问,我就使用自己个人的VPN来辅助上班中遇到的各种问题查询。
但是一旦使用自己的VPN的时候,发现无法访问公司内网,来回切换VPN的断开与连接是一件不现实的事情,所以一直排查到底是什么地方出现问题导致。
首先怀疑是没有配置PAC导致的,结果发现配置了PAC,浏览器访问公司内网的时候还是一直Pending,这就说明可能是域名解析有问题。
接着在terminal中直接ping了一下域名地址,发现DNS可以解析,但是无限丢包,说明是TCP/IP连接可能有问题
直接ping 域名IP地址也不行
ping demo.domain.cn
ping 1XX.XX.XXX.XXX
这时候想起可能是gateway无法中转导致的,当VPN连接的时候,直接代理到远程IP,但是远程IP无法访问公司内部的gateway导致无法路由到内网中的gateway没有配置导致的,所以搜索了一下gateway相关配置的方法:
首先先查看域名解析及中转的地址(需要在可解析中转的状态下查询,否则会无法显示gateway)
$ route -n get demo.domain.cn
route to: 1XX.XX.XXX.XXX
destination: 1XX.XX.XXX.XXX
gateway: 1XX.XX.XXX.X
interface: en0
flags: <UP,GATEWAY,HOST,DONE,WASCLONED,IFSCOPE,IFREF>
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0
最后设置 gateway路由到路由表中
sudo route -n add -net 1XX.XX.XXX.XXX -netmask 255.255.255.0 1XX.XX.XXX.X