Why does it think 9.9.9.9 is local?

I have a backup link via my neighbor's wifi (with his permission, certainly).

I hook it up via an old TP-Link 890EA. It's basically a wifi extender. On reset, it creates its own 192.168.2.0/24 network and goes into setup. You connect to it via wifi or ethernet (4 ports), then select a wifi network to connect to. It connects, then stops acting like an independent device, and just transmits all your requests onward. So DHCP is done via the network it's connected to. E.g., the first time I connect to it, I'm issued an address 192.168.2.210, then, after I complete setup, I'm already connected to the neighbor's network and get an address in his address space, e.g., 192.168.1.159. So far, so good.

Since the neighbor's wifi signal isn't great around my main OpenWRT router, I put my 890EA in a different room and hooked it up via VLAN=21. So, for OpenWRT, it's a device eth2.21. OpenWRT sees it, connects, and receives an IP address from my neighbor's network, I can ping and connect to his devices:

route:
192.168.1.0/24 dev eth2.21 proto kernel scope link src 192.168.1.159

interface:
168: eth2.21@eth2: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b6:a5:bb:72:f6:6b brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.159/24 brd 192.168.1.255 scope global eth2.21
       valid_lft forever preferred_lft forever

config:

config device
	option name 'eth2.21'
	option type '8021q'
	option ifname 'eth2'
	option vid '21'
	option ipv6 '0'
	option multicast '0'
...
config interface 'wan_mark'
	option ipv6 '0'
	option device 'eth2.21'
	option proto 'dhcp'
	option defaultroute '0'

It's in the wan firewall zone.

...and then nothing happens.

I ran tcpdump+wireshark on eth2.21, fire up ping -I eth2.21 9.9.9.9 and here's what I see:

50	213.161974	b6:a5:bb:72:f6:6b	Broadcast	ARP	42	Who has 9.9.9.9? Tell 192.168.1.159

and it goes on and on.

Question: WTF does it think 9.9.9.9 is a local address and query ARP?!

Don't know why it's doing ARP queries for 9.9.9.9, but if your neighbour's address space is 192.168.1.0/24 (and OpenWRT gets an address in that subnet on its WAN interface), then it'll conflict directly with OpenWRT's LAN interface which is also on 192.168.1.0/24.

If you can't persuade your neighbour to change his IP addressing, you should consider changing yours.

Because of this :point_down:

There is no default gateway set for this interface, but you insist on using it to access an address outside the subnet.

Delete this option and set a metric.

4 Likes

ugh, no :slight_smile: I have many address spaces, and none of them is 192.168.1.0/24 :slight_smile:

1 Like

That worked! I set metric=10 (default g/w was on) for ISP, metric=21 + default g/w for my neighbor and it worked.

Thank you!

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.