WebRTC with Linux and VPN woes

Alwyn Kik

Context

I had this weird issue with Teams where, if I was connected to the work VPN and joined a call, my entire network stack would stop working. Whenever joining a call, I had to disable the VPN, join it, then re-enable the VPN and it would work fine.

If I had the problem, the only fix was to disconnect any and all network connections (not just the VPN!) and then re-enable.

After a bit I found out it only happens at the office. A bit later I figured out it only happens when connected over WiFi. Wired this problem did not occur.

Troubleshooting was difficult at first, as networking isn't my strongest suite.

I had my VPN configured to only tunnel traffic that was actually directed at work networks; other traffic would go outside of it.

Fixes

For all applications:

sudo firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -s 10.8.0.0/16 ! -o tun0 -p udp -j DROP

For Teams only, edit/add ~/.config/teams-for-linux/config.json

{
  "network": {
    "WebRtcIPHandlingPolicy": "disable_non_proxied_udp"
  }
}