Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Aug 2021 00:50:45 +0200
From:      =?UTF-8?Q?Morgan_Wesstr=c3=b6m?= <freebsd-database@pp.dyndns.biz>
To:        freebsd-questions@freebsd.org
Subject:   Static route and arp problem in FreeBSD 13.0
Message-ID:  <7fab4cb0-8045-fc8d-7bfd-887495dc00ff@pp.dyndns.biz>

next in thread | raw e-mail | index | archive | help
Hi,

I have my stupid hat close, ready to put on because I've most likely missed 
something obvious and I need your help to point it out. :)

I've been using FreeBSD as my router/firewall for 15 years and it's a simple 
and straight setup:

                +--------------+                       +-------------+
                |              |                       |             |
LAN         em1| FreeBSD 12.2 |em0                    | Cable modem | Internet
---------------+              +-----------------------+             +---------
192.168.69.0/24|    router    |DHCP        192.168.0.1| bridge mode |
                |              |public ip              |             |
                +--------------+                       +-------------+

To access the cable modem's web interface, which has a private ip on the public 
facing side of the router, I add the following static route and arp entry in 
the router's /etc/rc.conf:

route_cable="-host 192.168.0.1 -link em0:d8:d7:75:f3:9b:14 -iface -static"
static_routes="cable"
static_arp_cable="192.168.0.1 d8:d7:75:f3:9b:14 pub only"
static_arp_pairs="cable"

The MAC address is the router facing interface on the cable modem. I can now 
access 192.168.0.1 from my LAN and this has worked perfectly for many years 
until I try it on FreeBSD 13.0.

The route/arp is not registered at startup and trying to add the route manually 
results in the following message:

# route add -host 192.168.0.1 -link em0:d8:d7:75:f3:9b:14 -iface -static
route: writing to routing socket: Network is unreachable
add host 192.168.0.1: gateway em0:d8:d7:75:f3:9b:14 fib 0: Network is unreachable

Adding the arp record doesn't work either but that was expected since it 
requires the route to be added first. The most likely scenario is that I missed 
something fundamental in my 13.0 setup but I can't figure out what and the 
error message isn't really helpful.
The less likely reason is that something changed between FreeBSD 12.2 and 13.0 
but I can't spot any changes in the man pages. Any pointers would be greatly 
appreciated.

Regards
Morgan Wesström



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7fab4cb0-8045-fc8d-7bfd-887495dc00ff>