[GH-ISSUE #4841] Network allows access to routing peer, but not adjacent devices #9920

Closed
opened 2026-08-05 01:23:58 -04:00 by saavagebueno · 0 comments
Owner

Originally created by @ninjack-dev on GitHub (Nov 21, 2025).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/4841

I wanted to set up network to access my homelab by following this official guide; the only fundamental difference is that my groups/policies were more general, since I currently only have 3 devices in the mesh. The LAN subnet is 192.168.2.0/24, which I used in the network resource.

When using the network, the routing peer (192.168.2.3) was accessible and responds to ping and ssh requests from my laptop, but other known devices on the network, like 192.168.2.60 (my desktop, currently not a client), are inaccessible. I can ssh into the routing peer and access subnet resources from there, but this isn't necessarily what I want.

As a troubleshooting step, I ran and got the following:
On laptop:

$ ping 192.168.2.60

In routing peer via SSH:

$ sudo tcpdump -ni any host 192.168.2.60 
18:43:40.168683 wt0   In  IP 100.64.108.105 > 192.168.2.60: ICMP echo request, id 47, seq 1, length 64
18:43:40.168739 enp3s0f0 Out IP 100.64.108.105 > 192.168.2.60: ICMP echo request, id 47, seq 1, length 64

And I receive no results on the laptop. The route seems accessible; it just doesn't receive any response. Masquerade is enabled for the routing peer, but it seems that something's still not being routed correctly. Any advice is appreciated; I'm happy to post more details at request.

Some notable details:

  • The routing peer is the same device which is hosting the Netbird server/relay, as well as Traefik and Authentik, all managed in separate Docker Compose projects
  • I attempted to target the desktop IP directly, but this also failed (likely obvious)
  • Routing peer/server is NixOS with Docker; I have made no manual changes to the routing rules there, nor in my gateway.

EDIT:
After some digging (which I should have done to begin with), I found that the masquerade rule which should be set was never actually created. Following #2349, I manually added the rule:

sudo iptables -t nat -A POSTROUTING -o enp3s0f0 -d 192.168.2.0/24 -j MASQUERADE

It's unclear to me exactly why this failed; the problem outlined by #2349 doesn't seem relevant to my setup. If I can determine the root cause (it may be a problem with the Netbird NixOS module), then I will open a new issue pertaining to that problem. Closing for now.

Originally created by @ninjack-dev on GitHub (Nov 21, 2025). Original GitHub issue: https://github.com/netbirdio/netbird/issues/4841 I wanted to set up network to access my homelab by following [this official guide](https://docs.netbird.io/how-to/access-home-network); the only fundamental difference is that my groups/policies were more general, since I currently only have 3 devices in the mesh. The LAN subnet is `192.168.2.0/24`, which I used in the network resource. When using the network, the routing peer (`192.168.2.3`) was accessible and responds to `ping` and `ssh` requests from my laptop, but other known devices on the network, like `192.168.2.60` (my desktop, currently not a client), are inaccessible. I can `ssh` into the routing peer and access subnet resources from there, but this isn't necessarily what I want. As a troubleshooting step, I ran and got the following: On laptop: ``` $ ping 192.168.2.60 ``` In routing peer via SSH: ``` $ sudo tcpdump -ni any host 192.168.2.60 18:43:40.168683 wt0 In IP 100.64.108.105 > 192.168.2.60: ICMP echo request, id 47, seq 1, length 64 18:43:40.168739 enp3s0f0 Out IP 100.64.108.105 > 192.168.2.60: ICMP echo request, id 47, seq 1, length 64 ``` And I receive no results on the laptop. The route seems accessible; it just doesn't receive any response. Masquerade is enabled for the routing peer, but it seems that something's still not being routed correctly. Any advice is appreciated; I'm happy to post more details at request. Some notable details: - The routing peer is the same device which is hosting the Netbird server/relay, as well as Traefik and Authentik, all managed in separate Docker Compose projects - I attempted to target the desktop IP directly, but this also failed (likely obvious) - Routing peer/server is NixOS with Docker; I have made no manual changes to the routing rules there, nor in my gateway. **EDIT**: After some digging (which I should have done to begin with), I found that the masquerade rule which should be set was never actually created. Following #2349, I manually added the rule: ```sh sudo iptables -t nat -A POSTROUTING -o enp3s0f0 -d 192.168.2.0/24 -j MASQUERADE ``` It's unclear to me exactly why this failed; the problem outlined by #2349 doesn't seem relevant to my setup. If I can determine the root cause (it may be a problem with the Netbird NixOS module), then I will open a new issue pertaining to that problem. Closing for now.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#9920