网络进阶管理

关于作者

周李杰,最后一批90后,现居湖北武汉

孤独患者,懒癌中期,无脑幻想者。但却人畜无害,无需远离。

兴趣众多,然无一精通。正努力成为一个有趣的人。

1
2
> print("👆以上是不完整的我") //请我吃大餐将会了解更多
>

[TOC]

链路聚合

网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度。

桥接网络

桥接网络也即网桥,可基于MAC地址在网络间转发流量。网桥识别哪些主机连接到每个网络,构建MAC地址表,然后根据该表做出包转发决策。

软件网桥的最常见应用是在虚拟化应用程序中,用于在一个或多个虚拟NIC中共享一个硬件NIC。

链路聚合配置

配置bond聚合链路

配置bong0

1
2
3
4
5
6
7
[root@zhoulijie ~]# nmcli device
设备 类型 状态 连接
virbr0 bridge 连接的 virbr0
eth0 ethernet 连接的 eth0
eth1 ethernet 已断开 --
lo loopback 未托管 --
virbr0-nic tun 未托管 --
创建bond0, 模式为balance-rr,名字为zhoulijie
1
2
[root@zhoulijie ~]# nmcli connection add type bond mode balance-rr con-name zhoulijie ifname bond0 ipv4.method manual ipv4.addresses 192.168.83.250/24 ipv4.gateway 192.168.83.2 ipv4.dns 192.168.83.2
连接“zhoulijie”(99fe45cb-5d4a-4288-b0b1-1fd2202d25e1) 已成功添加。
添加物理网卡至bond0
1
2
3
4
[root@zhoulijie ~]# nmcli connection add type bond-slave con-name zlj ifname eth0 master bond0
连接“zlj”(4a185231-5752-4e60-b20d-92fce9ed90e2) 已成功添加。
[root@zhoulijie ~]# nmcli connection add type bond-slave con-name zlj1 ifname eth1 master bond0
连接“zlj1”(2883fd9a-2ce9-4e51-bde2-679b3920fae5) 已成功添加。
查看bond配置信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@zhoulijie ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)
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:ab:cc:71
Slave queue ID: 0
关闭eth0网卡, 测试bond0是否正常
1
2
[root@zhoulijie ~]# nmcli device disconnect eth0
成功断开设备 'eth0'

配置bong1

1
2
3
4
5
6
7
[root@zhoulijie ~]# nmcli device
设备 类型 状态 连接
virbr0 bridge 连接的 virbr0
eth0 ethernet 连接的 eth0
eth1 ethernet 已断开 --
lo loopback 未托管 --
virbr0-nic tun 未托管 --
创建bond1,模式为active-backup,名字为zhoulijie
1
2
[root@zhoulijie ~]# nmcli connection add type bond con-name zhoulijie ifname bond1 mode active-backup ipv4.method manual ipv4.addresses 192.168.83.250/24 ipv4.gateway 192.168.83.2 ipv4.dns 192.168.83.2
连接“zhoulijie”(c4c7078e-f912-46fd-af84-6c414267a45b) 已成功添加。
添加物理网卡连接至bond1
1
2
3
4
[root@zhoulijie ~]# nmcli connection add type bond-slave con-name zlj ifname eth0 master bond1
连接“zlj”(280b5deb-e05f-45f7-b771-1c2a325b63c7) 已成功添加。
[root@zhoulijie ~]# nmcli connection add type bond-slave con-name zlj1 ifname eth1 master bond1
连接“zlj1”(d0c28c77-5808-43cc-86f2-f2aefda5304f) 已成功添加。
启用连接
1
2
3
4
5
6
[root@zhoulijie ~]# nmcli connection up zhoulijie
成功激活(主服务器等待从服务器)连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
[root@zhoulijie ~]# nmcli connection up zlj
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/9)
[root@zhoulijie ~]# nmcli connection up zlj1
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/10)
验证
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[root@zhoulijie ~]# cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

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

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:ab:cc:67
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:ab:cc:71
Slave queue ID: 0
停止eth0物理网卡设备
1
2
[root@zhoulijie ~]# nmcli device disconnect eth0
成功断开设备 'eth0'
eth1物理网卡设备会进行自动切换
1
2
[root@zhoulijie ~]# grep "Currently Active Slave" /proc/net/bonding/bond1
Currently Active Slave: eth1

配置team聚合链路

centos/rhce7使用teaming实现聚合链路,能够提供网卡绑定之后的网络吞吐性能,并且提供网卡的故障切换处理能力。
Team是基于一个小型内核驱动实现聚合链路,在用户层提供teamd命令实现链路管理。

teamd可以实现以下模式的聚合链路

broadcast 广播容错
roundrobin 负载轮询
activebackup 主备(必考)
loadbalance 负载均衡
lacp 需要交换机支持lacp协议

请使用命令行配置,图形界面配置不稳定
1
2
[root@zhoulijie ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' ipv4.addresses 192.168.83.222/24 ipv4.gateway 192.168.83.2 ipv4.dns 192.168.83.2 ipv4.method manual
连接“team0”(80474187-7e56-4874-9d24-e228cb39b851) 已成功添加。
添加物理网卡连接至team0
1
2
3
4
[root@zhoulijie ~]# nmcli connection add type team-slave con-name team0-port1 ifname eth1 master team0
连接“team0-port1”(4c6539de-8ea3-43fc-beb1-598587a8c05f) 已成功添加。
[root@zhoulijie ~]# nmcli connection add type team-slave con-name team0-port2 ifname eth2 master team0
连接“team0-port2”(0798fb06-daee-4b5f-bd1f-8ad455964cb6) 已成功添加。
检查team0状态
1
2
[root@zhoulijie ~]# ping -I team0 192.168.83.222
[root@zhoulijie ~]# teamdctl team0 state
断掉后检测
1
2
[root@zhoulijie ~]# nmcli dev disconnect eth1
[root@zhoulijie ~]# teamdctl team0 state

动态修改team模式

1
2
3
4
5
6
7
8
9
10
11
// 导出配置进行修改 (man teamd.conf)
[root@zhoulijie ~]# teamdctl team0 config dump > /tmp/team.conf
[root@zhoulijie ~]# vim /tmp/team.conf

//以最新修改的配置选项修改team0属性
[root@zhoulijie ~]# nmcli con mod team0 team.config /tmp/team.conf

//修改之后需要重启team0
[root@zhoulijie ~]# nmcli connection down team0;nmcli connection up team0
[root@zhoulijie ~]# nmcli connection up team0-port1
[root@zhoulijie ~]# nmcli connection up team0-port2

桥接网络配置

创建桥接网络br1
1
[root@zhoulijie ~]# nmcli connection add type bridge con-name br1 ifname br1 ipv4.addresses 192.168.83.222/24 ipv4.method manual
桥接至eth1
1
[root@zhoulijie ~]# nmcli connection add type bridge-slave con-name br1-port1 ifname eth1 master br1 nmcli connection add type bridge-slave con-name br1-port1 ifname eth1 master br1
1
2
[root@zhoulijie ~]# ping -I br1 192.168.83.1
[root@zhoulijie ~]# brctl show
打赏
  • © 2019-2020 Li Jie
  • Powered by Hexo Theme Ayer
    • PV:
    • UV:

喜欢就打赏吧~

支付宝
微信