FreeBSD中用rc.conf开机设置网桥bridge以及IP注意事项

2590阅读 0评论2017-03-20 lsstarboy
分类:BSD

要求:
  在FreeBSD中使用网桥,开机自启动,并自动设置IP地址:192.168.1.2/24,两块网卡分别为re0,re1

问题:
  按常规写法:

  1. cloned_interfaces="bridge0"
  2. ifconfig_bridge0="addm re0 addm re1 up"
  3. ifconfig_bridge0="inet 192.168.1.2/24"
这种写法不会设置上IP地址,网桥和IP都设置不上。
如果两行ifconfig交换一下位置,那么网桥可以设置上,IP设置不上。

原因:

FreeBSD的rc.conf其实有个限制,那就是同一个命令,只保留最后一次。比如syslogd_enable,其实最早先读取/etc/default/rc.conf里面的内容,有个syslogd_enable="YES",然后再读取/etc/rc.conf,如果设置了syslogd_enable="NO",那么就是禁用;但是如果在/etc/rc.conf中设置了多次,那么就以最后一次为准。
具体到网桥的设置上,ifconfig_bridge0也视为一条命令,多次执行,则仅保留最后一次。

解决:
下列两种之一:
1、把两条命令写成一行:
cloned_interface="bridge0"
ifconfig_bridge0="inet 192.168.1.2/24 addm re0 addm re1 up"
注意要先写IP,后写成员网卡名,否则会报命令不对。

2、避开同一条命令,针对bridge,其实rc.conf中还有个专用命令:

  1. cloned_interfaces="bridge0"
  2. autobridge_interfaces="bridge0"
  3. autobridge_bridge0="re0 re1"
  4. ifconfig_re0="up"
  5. ifconfig_re1="up"
  6. ifconfig_bridge0="inet 192.168.1.2/24"

注:
虚拟网桥名必须为bridge*,否则不会自动启用if_bridge模块。











--end---


上一篇:下载Google Play 上的apk到本地电脑
下一篇:在 Vim 中设置 Tab