Ok, I'll open a report. When I say I checked every combination I do mean every combination, even ones that didn't make sense. I would have expected the behavior you described. This is the log from enforceRoutes YES, includeAllNetworks NO, excludedRoutes set (pruned a bit because it was pretty verbose):
# Protocol properties seen by the extension:
#
[Jun 1, 2023 at 3:57:58 PM PDT] <Debug>: Protocol Properties:
. . .
includeAllNetworks = NO
excludeLocalNetworks = NO
excludeCellularServices = YES
excludeAPNs = YES
enforceRoutes = YES
. . .
# Network settings we're passing to setTunnelNetworkSettings:completionHandler:
#
[Jun 1, 2023 at 3:57:59 PM PDT] <Debug>: setting NEPacketTunnelNetworkSettings:
{
tunnelRemoteAddress = 10.200.1.200
DNSSettings = {
protocol = cleartext
server = (
172.16.1.1,
)
matchDomainsNoSearch = NO
}
proxySettings = {
autoProxyDiscovery = NO
autoProxyConfigurationEnabled = NO
HTTPEnabled = NO
HTTPSEnabled = NO
FTPEnabled = NO
SOCKSEnabled = NO
RTSPEnabled = NO
gopherEnabled = NO
excludeSimpleHostnames = NO
usePassiveFTP = YES
}
IPv4Settings = {
configMethod = manual
addresses = (
172.16.1.1,
)
subnetMasks = (
255.255.255.255,
)
includedRoutes = (
{
destinationAddress = 0.0.0.0
destinationSubnetMask = 0.0.0.0
},
)
excludedRoutes = (
{
destinationAddress = 10.10.0.0
destinationSubnetMask = 255.255.255.0
},
)
overridePrimary = NO
}
}
# And here we have the message printed when we receive a SYN packet for a destination. This
# should never be seen for excluded routes
#
[Jun 1, 2023 at 3:58:11 PM PDT] <Debug>: Trying to establish TCP tunnel to server 10.10.0.2:443...
Topic:
App & System Services
SubTopic:
Networking
Tags: