我正在运行 FreeBSD 8.1 并配置静态路由。路线命令将网关设置为链接#1而不是 IP 地址?
我试过了route add default link#1
,但 FreeBSD 不支持。使用 Cisco IOS,可以通过以下方式路由到下一跳网关:路由。例如,Cisco IOS 将采用ip route 172.16.2.0 255.255.255.0 Serial 0/0
。执行相同操作的等效 UNIX 命令是什么?
我静态配置了 netif em0
,172.16.1.102
我的 FreeBSD 实例的状态恰好显示一次 link#1,如下所示。
Destination Gateway
...
localhost link#3 UH ... lo0
172.16.1.0 link#1 U ... em0
...
答案1
你需要停下来,从机器前退 10 步,阅读 FreeBSD 手册中有关网络的部分(特别是网关和路线部分)。
。。。继续吧,当你完成后这个答案仍然会在这里。。。。
你读了吗?很好。
现在你明白你要求做的事毫无意义了,对吧?
FreeBSD 通常以两种方式处理路由:
我通过 NIC(接口、链路)直接连接到该网络
系统知道这一点,因为当您配置接口时,您会提供 IP 地址和网络掩码。通过该组合指定的子网上的任何机器都可以通过该链接访问。我可以通过具有特定 IP 地址的网关机器访问该网络
系统知道这一点,因为您配置了到特定目的地(单个地址、子网或任何未另行指定的目的地的“默认”路由)的路由,并告诉它哪台机器(地址)将成为网关,它应该将流量发送到该网关以到达该目的地。
这隐含的意思是,您必须能够到达此网关(通过上面 (1) 中的链接或通过另一个网关)。
您无法将其配置link
为网关 - 这样做没有意义,因为当您配置接口时,任何可通过特定链接访问的网络都会自动为您配置。
你能做其他事情(比如简单地将流量喷到串行线路上),这些都是手册中记录如果你确实处于需要这样做的罕见情况之一,但你却没有表明你处于这种情况。
答案2
实际上,您只能在具有点对点接口的 Cisco 上添加“接口”路由,而不能添加像快速以太网这样的多路访问路由。
因此,要在思科上使用以太网创建默认路由,您应该使用如下“下一跳”地址:
ip 路由 0.0.0.0 0.0.0.0 快速以太网0/0 172.16.2.1
BSD 盒子也是一样。但是如果你只想用 FBSD 添加网络路由“ip route 172.16.2.0 255.255.255.0 Serial 0/0”,你可以做一些事情:
路由添加 172.16.2.0/24 -iface em0
答案3
你知道,我添加了第二个接口并为其配置了一个内部 IP 地址 (192.168.1.1),并期望看到到 192.168.1.0/24 的路由出现在链接#4 或该接口最终出现的任何位置,但它不在那里。因此,它让我想到了这个问题。最后,我绝望地重新启动了 pfSense,BAM,它出现了,一切开始按照我需要的方式工作。也许这不会回答你的确切问题,但它回答了我的问题。
就我的情况而言,我确实需要做另一件事才能使其正常工作:启用混合出站 NAT 并设置出站规则,以便当流量进入我的服务器(在本例中为 TrueNAS,FreeBSD)时,它似乎来自 pfSense 防火墙本身(192.168.1.1)并且可以轻松地将其路由回正确的接口: