![FreeBSD 上的 rc.conf 中的“route add default -iface em1”](https://linux22.com/image/574491/FreeBSD%20%E4%B8%8A%E7%9A%84%20rc.conf%20%E4%B8%AD%E7%9A%84%E2%80%9Croute%20add%20default%20-iface%20em1%E2%80%9D.png)
我的 FreeBSD 服务器上有两个 NIC,设置如下rc.conf
:
ifconfig_em0="10.0.0.1 netmask 255.255.255.0" # LAN NIC
ifconfig_em1="DHCP" # WAN NIC
此设置不提供任何默认路由,仅(假设123.123.123.123
是的 WAN IP em1
):
10.0.0.0/24 ---> em0
123.123.123.123/32 ---> em1
当我尝试 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 em1
表示rc.conf
? (我必须使路由特定于接口而不是特定于接口的 IP,因为 em1 的 IP 是由我的 ISP 动态提供的。)
我尝试了以下操作但没有成功:
static_routes="mydefault"
route_mydefault="default -iface em1"
和
defaultrouter="-iface em1"
答案1
啊——完全重写了,因为我误读了这个问题!
听起来您的路由可能没有启动,因为em1
当 rc 脚本去设置默认路由器时,路由还没有启动并准备就绪。您可以使用defaultroute_delay
rc.conf 中的选项让系统等待一段时间,然后再启动默认路由。
另外,就像 @arved 说的,你可能需要确保你的 ISP 在他们的 DHCP 租约中发送路由器信息——如果你想使用他们的网关,他们应该指定一个,否则您将只能访问他们指定的子网上的设备。