After installing Endpoint Protection (SEP) or Endpoint Security, Mac systems lose network connectivity once the Symantec Network Security filter is enabled. Withdrawing the firewall and IPS policies does not resolve the issue. Only disabling the SEP Network Filter restores network connectivity.
The issue is caused by a hidden limitation in macOS’s Network Extension Packet Filter API, which is used behind Endpoint Protection's firewall. When there are more than a certain number of network interfaces (both physical, for example an Ethernet adapter, or virtual, for example a VPN adapter), it may result in the device network being blocked when the Packet Filter is enabled.
The issue is pre-existing on older Mac hardware models (for example the models with an Intel CPU) as well. However, because they have fewer built-in network interfaces, it is uncommon for these systems to run into this issue unless additional hardware or virtual network interfaces are installed.
This is currently a limitation within MacOS.
Apple increased the network interface limit from 12 to 16 with the release of MacOS 12.4. This resolves the issue for most Mac models. This can still be an issue with a few newer Mac models.
Apple increased the network interface limit to 32 in macOS 13.
Customers should upgrade to macOS 13 to take advantage of Apple's improvement. If there is still an issue, then open a case with Apple for further investigation.
As a workaround, you can set any unused network interface (Wifi, USB, Thunderbolt, etc) to a down state using ifconfig. However, note that doing this is not a permanent solution as this change will not persist through a reboot. Also note that you may need to disable multiple unused interfaces before network connectivity is restored.
On Mac M1 hardware, there are often multiple thunderbolt connections which are enabled as network interfaces by default. To see a list of hardware interfaces, you can run the following command:
networksetup -listallhardwareports
Hardware Port: Ethernet
Device: en0
Ethernet Address: <MAC Address>
Hardware Port: Ethernet Adapter (en6)
Device: en6
Ethernet Address: <MAC Address>
Hardware Port: Ethernet Adapter (en7)
Device: en7
Ethernet Address: <MAC Address>
Hardware Port: Ethernet Adapter (en8)
Device: en8
Ethernet Address: <MAC Address>
Hardware Port: Ethernet Adapter (en9)
Device: en9
Ethernet Address: <MAC Address>
Hardware Port: Wi-Fi
Device: en1
Ethernet Address: <MAC Address>
Hardware Port: Thunderbolt 1
Device: en2
Ethernet Address: <MAC Address>
Hardware Port: Thunderbolt 2
Device: en3
Ethernet Address: <MAC Address>
Hardware Port: Thunderbolt 3
Device: en4
Ethernet Address: <MAC Address>
Hardware Port: Thunderbolt 4
Device: en5
Ethernet Address: <MAC Address>
Hardware Port: Thunderbolt Bridge
Device: bridge0
Ethernet Address: <MAC Address>
In the above example, you can use the following commands to disable the thunderbolt interfaces.
ifconfig en2 down
ifconfig en3 down
ifconfig en4 down
ifconfig en5 down
For a full list of both virtual and physical interfaces, you can run ifconfig:
apl1105:~ root# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
inet 127.0.0.1 netmask 0xff000000
inet6 <IPv6 Address> prefixlen 128
inet6 <IPv6 Address> prefixlen 64 scopeid 0x1
nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
anpi1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether <MAC Address>
inet6 <IPv6 Address> prefixlen 64 scopeid 0x4
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
anpi2: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether <MAC Address>
inet6 <IPv6 Address> prefixlen 64 scopeid 0x5
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
anpi3: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether <MAC Address>
inet6 <IPv6 Address> prefixlen 64 scopeid 0x6
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
anpi0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether <MAC Address>
inet6 <IPv6 Address> prefixlen 64 scopeid 0x7
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
en6: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether <MAC Address>
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
en7: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether <MAC Address>
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
en8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether <MAC Address>
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
en9: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether <MAC Address>
nd6 options=201<PERFORMNUD,DAD>
media: none
status: inactive
en2: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether <MAC Address>
media: autoselect <full-duplex>
status: inactive
en3: flags=8922<BROADCAST,SMART,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether <MAC Address>
media: autoselect <full-duplex>
status: inactive
en4: flags=8922<BROADCAST,SMART,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether <MAC Address>
media: autoselect <full-duplex>
status: inactive
en5: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=460<TSO4,TSO6,CHANNEL_IO>
ether <MAC Address>
media: autoselect <full-duplex>
status: inactive
ap1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether be:<MAC Address>
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: inactive
en1: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether <MAC Address>
media: autoselect
status: inactive
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
options=400<CHANNEL_IO>
ether <MAC Address>
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: inactive
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 9000
options=467<RXCSUM,TXCSUM,VLAN_MTU,TSO4,TSO6,CHANNEL_IO>
ether <MAC Address>
inet6 <IPv6 Address> prefixlen 64 secured scopeid 0x13
inet <IP Address> netmask 0xffffffc0 broadcast <IP Address>
nd6 options=201<PERFORMNUD,DAD>
media: 10Gbase-T <full-duplex>
status: active
bridge0: flags=8822<BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
options=63<RXCSUM,TXCSUM,TSO4,TSO6>
ether <MAC Address>
Configuration:
id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
ipfilter disabled flags 0x0
member: en3 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 13 priority 0 path cost 0
member: en4 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 14 priority 0 path cost 0
member: en5 flags=3<LEARNING,DISCOVER>
ifmaxaddr 0 port 15 priority 0 path cost 0
media: <unknown type>
status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 <IPv6 Address> prefixlen 64 scopeid 0x15
nd6 options=201<PERFORMNUD,DAD>
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
inet6 <IPv6 Address> prefixlen 64 scopeid 0x16
nd6 options=201<PERFORMNUD,DAD>
utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1000
inet6 <IPv6 Address> prefixlen 64 scopeid 0x17
nd6 options=201<PERFORMNUD,DAD>
FB9973238
CRE-9281
CRE-9947