6.2 网络管理进阶

别名与绑定

别名

    网卡别名就是一张物理网卡上配置多个IP地址,实现类似子接口之类的功能。

在配置网卡别名时需要关闭 NetworkManager 服务,这是在图形界面上管理网络接口的服务。

[root@CentOS7 ~]# cat > /etc/sysconfig/network-scripts/ifcfg-ens33:1   #为设备别名生成独立的接口配置文件
DEVICE=ens33:1
IPADDR=1.1.1.1    #必须使用静态联网
NETMASK=255.0.0.0
ONPARENT=yes
^C
[root@CentOS7 ~]# service network restart    #重启网络服务
Restarting network (via systemctl):                        [  OK  ]
[root@CentOS7 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:d5:dd:f9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.30.2/24 brd 192.168.30.255 scope global dynamic ens33
       valid_lft 604786sec preferred_lft 604786sec
    inet 1.1.1.1/8 brd 1.255.255.255 scope global ens33:1    #设备别名生效
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fed5:ddf9/64 scope link 
       valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:d5:dd:03 brd ff:ff:ff:ff:ff:ff
    inet 172.20.103.22/16 brd 172.20.255.255 scope global dynamic ens34
       valid_lft 86393sec preferred_lft 86393sec
    inet6 fe80::20c:29ff:fed5:dd03/64 scope link 
       valid_lft forever preferred_lft forever

    也可以使用 ip 命令生成网卡别名(临时生效,重启消失)

[root@CentOS7 ~]# ip addr add 2.2.2.2/8 dev ens34 label ens34:1    #使用label生成网卡别名
[root@CentOS7 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:d5:dd:f9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.30.2/24 brd 192.168.30.255 scope global dynamic ens33
       valid_lft 604580sec preferred_lft 604580sec
    inet 1.1.1.1/8 brd 1.255.255.255 scope global ens33:1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fed5:ddf9/64 scope link 
       valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:d5:dd:03 brd ff:ff:ff:ff:ff:ff
    inet 172.20.103.22/16 brd 172.20.255.255 scope global dynamic ens34
       valid_lft 86187sec preferred_lft 86187sec
    inet 2.2.2.2/8 scope global ens34:1    #网卡别名定义成功
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fed5:dd03/64 scope link 
       valid_lft forever preferred_lft forever

绑定 Bonding

    将多块网卡绑定同一 IP 地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过 Bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的 MAC 地址

    Bonding的工作模式分为很多模式,常见的有

Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
Mode 1 (active-backup)
活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文,提供容错能力

active-backup、balance-tlb和balance-alb模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式0、2 和3 中使用EtherChannel,但在模式4中需要LACP和EtherChannel。

    配置 Mode 1 Bonding

1、创建虚拟网卡

[root@CentOS7 ~]# cat > /etc/sysconfig/network-scripts/ifcfg-bond0 
DEVICE=bond0 
BOOTPROTO=none
BONDING_OPTS="miimon=100 mode=1"    #每100毫秒检测一次链路状态  模式为Bonding 1
IPADDR=192.168.30.2
PREFIX=24

2、配置物理网卡

扫描二维码关注公众号,回复: 1016242 查看本文章
[root@CentOS7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
BOOTPROTO=none   #不适用dhcp
MASTER=bond0     #主网卡为bond0
SLAVE=yes        #定义此网卡为从网卡
USERCTL=no       
[root@CentOS7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens37
DEVICE=ens37
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no

3、重启网络服务

[root@CentOS7 ~]# systemctl restart network.service 
[root@CentOS7 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether 00:0c:29:d5:dd:f9 brd ff:ff:ff:ff:ff:ff
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:d5:dd:03 brd ff:ff:ff:ff:ff:ff
    inet 172.20.103.22/16 brd 172.20.255.255 scope global dynamic ens34
       valid_lft 86395sec preferred_lft 86395sec
    inet6 fe80::20c:29ff:fed5:dd03/64 scope link 
       valid_lft forever preferred_lft forever
4: ens37: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000
    link/ether 00:0c:29:d5:dd:f9 brd ff:ff:ff:ff:ff:ff   #两块网卡MAC地址一样,与主网卡bond0相同
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 00:0c:29:d5:dd:f9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.30.2/24 brd 192.168.30.255 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fed5:ddf9/64 scope link 
       valid_lft forever preferred_lft forever

查看bond状态 /proc/net/bonding/BondName

[root@CentOS7 ~]# cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

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

Slave Interface: ens33
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:d5:dd:f9
Slave queue ID: 0

Slave Interface: ens37
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:d5:dd:0d
Slave queue ID: 0

移除bond网卡

[root@CentOS7 ~]# ifconfigbond0 down
[root@CentOS7 ~]# rmmod bonding

再将物理网卡的配置还原,然后重启网络服务就完成了。

nmcli命令

    nmcli 是命令行的NetworkManager工具,会自动把配置写到/etc/sysconfig/network-scripts/目录下面。

    语法:nmcli [选项] 对象 [操作] [参数]

[root@CentOS7 ~]# nmcli connection add con-name ens37 ifname ens37 type ethernet ipv4.method auto connection.autoconnect yes
Connection 'ens37' (e0a37a4f-f514-4e74-bb56-c6eae61c880c) successfully added.
[root@CentOS7 ~]# nmcli connection show 
NAME                UUID                                  TYPE            DEVICE 
Wired connection 1  e6d3dfce-92af-3e00-9ea1-1e57c14b6ebc  802-3-ethernet  ens37  
ens33               81c16150-23d5-4a7a-91c2-1051cc39ce99  802-3-ethernet  ens33  
ens37               e0a37a4f-f514-4e74-bb56-c6eae61c880c  802-3-ethernet  --     
[root@CentOS7 ~]# nmcli connection up ens37
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

    对象有6个,经常用到的有:

connection:连接

操作:show:显示连接信息
          up:开启连接
          down关闭连接
          add:创建连接
          modify:配置连接
          clone:复制连接
          edit:编辑连接
          delete:删除连接

          monitor:监控连接

device:设备

操作:status:设备状态
          show:显示设备信息
          set:设置设备状态
          reapply:重启设备
          modify:配置设备
          disconnect:断开连接
          delete:删除设备

          monitor:监控设备

general:综合

网络组与桥接

网络组(Network Teaming)

    在CentOS 7中推荐使用网络组来将多个网卡进行聚合,因为网络组的性能更好,从而使用容错与提高吞吐量。网络组功能有内核驱动与 teamd 守护进程实现。

    网络组也提供多个工作模式(runner),常见的有:

broadcast
roundrobin
activebackup
loadbalance

lacp(implements the 802.3ad Link Aggregation Control Protocol)

    配置 activebackup 模式网络组

1、删除原有配置文件并重载网卡配置

[root@CentOS7 network-scripts]# rm -f ifcfg-ens37
[root@CentOS7 network-scripts]# ls
ifcfg-ens33  ifdown-ib    ifdown-ppp       ifdown-tunnel  ifup-ib    ifup-plusb   ifup-Team         network-functions
ifcfg-lo     ifdown-ippp  ifdown-routes    ifup           ifup-ippp  ifup-post    ifup-TeamPort     network-functions-ipv6
ifdown       ifdown-ipv6  ifdown-sit       ifup-aliases   ifup-ipv6  ifup-ppp     ifup-tunnel
ifdown-bnep  ifdown-isdn  ifdown-Team      ifup-bnep      ifup-isdn  ifup-routes  ifup-wireless
ifdown-eth   ifdown-post  ifdown-TeamPort  ifup-eth       ifup-plip  ifup-sit     init.ipv6-global
[root@CentOS7 network-scripts]# nmcli connection reload    #重载网卡配置
[root@CentOS7 network-scripts]# nmcli connection show
NAME                UUID                                  TYPE            DEVICE 
Wired connection 1  84a91cde-74ad-36bb-8200-29cf43fc4cb6  802-3-ethernet  ens38  
Wired connection 2  5bb7f684-4877-3ddf-b9bd-4c28e95085be  802-3-ethernet  ens37  
ens33               81c16150-23d5-4a7a-91c2-1051cc39ce99  802-3-ethernet  ens33  

2、生成网卡配置文件

[root@CentOS7 ~]# nmcli connmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' ipv4.method manual ipv4.addresses 172.20.111.54/16
Connection 'team0' (cc2ae04a-71b4-4c11-85a4-64bee0ae89c3) successfully added.   #team0配置成功
[root@CentOS7 ~]# nmcli connection add type team-slave con-name team0_ens37 ifname ens37 master team0
Connection 'team0_ens37' (70e29b1e-d1f2-4cc1-966b-0033f11d2c13) successfully added.    #生成ens37配置文件
[root@CentOS7 ~]# nmcli connection add type team-slave con-name team0_ens38 ifname ens38 master team0
Connection 'team0_ens38' (f5f2859f-dccd-46c2-b363-393816d9d743) successfully added.    #生成ens38配置文件
[root@CentOS7 ~]# nmcli connection show   #新的ens37、ens38配置并没有激活
NAME                UUID                                  TYPE            DEVICE 
Wired connection 1  84a91cde-74ad-36bb-8200-29cf43fc4cb6  802-3-ethernet  ens38  
Wired connection 2  5bb7f684-4877-3ddf-b9bd-4c28e95085be  802-3-ethernet  ens37  
ens33               81c16150-23d5-4a7a-91c2-1051cc39ce99  802-3-ethernet  ens33  
team0               cc2ae04a-71b4-4c11-85a4-64bee0ae89c3  team            team0  
team0_ens37         70e29b1e-d1f2-4cc1-966b-0033f11d2c13  802-3-ethernet  --     
team0_ens38         f5f2859f-dccd-46c2-b363-393816d9d743  802-3-ethernet  -- 

3、激活网卡配置

[root@CentOS7 ~]# nmcli connection up team0_ens37    #启用team_ens配置

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
[root@CentOS7 ~]# nmcli connection up team0_ens38
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
[root@CentOS7 ~]# nmcli connection show
NAME                UUID                                  TYPE            DEVICE 
ens33               81c16150-23d5-4a7a-91c2-1051cc39ce99  802-3-ethernet  ens33  
team0               cc2ae04a-71b4-4c11-85a4-64bee0ae89c3  team            team0  
team0_ens37         70e29b1e-d1f2-4cc1-966b-0033f11d2c13  802-3-ethernet  ens37  
team0_ens38         f5f2859f-dccd-46c2-b363-393816d9d743  802-3-ethernet  ens38  
Wired connection 1  84a91cde-74ad-36bb-8200-29cf43fc4cb6  802-3-ethernet  --     
Wired connection 2  5bb7f684-4877-3ddf-b9bd-4c28e95085be  802-3-ethernet  --     
[root@CentOS7 ~]# teamdctl team0 state
setup:
  runner: activebackup
ports:
  ens37
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  ens38
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
runner:
  active port: ens37

    网络组的规则

启动网络组接口不会自动启动网络组中的port接口
启动网络组接口中的port接口总会自动启动网络组接口
禁用网络组接口会自动禁用网络组中的port接口
没有port接口的网络组接口可以启动静态IP连接
启用DHCP连接时,没有port接口的网络组会等待port接口的加入

桥接

    把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。



猜你喜欢

转载自blog.csdn.net/m30_miriam/article/details/80230160