FreeBSD7.4 64位 双网卡绑定负载平衡成功案例

折腾了好几天了,
本来想简简单单FreeNAS,
可IP数50的限制,让有的人连接FTP时老被提示需要输入密码。
无奈之下转战Linux,Ubuntu10.10
可双网卡绑定可谓是 听说过没见过。
试了好几位先行者教程,失败,一次一次失败。

于是回头又看FreeBSD。
搞Ubuntu全靠论坛,没有权威的使用说明书,
不像FreeBSD,有一个官方的说明书,
上面就有负载平衡的说明,
试过了还是没有弄好,
于是找到了下面的教程:

本教程来自:http://aaronw.me/static/121.html
我对其内容做了一点点改正和补充

一、加载负载均衡模块(fec:为虚拟接口 em0 em1:为服务器的物理接口)
/sbin/kldload ng_fec
/usr/sbin/ngctl mkpeer fec dummy fec
/usr/sbin/ngctl msg fec0: add_iface ‘”em0″‘
/usr/sbin/ngctl msg fec0: add_iface ‘”em1″‘
/usr/sbin/ngctl msg fec0: set_mode_inet
/sbin/ifconfig fec0 promisc
/sbin/ifconfig emc0 promisc
/sbin/ifconfig emc1 promisc
二、给虚拟接口配置IP、增加默认路由
/sbin/ifconfig fec0 inet 192.168.1.2 netmask 255.255.255.0
/sbin/route add default 192.168.1.1
三、注释掉rc.conf中的内容
#defaultrouter=”192.168.1.1″
#ifconfig_em0=”inet 192.168.0.2 netmask 255.255.255.0″
#ifconfig_em1=”inet 192.168.1.2 netmask 255.255.255.0″

按上述命令和顺序操作就可以了。如果想开机自动运行,将一、二中的内容写到一个文件里(例如:/bin/vinet.sh) 中,chmod a+x /bin/vinet.sh。再将/bin/vinet.sh 写入rc.local中即可!该配置在FreeBSD 7.0-RELEASE 中测试通过!

rc.local文件,一般在/etc文件夹下面
如果没有,可以用root权限建一个

特此笔记。
感谢 我的技术生活-王炜 http://aaronw.me/

如何测试是否成功

如果是两张网卡,开一个FTP
上传一个比较大的文件
上传途中拔掉一根网线,看看上传是否还可以继续。
如果可以,表示负载平衡成功,
否则,再找原因吧,呵呵