Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4249329
  • 博文数量: 601
  • 博客积分: 15410
  • 博客等级: 上将
  • 技术积分: 6884
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 08:11
个人简介

独学而无友,则孤陋而寡闻!

文章分类

全部博文(601)

文章存档

2020年(1)

2018年(4)

2017年(7)

2016年(42)

2015年(25)

2014年(15)

2013年(36)

2012年(46)

2011年(117)

2010年(148)

2009年(82)

2008年(37)

2007年(41)

分类: BSD

2017-03-20 16:13:12

要求:
  在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---


阅读(2582) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~