FreeBSD 9.1;bridge0 和默认网关问题

FreeBSD 9.1;bridge0 和默认网关问题

我有一个 FreeBSD 9.1-RELEASE-p1 系统,带有三个网卡,我正在使用:igb0、sfxge1 和 sfxge2。igb0 用于互联网访问,是默认网关。我需要使用其他两个网卡来创建 bridge0。系统启动时,我执行以下命令并启动并运行网桥,没有任何问题。

ifconfig bridge0 create
ifconfig bridge0 addm sfxge0 addm sfxge1 up
ifconfig bridge0 inet 172.18.0.1/24 

当我想要在启动期间设置桥接时,问题就开始了。阅读后文档并根据它,我想到了以下内容/etc/rc.conf

cloned_interfaces="bridge0"
ifconfig_bridge0="addm sfxge0 addm sfxge1 up"
ifconfig_sfxge0="up"
ifconfig_sfxge1="up"
ifconfig_bridge0="inet 172.18.0.1/24"

重启时,系统在启用 igb0 上的默认网关时卡住了。唯一的办法是按 ctrl+alt+delete,重启到单一模式并修改/etc/rc.conf。配置的一部分,定义 igb0 和默认网关:

defaultrouter="10.100.4.254"
hostname="zfstank"
ifconfig_igb0="up"
ifconfig_igb0="inet 10.100.4.1 netmask 255.255.255.0"

我尝试修改 bridge0 设置的最后一行ifconfig_bridge0_alias0="inet 172.18.0.1/24"并修改 bridge 设置行ifconfig_bridge0="addm sfxge0 addm sfxge1 inet 172.18.0.1/24 up"- 导致同样的问题 - 卡在默认网关创建上。

在启动过程中,我看到 bridge0 设置完成后 igb0 开始上线。

if_bridge 和 sfxge 被编译进内核。

更新1:以下是我的其他内容/etc/rc.conf

sshd_enable="YES"
ntpd_enable="YES"

zfs_enable="YES"
sfxge_load="YES"

更新2

当它挂起时会发生什么

当我按下 Ctrl+T 时:

load 0.03  cmd: route 1136 [keglimit] 281.48r 0.00u 0.00s 0% 1080k

更新3

看起来问题是由于 mbufs 快速耗尽造成的。FreeNAS 的维基指出,这在多端口 em 和 igb 卡上很常见,并且大多与桥接无关(如果我错了,请纠正我)。

因此,在我添加以下行/boot/loader.conf并启动后,系统就正确完成启动。

kern.ipc.nmbclusters="131072"
hw.igb.num_queues=1

答案1

不能有多行相同的配置。后面的行将覆盖前面的行。

在不知道文件其余部分rc.conf是什么样子的情况下,它应该是这样的:

hostname="zfstank"
defaultrouter="10.100.4.254"

cloned_interfaces="bridge0"
autobridge_interfaces="bridge0"
autobridge_bridge0="sfxge0 sfxge1"
ifconfig_bridge0="inet 172.18.0.1/24"

ifconfig_sfxge0="up"
ifconfig_sfxge1="up"

ifconfig_igb0="inet 10.100.4.1 netmask 255.255.255.0"

笔记:

  • 顺序并不重要,但这更容易阅读。
  • 除非没有其他配置,否则没有必要明确“启动”并连接。

答案2

这:

ifconfig_bridge0="addm sfxge0 addm sfxge1 up"
...
ifconfig_bridge0="inet 172.18.0.1/24"

实际上与第二行相同。这尝试在未配置的桥接接口上设置 IP - 这可能是问题的原因。您应该添加inet 172.18.0.1/24到第一行并删除第二行。


您能否从 rc.conf 中删除任何接口配置并在 rc.local 中对其进行注释,然后尝试这种方法?

defaultrouter="10.100.4.254"
hostname="zfstank"
ifconfig_igb0="inet 10.100.4.1/24 up"
ifconfig_sfxge0="up"
ifconfig_sfxge1="up"
cloned_interfaces="bridge0"
autobridge_interfaces="bridge0"
autobridge_bridge0="sfxge0 sfxge1"
ifconfig_bridge0="inet 172.18.0.1/24 up"

这改变了一些事物的秩序。

相关内容