Weird Routing Bug???
- January 9, 2015
- 5 replies
- 10388 views
OK,
So I have an Public Wireless interface (Port5: 192.168.16.1/20) that has all my public wireless traffic that is only allowed access to the Internet (Port1: 12.249.1.1). The DHCP Scope for Port5: is 192.168.16.2 - 192.168. 31.254.
Everything works great UNLESS DHCP assigns me an address in the 192.168.20.x range, then nothing works. If you look at my routing table you will see:

Now I didn't think much of this because the FW should always prefer a locally connected route over one learned via. a routing protocol (OSPF in this instance).
Though in my environment this is not the case. I tested this by hardcoding my machine to 192.168.20.125 and tried to ping 8.8.8.8 and did a packet capture on the FW (v5.0,build0128) I see that the traffic flows:
Client (192.168.20.125) ->
-> Port5 in (inside pub wireless 192.168.16.1)
-> Port1 out (outside Internet connection 12.249.1.1) -> Destination (8.8.8.8)
-> Port1 in (outside Internet connection 12.249.1.1)
-> Port14 OUT (inside corporate 10.176.16.2).
Pasted output:
C_FW (root) # diag sniffer packet any "host 8.8.8.8" 4
interfaces=[any]
filters=[host 8.8.8.8]
4.163172 port5 in 192.168.20.125 -> 8.8.8.8: icmp: echo request
4.163197 port1 out 12.249.1.1 -> 8.8.8.8: icmp: echo request (NAT)
4.179553 port1 in 8.8.8.8 -> 12.249.1.1: icmp: echo reply
4.179563 port14 out 8.8.8.8 -> 192.168.20.125: icmp: echo reply
8 packets received by filter
0 packets dropped by kernel
(I think) this IS WRONG; shouldn't it prefer the locally connected route (Port5 192.168.16.1) over the OSPF learned route (10.176.16.2)??????
Thanks,
Tim Pfannes