Debian 7中的容错网络绑定

时间:2020-01-09 10:38:19  来源:igfitidea点击:

实验室服务器配置

为了使我们更容易理解,我们的服务器将具有以下配置。

网络接口接口名称MAC地址
网卡#1eth000:0c:29:58:65:cc
网卡#2eth100:0c:29:58:65:d6

创建网络绑定后,将为服务器分配以下网络设置:

IP地址子网网关DNS服务器
172.30.0.77255.255.255.0172.30.0.1172.30.0.5

启用NIC绑定

  • 开箱即用,Debian将无法绑定网络接口。我们需要通过安装ifenslave软件包来安装bonding内核模块。
apt-get install ifenslave
  • 要启用新安装的模块,请停止网络服务。
service networking stop
  • 现在启用绑定内核模块。
modprobe bonding

创建网络接口

  • 在文本编辑器(如Nano)中打开网络接口配置文件。
sudo nano /etc/network/interfaces
  • 要创建一个使用接口1(eth0)和接口2(eth1)的容错绑定(我们称为bond0),请添加以下行。
# Network bond for eth0 and eth1
auto bond0
iface bond0 inet static
address 172.30.0.77
netmask 255.255.255.0
gateway 172.30.0.1
bond-mode 1
bond-miimon 100
slaves eth0 eth1
  • 添加以下行以将接口0(eth0)配置为bond0的从属。为接口分配希望使用的NIC的MAC地址非常重要。没有,我们可能不知道接口eth0分配给哪个NIC,这在进行维护时至关重要。
# eth0 - the first network interface
auto eth0
iface inet manual
hwaddress ether 00:0c:29:58:65:cc
bond-master bond0
  • 添加以下行以将接口1(eth1)配置为bond0的从属。就像我们对eth0所做的一样,请记住添加MAC地址。
# eth1 - the second network interface
auto eth1
iface inet manual
hwaddress ether 00:0c:29:58:65:d6
bond-master bond0
  • 现在,配置文件应类似于以下示例。切记修改突出显示的值以匹配环境。
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The first network bond
auto bond0
iface bond0 inet static
address 172.30.0.77
netmask 255.255.255.0
gateway 172.30.0.1
bond-mode 1
bond-miimon 100
slaves eth0 eth1

#eth0 - the first network interface
auto eth0
iface eth0 inet manual
hwaddress ether 00:0c:29:58:65:cc
bond-master bond0

#eth1 - the second network interface
auto eth1
iface eth1 inet manual
hwaddress ether 00:0c:29:58:65:d6
bond-master bond0
  • 保存更改并退出文本编辑器。
  • 使网络服务重新联机。
sudo start networking

3.验证连接

现在已经创建了绑定,我们需要对其进行测试以确保其正常运行。

  • 运行以下命令以检查绑定。
cat /proc/network/bonding/bond0
  • 如果成功,则输出应类似于以下内容:
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:58:65:d6
Slave queue ID: 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:58:65:cc
Slave queue ID: 0
  • 现在ping另一个网络节点或者本地网关以测试连接性。我将使用前面提到的网关IP作为示例。
ping 172.30.0.1
  • 如果成功,我们应该看到以下输出:
PING 172.30.0.1 (172.30.0.1) 56(84) bytes of data.
64 bytes from 172.30.0.1: icmp_req=1 ttl=64 time=0.340 ms
64 bytes from 172.30.0.1: icmp_req=2 ttl=64 time=0.194 ms
64 bytes from 172.30.0.1: icmp_req=3 ttl=64 time=0.153 ms
64 bytes from 172.30.0.1: icmp_req=4 ttl=64 time=0.343 ms
64 bytes from 172.30.0.1: icmp_req=5 ttl=64 time=0.488 ms

--- 172.30.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.153/0.303/0.488/0.121 ms