netbirdio / netbird

Connect your devices into a secure WireGuard®-based overlay network with SSO, MFA and granular access controls.
https://netbird.io
BSD 3-Clause "New" or "Revised" License
11.24k stars 517 forks source link

iOS client cannot connect to remote peers when on WiFi, MacOS client can't ping local resources. #2929

Open partytimeexcellent opened 14 hours ago

partytimeexcellent commented 14 hours ago

Describe the problem I installed self hosted instance and setup additional peers in two off-site locations. On my MacBook, from my home location that hosts the server, I can connect to any peer, (local or remote) and the remote network routes at those locations (but strangely, when connected to NetBird, I can no longer ping local non-peer resources). On the iOS client, I can connect to all peers only when on a mobile connection. If I'm connected to the local wifi, I can only reach the local peers, not the remote peers.

Summary: iOS local Wifi: connected to local peers only, can ping local resources, can't ping remote resources. iOS mobile data: connected to all peers, can ping all local or remote resources. MacOS local wifi: connected to all peers, can ping remote resources, can't ping local non-peer resources.

EDIT: I found that the problem of not being able to ping the local resources only happens when I have a network route enabled for this LAN. I set up a network route on a peer at each of my physical locations, so that when I am off premises, I can work with any resources at any location, but it seems this doesn't work, or it needs further configuration.

I also see that for all my peers on the local LAN, the public IP-address is listed as the internal address of my router. I'm sure this must be related:

Screenshot 2024-11-21 at 5 47 57 PM

To Reproduce I have tried killing and restating the iOS app several times.

Steps to reproduce the behavior: Click connect on app. Wait for peers to connect.

Expected behavior Expected to connect to all available peers.

Are you using NetBird Cloud? Self-hosted

NetBird version

0.32.0, iOS 17

NetBird status -dA output:

If applicable, add the `netbird status -dA' command output.

Do you face any (non-mobile) client issues?

As mentioned above,

when using my MacOS laptop on the local network and connected to Netbird, I cannot visit or ping a local address such as 192.168.1.200:5000, but I can ping remote resources.

I tested the Turn server as suggested in troubleshooting and can see the srflx and relay servers.

Please provide the file created by netbird debug for 1m -AS. Debug from the iOS app:

netbird-log.txt

Screenshot of the disconnected remote peers: Screenshot 2024-11-21 at 6 01 05 PM

Are these ports set correctly?

Screenshot 2024-11-21 at 2 47 59 PM

Port forwarding:

Screenshot 2024-11-21 at 3 11 16 PM

Here are my attempts to ping local resources on the LAN. The top half is with the Network Route for this LAN turned off and the bottom half is when the Network Route is turned on.

Screenshot 2024-11-21 at 5 52 44 PM