If I run Pulse secure (or Junos Pulse) on my iOS device, this breaks functionality of TCP socket in background. I mean if application is in background it can't be woken up by incoming data if VPN client is running.
As a workaround I shared internet connection from my Mac via ad-hock Wi-Fi which was running VPN client to my iOS device. In such case iOS device was not running VPN client and TCP sockets was working when application was in background.
When I had OS X 10.10 it was working Ok, but after an upgrade to OS X 10.11 internet connection is shared but without network hidden behind a VPN connection.
In configuration file:
/Library/Preferences/SystemConfiguration/com.apple.nat.plist I can see that internet connection is shared from network device en0 to en1.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>NAT</key> <dict> <key>AirPort</key> <dict> <key>40BitEncrypt</key> <integer>1</integer> <key>Channel</key> <integer>0</integer> <key>Enabled</key> <integer>0</integer> <key>NetworkName</key> <string>MyAdhockNetwork</string> <key>NetworkPassword</key> <data> </data> </dict> <key>Enabled</key> <integer>1</integer> <key>NatPortMapDisabled</key> <false/> <key>PrimaryInterface</key> <dict> <key>Device</key> <string>en0</string> <key>Enabled</key> <integer>0</integer> <key>HardwareKey</key> <string></string> <key>PrimaryUserReadable</key> <string>Ethernet</string> </dict> <key>PrimaryService</key> <string>AFFBAE8A-79CE-4710-9772-F0E8750F9292</string> <key>SharingDevices</key> <array> <string>en1</string> </array> </dict> </dict> </plist>
Changing this setting from en0 to utun0 (network device introduced by VPN client) didn't solve the problem: service is unable to start.
In "Settings/Sharing" it is impossible to configure internet sharing so utun0 would be used since combo box "Share your connection from:" doesn't have an entry which could match this device.
Any thoughts how can I solve one of the above problems? The main aim is to restore ability to receive data by application in background (it has SIP capabilities).