1

I have a Macbook Big Sur 11.5.2 and I’ve spent now quite some on this particular issue but I cannot figure it out. I need some help from people that are more expert than me on the matter.

Background information

Where I’m currently living right now in a apartment complex there is a central internet network that I do not have access to these devices(Ubiquity). Lately I’ve been working a lot from home and sometimes I need to connect through VPN to clients networks to provide support. Most of the client’s VPN work fine from home except one. When I try to connect it basically times out. If I use my phone as a hotspot this VPN works perfect without any single issue at all. I tried at several other locations (outside my home network) and it works as expected.

The current situation

What I’m using to connect to this VPN is the Mac OS built-in VPN client. The VPN Type is Cisco IPSEC. So my work around to this problem was to tunnel this VPN over my wireguard VPN (wg) that I have installed outside this network. This wg tunnel works as expected. In order to check that the traffic is being routed properly I use wireshark to monitor and ofcourse I checked the mac os routing table (with netstat -nr). So when I connect to my wg I can see that the traffic easily tunnels through the wg.

The problem

When I try to connect Mac OS Built-in Cisco IPSEC VPN client instead of passing the traffic through the wg tunnel(utunX) it passes it through the regular WiFi interface(EN0). No matter what I tried it couldn’t get the traffic to pass through the tunnel. I added routes to the routing table (0.0.0.0/1 and 128.0.0.0/1) to pass make sure that all traffic passes there but the vpn client would not route through it. I tried to change the networkservice order and that did not help either.

Something noteworthy I noticed when I run a commercial VPN (that I own) and start the mac os built-in VPN client it does pass through the commercial VPN tunnel. I tried to mimic what I was seeing in the routing table from the commercial VPN but without success. But this shows that it is possible to route the client through a tunnel.

A snippet of routing table without wg:

Internet:
Destination        Gateway            Flags        Netif Expire
default            10.20.30.1         UGScg          en0
10.20.30/24        link#5             UCS            en0      !
10.20.30.1/32      link#5             UCS            en0      !
10.20.30.1         fc:ec:da:43:97:e5  UHLWIir        en0   1194

A snippet of the routing table WITH wg ON:

Internet:
Destination        Gateway            Flags        Netif Expire
default            link#14            UCSg         utun2
default            10.20.30.1         UGScIg         en0
1.1.1.1            link#14            UHW3Ig       utun2     36
9.9.9.9            link#14            UHWIig       utun2
10.6/24            10.6.0.2           UGSc         utun2
10.6.0.2           10.6.0.2           UH           utun2
10.20.30/24        link#5             UCS            en0      !
10.20.30.1/32      link#5             UCS            en0      !

A snippet of the routing table with Commercial VPN:

Destination        Gateway            Flags        Netif Expire
0/1                10.158.0.5         UGcg         utun2
default            10.20.30.1         UGScg          en0
default            10.20.30.1         UGScIg         en0
10                 10.20.30.1         UGSc           en0
10.20.30/24        link#5             UCS            en0      !
10.20.30.1/32      link#5             UCS            en0      !

I couldn’t figure out on the commercial vpn why there are same default destination (10.20.30.1) with different flags. I could not add a second default like that (or better said I don’t know how).

What else can I do (or what information should I provide here) for you guys to help me solve the problem?

Adwen
  • 41
  • 3

0 Answers0