I have set up BGP to do some custom routing for a subset of addresses in the range 192.168.1.0/24.
I have verified that the BGP is working by testing ping/curl on a different host in a different subnet (in the 192.168.2.0/24 range), so I think that the routing configuration is working correctly. I have also verified that the IP is accessible from pfsense.
However, pings and curls fail with a
no route to host message when attempting to hit an IP from a host in the same subnet.
curl -v http://192.168.1.11 * Rebuilt URL to: http://192.168.1.11/ * Trying 192.168.1.11... * connect to 192.168.1.11 port 80 failed: No route to host * Failed to connect to 192.168.1.11 port 80: No route to host * Closing connection 0 curl: (7) Failed to connect to 192.168.1.11 port 80: No route to host
Arp is showing
(incomplete) for the IP being routed to, which I though was strange but maybe is normal?
arp -n Address HWtype HWaddress Flags Mask Iface 192.168.1.1 ether 40:62:31:00:52:40 C eth0 ... 192.168.1.11 (incomplete) eth0
Here's the routes for a host in the subnet.
ip route default via 192.168.1.1 dev eth0 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 172.18.0.0/16 dev br-f1b94ce4ec9c proto kernel scope link src 172.18.0.1 linkdown 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.154
I stumbled across a post that I thought was describing my situation, where IP redirect was causing the hosts not to use the route, but after updating the
net.inet6.ip6.redirect values (and rebooting pfsense) I am still left with the same problem. Is there some way to force IPs in the same subnet to use the correct route?
Edit: Updated with network topology