基于linux下的高级网络配置

这部分内容分为网络接口的配置及网络桥接的配置。

###################1.网络接口的配置#########################################

linux系统中将多块网卡虚拟成为一块网卡,以提高网络的稳定性,增加服务器的可靠性,可为用户提供不间断的网络服务称之为高级网络配置技术,下面先介绍一下bond和team两种网络配置步骤及效果:

一.bond网络配置

######(1)简介:

Red Hat Enterprise Linux 允许管理员使用 bonding 内核模块和称为通道绑定接口的特殊网络接口将多个网络接口绑定到一个通道。根据选择绑定模式,通过绑定是两个网络接口作为一个网络接口,让多块网卡看起来是一个单独的以太网接口设备并具有相同的 IP 地址从而增加带宽和或者提供冗余性。

选择 Linux 以太网绑定模式
Linux Bond有两种典型的模式:主备,负载均衡。
在主备模式下 , 只有主网卡 eth0 工作,eth1 作为备份网卡是不工作的,只有当一个网络接口失效时 ( 例如主交换机掉电等 ),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护的功能。

在负载均衡工作模式下,由于两块网卡都正常工作,它能提供两倍的带宽,在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用。

模式0(平衡轮循)——轮循策略,所有接口都使用采用轮循方式在所有 Slave 中传输封包;任何 Slave 都可以接受 

模式1(主动备份)——容错。一次只能使用一个 Slave 接口,但是如果该接口出现故障,另一个 Slave 将接替它 

模式3(广播)——容错。所有封包都通过所有 Slave 接口广播。

#######(2)bond网络配置步骤:

监控开启:watch -n 1 cat /proc/net/bonding/nm-bond

(1)首先,添加两块网卡,如图所示,eth0和eth1:

      基于linux下的高级网络配置

(2)用ifconfig进行查看,如果eth0设置了ip;

     nmcli connection delete 'System eth0' #自己的网络链接名叫什么就删什么,名字用引号引起来

(3)创建ip为172.25.254.221 子网掩码为24的bond0 然后输入ifconfig命令查看详细信息:

nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup ip4 172.25.254.221/24 

con-name bond0    #配置文件链接名

ifname bond0      #指定接口

type bond         #bond类型

mode active-backup #选定bond工作模式

ip4 172.25.254.221/24  #设定ip以及网关

基于linux下的高级网络配置


(4)虽然已经有了ip,但是并不能ping通ip为172.25.254.88的同网段主机,这是因为我们还没有将网卡添加到里面:

基于linux下的高级网络配置

先用命令 watch -n 1 cat /proc/net/bonding/bond0 监控bond0的信息:

基于linux下的高级网络配置

(5)然后将一块网卡eth0添加到里面:

nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0

基于linux下的高级网络配置

然后再看bond0的信息,可以看到eth0已经添加到了bond0里面并开始工作:

基于linux下的高级网络配置

(6)这时,也可以ping通ip为172.25.254.88的主机了:

基于linux下的高级网络配置

然后将第二块网卡eth1添加进去

nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0

基于linux下的高级网络配置

bond的配置就完成了,之所以要添加两块网卡,是为了提升网络的稳定和可靠性

然后让其中一块网卡eth0停止工作,另一块网卡eth1就会顶替eth0继续工作,网络并不会受到影响:

eg:关闭其中一个网卡

ifconfig eth0 down

基于linux下的高级网络配置

结果是网络依然正常:

基于linux下的高级网络配置

继续让eth1停止工作,ifconfig eth1 down

基于linux下的高级网络配置

可以看到两块网卡都有down的标示:

基于linux下的高级网络配置

再看网络已经不能使用了:

基于linux下的高级网络配置

然后,删除eth0,eth1和bond0: ifconfig查看已经没有bond0了:

基于linux下的高级网络配置


二.team网络配置

######(1)简介:

team网络配置的功能和bond功能类似,也是网卡的集成,只是在负载上比bond网络配置要均衡一些,优点是有更强的拓展性,支持添加网卡多,工作模式也多了一些。
team是链路聚合的一种方式,最多支持8块网卡工作。

team支持四种工作模式:

    broadcast 广播容错 

    roundrobin 平衡轮叫

    activebackup 主备

    loadbalance 负载均衡

######(2)team网络配置步骤:

(1)首先也是需要两块网卡,用做bond网络配置的网卡继续演示:

基于linux下的高级网络配置


(2)新建team网络接口,创建后用ifconfig进行查看;

nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.221/24

                                                                                                                 ############大括号里面的是工作模式的设定

基于linux下的高级网络配置

基于linux下的高级网络配置

(3)同样,为了看的更加清除,在添加网卡之前,用watch命令监控team0的信息:

watch -n 1 teamdctl team0 state 

基于linux下的高级网络配置

(4)添加eth0到team0中:

nmcli connection add con-name eth0 ifname eth0 type team-slave master team0

基于linux下的高级网络配置

eth0已经添加到team0中,并开始工作:

基于linux下的高级网络配置

此时,网络也可以使用了:

基于linux下的高级网络配置

将eth1也添加进去:

nmcli connection add con-name eth1 ifname eth1 type team-slave master team0

基于linux下的高级网络配置

(5)ifconfig eth0 down 让eth0停止工作,eth1也会和bond0一样马上顶替eth0继续工作,而不影响网络使用:

基于linux下的高级网络配置

基于linux下的高级网络配置

ifconfig eth1 down 让eth1也停止工作,然后网络也就不能使用了:

基于linux下的高级网络配置

基于linux下的高级网络配置

(6)然后和删除bond0时一样,用nmcli命令删除eth0,eth1和team0:

基于linux下的高级网络配置

  以上便是bond和team两种高级网络配置的创建与删除。


##############2.网络桥接配置#################################################

网络桥接用网络桥实现共享上网主机和客户机除了利用软件外,还可以用系统自带的网络桥接建立连接用双网卡的机器做主机。

       brctl #桥接管理命令 
        show #显示 
        addbr #添加网桥 
        delbr #删除网桥 
        addif #添加网桥连接 

        delif #删除网桥连接

####方法1:以命令的方法(临时的,重启网络会失效):

步骤:

<1> brctl show       #查看网桥,没有网桥

基于linux下的高级网络配置

<2> brctl addbr br0  #添加网桥br0添加网桥之前将网络关闭 

基于linux下的高级网络配置

<3> brctl show   #查看是否成功添加网桥

<4> ifconfig

基于linux下的高级网络配置

<5>ifconfig br0 172.25.254.138/24  #给该设备设置ip

<6>ifconfig br0       #查看ip是否设置成功

<7>ping 172.25.254.78     #此时ping不通

基于linux下的高级网络配置

<8> brctl show     #没有网络接口 ,所以ping不通

  基于linux下的高级网络配置

<9>brctl addif br0 eth0    # 添加eth0网络接口

<10>brctl show      #查看添加成功

基于linux下的高级网络配置

<11>ping 172.25.254.38  #此时可以ping通

还原环境:

<1>brctl delif br0 eth0   #删除网桥接口  

<5>ifconfig br0 down      #停止设备工作

<8> brctl delbr br0        #删除网桥

<11> brctl show

####方法2:以文件的方式(永久的,重启网络不会失效)

<1>cd  /etc/sysconfig/network-scripts/

<2>ls

<3>mv ifcfg-br0 ifcfg-enp0s25  /opt/

<4>ls

基于linux下的高级网络配置

<5>nm-connection-editor(完全删除其中的东西,不然会添加网桥后重启网络报错)

基于linux下的高级网络配置

<6>vim ifcfg-enp2s0     ##写入:BRIDGE=br0
<7>vim ifcfg-br0      ##写入:IPADDR=172.25.254.78(相当于一个接口)   TYPE=bridge

<8>systemctl stop NetworkManager.service 

       #此服务是图形界面的网络管理服务,当它和正常的网络服务相互冲突时有时会出现问题

<9>systemctl restart network

<10>brctl show


还原环境:

<1>rm -fr ifcfg-br0 ifcfg-enp2s0

<2>mv /opt/ifcfg-*    /etc/sysconfig/network-scripts/

<3>systemctl start NetworkManager.service

<4>systemctl restart network