Open Bug 1621362 Opened 5 years ago Updated 2 years ago

WebRTC - mDNS is being used for browser on WAN IP

Categories

(Core :: WebRTC: Networking, enhancement, P3)

74 Branch
enhancement

Tracking

()

People

(Reporter: ericpires9, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached image anonymize_local_ip.png (deleted) —

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

Steps to reproduce:

  1. Connect to the Internet directly with a public IP (no NAT)
  2. Make sure you have Firefox 74 installed.
  3. Open the Trickle ICE sample in Firefox: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
  4. Click "Gather candidates"

Actual results:

It only displays mDNS entries (xxx.local) for each IP, making the peer effectively unreachable in WANs.

Expected results:

It should show the public IP as a candidate.

For context:

I have faced the same issue with Chrome/Chromium when they enabled mDNS for WebRTC. See the (as of now) open issue here: https://bugs.chromium.org/p/chromium/issues/detail?id=1024320 I was anticipating Firefox to also break once this was implemented.

Previously, we noted that this change (on both browsers) has broken our web application for certain machines that are not behind NAT. These are computers that return no candidates from ICE-STUN since they are available for WAN connections. And since these IPs are being translated to mDNS every time (unless every public user manually changes the option in their browser, which is un-doable), there's no way to resolve them over the web, with multiple networks involved.

Having no public IPs but just mDNS means that WebRTC cannot be used at all if I'm connecting to a computer outside of my local network.

The other issue also goes over difficulties with identifying local IP ranges and handling an empty STUN response.

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → WebRTC: Networking
Product: Firefox → Core

Dan, would you mind having a first pass at this?

Flags: needinfo?(dminor)

I think for now we would plan on watching the chromium issue to see how they resolve this.

Blocks: 1544770
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(dminor)
Priority: -- → P3

Yeah this looks like a problem. But the only solution which comes to my mind right now would be to stop doing mDNS for these machines. Which then exposes them to IP address harvesting again. I'm not 100% sure what should weigh more in this case.

Depends on: 1624017
Depends on: 1624014
No longer depends on: 1624017
No longer depends on: 1624014
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: