使更改永久生效,放入rc.local
例如
<start of rc.local> kldload /boot/kernel/ng_ether.ko kldload /boot/kernel/ng_one2many.ko ifconfig rl0 up ifconfig rl1 up ngctl mkpeer rl0: one2many upper one ngctl connect rl0: rl0:upper lower many0 ngctl connect rl1: rl0:upper lower many1 ngctl msg rl1: setpromisc 1 ngctl msg rl1: setautosrc 0 ngctl msg rl0:upper \ setconfig "{ xmitAlg=1 failAlg=2 enabledLinks=[ 1 1 ] }" ifconfig rl0 inet 192.168.0.78 <end of rc.local>
ngctl 可以交互运行以进行诊断。
下面列出了一些例子:
list ### show list of nodes ### show em0: ### show information of a node tied interface em0 ###
将 NIC 从以前的设置恢复到原始状态
ngctl rmhook em0: lower
(从接口 rl0 中删除注释/服务)
在 2 个(或者更多)网络接口卡上设置链路聚合
kldload /boot/kernel/ng_ether.ko kldload /boot/kernel/ng_one2many.ko ifconfig rl0 up ifconfig rl1 up ngctl mkpeer rl0: one2many upper one ngctl connect rl0: rl0:upper lower many0 ngctl connect rl1: rl0:upper lower many1 ngctl msg rl1: setpromisc 1 ngctl msg rl1: setautosrc 0 ngctl msg rl0:upper \ setconfig "{ xmitAlg=1 failAlg=2 enabledLinks=[ 1 1 ] }" ifconfig rl0 inet 192.168.0.78
假设
rl0 = 第一个接口卡设备名称
rl1 = 第二个接口卡设备名称
192.168.0.78 = 第一个和第二个网络接口卡上使用的 IP 地址
在 2 个(或者更多)网络接口卡上设置循环
kldload /boot/kernel/ng_ether.ko kldload /boot/kernel/ng_one2many.ko ifconfig rl0 up ifconfig rl1 up ngctl mkpeer rl0: one2many upper one ngctl connect rl0: rl0:upper lower many0 ngctl connect rl1: rl0:upper lower many1 ngctl msg rl1: setpromisc 1 ngctl msg rl1: setautosrc 0 ngctl msg rl0:upper \ setconfig "{ xmitAlg=2 failAlg=2 enabledLinks=[ 1 1 ] }" ifconfig rl0 inet 192.168.0.78
结合 2 个或者更多网络接口有几个优点:
其中之一是负载平衡。
负载均衡使网络接口卡能够在定义的 2 个或者多个网络接口卡之间分担负载。
它也用作冗余。
但是负载均衡并没有充分利用2个或者多个网络接口,它的目的是分担网络流量负载。
要充分利用 2 个或者更多网络接口链路,应使用链路聚合。
链路聚合是一种将 2 个或者更多网络接口组合成更大管道的方法。
这也是一种将 2 个或者多个接口组合起来使用相同 IP 地址的方法。
使用链路聚合还可以创建冗余,如果其中一个链路出现故障,其他链路将接管。
日期:2020-06-02 22:18:40 来源:oir作者:oir