linux高级网络管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux高级网络管理相关的知识,希望对你有一定的参考价值。

Linux中有3大高级的网络管理工具:bondteambridge。其中bond就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡,,提供更好的性能和扩展性。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡被修改为相同的MAC地址。team网络组是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量,它不同于旧版中bonding技术,提供更好的性能和扩展性,team由内核驱动和teamd守护进程实现。bridge网桥就是把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。接下来小编会一一介绍它们每个的用法。

一、bond 网络接口

1bond 的三种工作模式

  Mode 0 (balance-rr)

 轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力。  

  Mode 1 (active-backup)

 活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见。

  Mode 3 (broadcast)

  广播策略:在所有的slave接口上传送所有的报文,提供容错能力。

  注意:active-backupbalance-tlbbalance-alb模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接

2利用nmcli管理bond

       a. 添加bonding接口

     nmcli connection add type bond con-name mrjbond0 ifname mrjbond0 mode active-backup

    b.添加从属接口

     nmcli connection add type bond-slave ifname eth0 master mrjbond0

   c.要启动绑定,首先启动从属接口,再启动绑定

     nmcli connection up bond-slave-eth0

     nmcli connection up mrjbond0

3、主动备份的配置示例

   a.建立绑定接口 bond0 配置文件 :

 /etc/sysconfig/network-scripts/ifcfg-mrjbond0

BOOTPROTO="none"
    – IPADDR="10.1.1.250"
    – PREFIX=24
    – ONBOOT="yes"
    – BONDING_OPTS=mode=1 miimon=50
    b.建立 Slave 接口 eth0 配置文件 :
   /etc/sysconfig/network-scripts/ifcfg-mrjbond0
    – DEVICE="eth0"         ####硬件网卡名
    – BOOTPROTO="none"
    – ONBOOT="yes"
    – MASTER="mrjbond0"
    – SLAVE="yes
   c.配置系统加载 binding 模块 :
    /etc/modprobe.d/bonding.conf
    alias mrjbond0 bonding
      ifenslave mrjbond0 eth0

systemctl stop NetworkManager
      systemctl restart network

查看 bonding 状态

   cat /proc/net/bonding/mrjbond0

二、team 网络组

1team的种类

broadcast     广播容错
    roundrobin    轮询
    activebackup  主备
    loadbalance   负载均衡

2、通过nmcli设定team

   a. 创建网络接口组team

  nmcli connection add type team con-name mrjteam0 ifname mrjteam0 config ‘{"runner":{"name":"activebackup"}}‘

b. 创建port接口

    nmcli connection add type team-slave ifname eth0 master mrjteam0

d. 启动接口

    nmcli connection up team-slave-eth0

    nmcli connection up mrjteam0

3、测试能否拼通

    [[email protected] network-scripts]#ping 192.168.206.148

    PING 192.168.206.148 (192.168.206.148) 56(84) bytes of data.

    64 bytes from 192.168.206.148: icmp_seq=1 ttl=64 time=0.045 ms

    64 bytes from 192.168.206.148: icmp_seq=2 ttl=64 time=0.055 ms

    64 bytes from 192.168.206.148: icmp_seq=3 ttl=64 time=0.054 ms

    64 bytes from 192.168.206.148: icmp_seq=4 ttl=64 time=0.121 ms

三、bridge 网桥

1、网络桥接管理的命令

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

2、网络桥接的配置

   vim /etc/sysconfig/network-scripts/ifcfg-eth0
       DEVICE=eth0       ###设备名,可能不同
       ONBOOT=yes
       BOOTPROTO=none
       BRIDGE=mrjbr0      ###重点,必须说明
      vim /etc/sysconfig/network-scripts/ifcfg-mrjbr0
       DEVICE=eth0      
       ONBOOT=yes
       BOOTPROTO=none
       TYPE=Bridge      ###重点,必须说明
       IPADDR=192.168.206.148

3、通过nmcli来设定bridge

a. 创建软件网桥

       nmcli connection add type bridge con-name mrjbr0 ifname mrjbr0

       nmcli connection modify mrjbr0 ipv4.addresses 192.168.2.66 ipv4.method manual

       nmcli connection add type bridge-slave ifname eth0 master mrjbr0

b. 启动

      nmcli connection up bridge-slave-eth0

      nmcli connection up mrjbr0

c. 删除网桥

       brctl  delbr br0

d. 删除网桥中的网卡 

   brctl delif eth0

 最后,大家要特别注意文中标注的红色字体,小编在做第一次实验时就整错了哦!技术分享


以上是关于linux高级网络管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux——高级编程之概要

linux高级网络管理

Linux C高级编程——网络编程

Linux系统管理-网络基础集锦及Linux网络配置高级使用

linux 笔记 3-2.高级网络配置

Linux文件/目录管理(高级)