美文网首页
mac vpn 连上无法连接到公司内网的错误排查

mac vpn 连上无法连接到公司内网的错误排查

作者: 荷茗 | 来源:发表于2018-04-07 12:06 被阅读2408次

    最近一段时间,我们的 mac 需要通过 vpn 访问公司的内网。但是当我按照了说明进行了配置之后,却发现我的ip 总是在我的本地,发现我的网站没有连接到公司的内网。这件事情折腾耽误了我快一个月的时间。

    开始的时候以为是我的电脑的 vpn 客户端的问题,后面下载了 shimo 的客户端发现还是发生了同样的问题。无论我怎么 google 还是没有找出问题的所在。

    后面我以为自己自己电脑的问题,于是用自己的另一台 mac 连接还是遇见的同样的问题(注: 这两台 mac 是用的同一套系统,通过 macos 系统的迁移助手来对系统进行的迁移。)

    我去苹果商店想问那里的员工帮我看看是什么问题,但是他们说,他们也没有办法,只能够帮我重装系统。

    后面我找了另一台 mac 连接 vpn 并且将 vpn 的日志打出来。

    tail -f /var/log/ppp.log            
    

    经过仔细对比,才发现的问题所在下面是我的 vpn 连接时打出的日志(无法正常连接)。

    > rcvd [LCP EchoReq id=0x0 magic=0xb1926788]
    > sent [IPV6CP ConfReq id=0x1 <addr fe80::12dd:b1ff:fec7:3c1f>]
    > rcvd [IPCP ConfReq id=0x1 <addr 172.26.123.1>]
    > ipcp: returning Configure-ACK
    > sent [IPCP ConfAck id=0x1 <addr 172.26.123.1>]
    > rcvd [IPCP ConfRej id=0x1 <ms-dns3 0.0.0.0>]
    > sent [IPCP ConfReq id=0x2 <addr 59.37.7.226> <ms-dns1 0.0.0.0>]
    > rcvd [LCP ProtRej id=0x2 80 57 01 01 00 0e 01 0a 12 dd b1 ff fe c7 3c 1f]
    > rcvd [IPCP ConfNak id=0x2 <addr 172.26.123.138> <ms-dns1 172.26.9.10>]
    > sent [IPCP ConfReq id=0x3 <addr 172.26.123.138> <ms-dns1 172.26.9.10>]
    > rcvd [IPCP ConfAck id=0x3 <addr 172.26.123.138> <ms-dns1 172.26.9.10>]
    > ipcp: up
    > local  IP address 172.26.123.138
    > remote IP address 172.26.123.1
    > primary   DNS address 172.26.9.10
    > Received protocol dictionaries
    > Script /etc/ppp/ip-up started (pid 15535)
    > l2tp_wait_input: Address added. previous interface setting (name: en4, address: 172.20.10.3), current interface setting (name: ppp0, family: PPP, address: 172.26.123.138, subnet: 255.255.0.0, destination: 172.26.123.1).
    > Committed PPP store on install command
    > L2TP port-mapping update for en4 ignored: VPN is the Primary interface. Public Address: 0, Protocol: None, Private Port: 0, Public Port: 0
    > L2TP clearing port-mapping for en4
    > Script /etc/ppp/ip-up finished (pid 15535), status = 0x0
    > l2tp_wait_input: Address deleted. previous interface setting (name: en4, address: 172.20.10.3), deleted interface setting (name: en4, family: Ether, address: 172.20.10.3, subnet: 255.255.255.240, destination: 172.20.10.15).
    > starting wait-interface timer for l2tp: 20 secs
    > write: Can't assign requested address
    > l2tp_wait_interface_timeout: 20 secs TIMEOUT waiting for interface to be reconfigured. previous setting (name: en4, address: 172.20.10.3).
    > L2TP has detected change in the network and lost connection with the server.
    

    这是能够正常连接 vpn 的电脑打出的日志

    rcvd [LCP EchoRep id=0x0 magic=0x96088355]
    rcvd [CHAP Success id=0x7e "Login OK, welcom!"]
    CHAP authentication succeeded: Login OK, welcom!
    sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
    sent [IPV6CP ConfReq id=0x1 <addr fe80::aebc:32ff:fed4:bf33>]
    rcvd [IPCP ConfReq id=0x1 <addr 172.26.123.1>]
    ipcp: returning Configure-ACK
    sent [IPCP ConfAck id=0x1 <addr 172.26.123.1>]
    rcvd [LCP ProtRej id=0x2 80 57 01 01 00 0e 01 0a ae bc 32 ff fe d4 bf 33]
    rcvd [IPCP ConfRej id=0x1 <ms-dns3 0.0.0.0>]
    sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0>]
    rcvd [IPCP ConfNak id=0x2 <addr 172.26.123.212> <ms-dns1 172.26.9.10>]
    sent [IPCP ConfReq id=0x3 <addr 172.26.123.212> <ms-dns1 172.26.9.10>]
    rcvd [IPCP ConfAck id=0x3 <addr 172.26.123.212> <ms-dns1 172.26.9.10>]
    ipcp: up
    local  IP address 172.26.123.212
    remote IP address 172.26.123.1
    primary   DNS address 172.26.9.10
    Received protocol dictionaries
    l2tp_wait_input: Address added. previous interface setting (name: en0, address: 192.168.1.106), current interface setting (name: ppp0, family: PPP, address: 172.26.123.212, subnet: 255.255.0.0, destination: 172.26.123.1).
    Committed PPP store on install command
    L2TP port-mapping update for en0 ignored: VPN is the Primary interface. Public Address: 0, Protocol: None, Private Port: 0, Public Port: 0
    L2TP clearing port-mapping for en0
        
    

    发现在我的日志中多执行了一个脚本

    Script /etc/ppp/ip-up 
    

    于是我

    head /etc/ppp/ip-up 
    
    #!/bin/sh
    # Generated on 2016-12-15 by VPNCloud
    # Copyright (C) 2016 VPNCloud. All rights reserved.
    # https://www.ytmac.com
    ......
    

    由此终于找到了元凶—— 前年我购买过云梯的服务,他们号称是智能路由,能够分流国内与国外的流量,而这个脚本就是他们用了实现流量分流的方法。简单来时就是:

    基本的思路是:把国内所有的已知IP段,全部都通过路由表的方式,强制其走本地默认网关,剩下的国外流量都走VPN。这个方法是实施起来相对最容易的,虽然不是最完美的(例如,如果没有被GFW的网络流量,我也希望通过本地网关的)。

    参考链接

    这个脚本导致将我的发向国内请求都被强制导流走本地的网关,换句话说就是没有通过 vpn ,导致自己一直没有办法连接到内网。

    解决办法

    至此,折磨了我一个月的问题终于解决了。

    sudo rm  /etc/ppp/ip*
    

    将这两个脚本删除,之后我终于能够正常访问公司的内网了。

    相关文章

      网友评论

          本文标题:mac vpn 连上无法连接到公司内网的错误排查

          本文链接:https://www.haomeiwen.com/subject/nkfyhftx.html