FreeBSD 上 rc.conf 中的“route add default -iface em1”

pop*_*tea 5 networking freebsd routing

我的 FreeBSD 服务器上有两个 NIC,它们的设置如下rc.conf

ifconfig_em0="10.0.0.1    netmask 255.255.255.0"        # LAN NIC
ifconfig_em1="DHCP"                                     # WAN NIC
Run Code Online (Sandbox Code Playgroud)

此设置不提供任何默认路由,仅(假设123.123.123.123是 的 WAN IP em1):

10.0.0.0/24         ---> em0
123.123.123.123/32  ---> em1
Run Code Online (Sandbox Code Playgroud)

当我尝试 ping WAN IP 时8.8.8.8,我得到No route to host. (为什么?123.123.123.123/32意思与 几乎不一样default?)无论如何,我可以运行add route default -iface em1,然后 WAN IP 被定向通过em1,正如它们应该的那样。


如何使接口成为系统em1的默认重启持久路由?即,我怎么能说add route default -iface em1in rc.conf (我必须使路由特定于接口而不是特定于接口的 IP,因为 em1 的 IP 是由我的 ISP 动态提供的。)


我尝试了以下但没有成功:

static_routes="mydefault"
route_mydefault="default -iface em1"
Run Code Online (Sandbox Code Playgroud)

defaultrouter="-iface em1"
Run Code Online (Sandbox Code Playgroud)

vor*_*aq7 3

啊——完全重写了,因为我读错了这个问题!

听起来您的路线可能不会出现,因为em1当 rc 脚本设置默认路由器时,您的路线还没有准备好。您可以使用defaultroute_delayrc.conf 中的选项让系统在启动默认路由之前等待一段时间。

另外,就像 @arved 所说,您可能想确保您的 ISP 在其 DHCP 租约中发送路由器信息 - 如果您想使用他们的网关,他们应该指定一个,否则您将只能访问他们的子网上的设备指定。