Weird (to me) networking issue - can you help?
I have two subnets and am experiencing some pretty weird (to me) behaviour - could you help me understand what’s going on?
Scenario 1
<span style="color:#323232;">PC: 192.168.11.101/24
</span><span style="color:#323232;">Server: 192.168.10.102/24, 192.168.11.102/24
</span>
From my PC I can connect to .11.102, but not to .10.102:
<span style="color:#323232;">ping -c 10 192.168.11.102 </span><span style="font-style:italic;color:#969896;"># works fine
</span><span style="color:#323232;">ping -c 10 192.168.10.102 </span><span style="font-style:italic;color:#969896;"># 100% packet loss
</span>
Scenario 2
Now, if I disable .11.102 on the server (ip link set <dev> down
) so that it only has an ip on the .10 subnet, the previously failing ping works fine.
<span style="color:#323232;">PC: 192.168.11.101/24
</span><span style="color:#323232;">Server: 192.168.10.102/24
</span>
From my PC:
<span style="color:#323232;">ping -c 10 192.168.10.102 </span><span style="font-style:italic;color:#969896;"># now works fine
</span>
This is baffling to me… any idea why it might be?
Here’s some additional information:
- The two subnets are on different vlans (.10/24 is untagged and .11/24 is tagged 11).
- The PC and Server are connected to the same managed switch, which however does nothing “strange” (it just leaves tags as they are on all ports).
- The router is connected to the aformentioned switch and set to forward packets between the two subnets (I’m pretty sure how I’ve configured it so, plus IIUC the second scenario ping wouldn’t work without forwarding).
- The router also has the same vlan setup, and I can ping both .10.1 and .11.1 with no issue in both scenarios 1 and 2.
- In case it may matter, machine 1 has the following routes, setup by networkmanager from dhcp:
<span style="color:#323232;">default via 192.168.11.1 dev eth1 proto dhcp src 192.168.11.101 metric 410
</span><span style="color:#323232;">192.168.11.0/24 dev eth1 proto kernel scope link src 192.168.11.101 metric 410
</span>
- In case it may matter, Machine 2 uses systemd-networkd and the routes generated from DHCP are slightly different (after dropping the .11.102 address for scenario 2, of course the relevant routes disappear):
<span style="color:#323232;">default via 192.168.10.1 dev eth0 proto dhcp src 192.168.10.102 metric 100
</span><span style="color:#323232;">192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.102 metric 100
</span><span style="color:#323232;">192.168.10.1 dev eth0 proto dhcp scope link src 192.168.10.102 metric 100
</span><span style="color:#323232;">default via 192.168.11.1 dev eth1 proto dhcp src 192.168.11.102 metric 101
</span><span style="color:#323232;">192.168.11.0/24 dev eth1 proto kernel scope link src 192.168.11.102 metric 101
</span><span style="color:#323232;">192.168.11.1 dev eth1 proto dhcp scope link src 192.168.11.102 metric 101
</span>