Not getting traffic as per route table macOS.

Hi,

We have two VPN tunnels in macOS devices.

when we started third-party VPN, it acquired almost all the traffic from the device in utun5. (this VPN is written in utun socket (BoringTun))

162.156.0.3/32   utun5       Uc       utun5    

When starting our VPN, which has the included route as 162.156.0.3/32 and it acquires the traffic. (this VPN is written in NetworkExtension PackettunnelProvider, )

162.156.0.3/32   link#28      UCS       utun6

But we are not getting this traffic in utun6. even though both utun6 and utun5 are not getting this traffic, we are not sure where exactly this traffic is going.

Ideally, it should go via utun6 as per the route table.

Is there a way we can identify where that traffic is going?

Below is our understanding while multiple VPNs exist. (Both VPN1 and VPN2 are using systemExtension with PacketTunnelProvider)

VPN1 = Full tunnel

VPN2 = Full tunnel

In this case, only one VPN tunnel will exist, and whoever created it last gets precedence.

VPN1 = Full tunnel

VPN2 = Split tunnel => includeRoutes: 23.45.12.83

In this case, observed that two tunnels have been created and VPN2 tunnel will get the traffic from 23.45.12.83, and the rest traffic goes via the  VPN1 tunnel.

VPN1 = Split tunnel => includeRoutes: 23.45.12.83

VPN2 = Full tunnel

In this case, two VPN tunnel has been created and  
VPN1 gets 23.45.12.83 traffic and the rest will go via VPN2

VPN1 = Split tunnel => includeRoutes: 23.45.12.84

VPN2 = Split tunnel => includeRoutes: 23.45.12.84

This is the case where the same IP traffic is configured in both VPNs. Observed that two VPN tunnels have been created but 23.45.12.84 IP traffic was claimed by the tunnel which is created first.

Is there any difference between utun socket and Packettunnel while acquiring the traffic?

Not getting traffic as per route table macOS.
 
 
Q