多网卡绑定、网桥

网络接口配置-bonding 、网络组Network Teaming 、网桥、网络测试工具

Bonding

  • 将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。

  • 直接给两块网卡设置同一IP地址是不可以的,通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

  • bonding的特点:
    高可用、负载均衡、虚拟网卡、物理网卡MAC相同

  • bonding的优势:
    避免单点故障、增加网络带宽

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

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

bonding配置

  • 创建bonding设备的配置文件

  • /etc/sysconfig/network-scripts/ifcfg-bond0
    DEVICE=bond0
    BOOTPROTO=none
    BONDING_OPTS= “miimon=100 mode=0”
    IPADDR=
    PREFIX=
    GATEWAY=
    DNS=

  • /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=none
    MASTER=bond0
    SLAVE=yes
    USERCTL=no

  • 查看bond0状态:/proc/net/bonding/bond0

  • miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路

  • 删除bond0
    ifconfig bond0 down
    rmmod bonding

  • 详细帮助:
    /usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txt
    https://www.kernel.org/doc/Documentation/networking/bonding.txt

nmcli实现bonding

  • 添加bonding接口
    nmcli con add type bond con-name mybond0 ifname bond0 mode
    active-backup
  • 添加从属接口
    nmcli con add type bond-slave ifname ens7 master bond0
    nmcli con add type bond-slave ifname ens3 master bond0
    注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
  • 要启动绑定,则必须首先启动从属接口
    nmcli con up bond-slave-eth0
    nmcli con up bond-slave-eth1
  • 启动绑定
    nmcli con up mybond0

网卡绑定实验

  • 配置文件(mode 1 主备)

  • MAC地址相同

  • 查看当前哪个网卡正在工作

  • 掐掉正在工作的网线时,发现ping丢了一个包

  • 配置文件(mode 3 广播策略)

  • 收发双份

网络组Network Teaming

  • 网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
  • 网络组不同于旧版中bonding技术,提供更好的性能和扩展性
  • 网络组由内核驱动和teamd守护进程实现.
  • 多种方式runner
    broadcast
    roundrobin
    activebackup
    loadbalance
    lacp (implements the 802.3ad Link Aggregation Control Protocol)
  • 启动网络组接口不会自动启动网络组中的port接口
  • 启动网络组接口中的port接口总会自动启动网络组接口
  • 禁用网络组接口会自动禁用网络组中的port接口
  • 没有port接口的网络组接口可以启动静态IP连接
  • 启用DHCP连接时,没有port接口的网络组会等待port接口的加入

创建网络组接口

  • nmcli con add type team con-name CNAME ifname INAME [config JSON]
    CNAME 连接名,INAME 接口名
    JSON 指定runner方式
    格式:’{“runner”: {“name”: “METHOD”}}’
       METHOD 可以是broadcast, roundrobin, activebackup, loadbalance, lacp

创建port接口

  • nmcli con add type team-slave con-name CNAME ifname INAME master
    TEAM
    CNAME 连接名
    INAME 网络接口名
    TEAM 网络组接口名
  • 连接名若不指定,默认为team-slave-IFACE
  • nmcli dev dis INAME
  • nmcli con up CNAME
    INAME 设备名 CNAME 网络组接口名或port接口
示例:
nmcli con add type team con-name myteam0 ifname team0 config ‘{“runner”: 
{“name”: “loadbalance”}}‘ ipv4.addresses  192.168.1.100/24 ipv4.method manual

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

nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0

nmcli con up myteam0

nmcli con up team0-eth1

nmcli con up team0-eth2

teamdctl team0 state

nmcli dev dis eth1

管理网络组配置文件

  • /etc/sysconfig/network-scripts/ifcfg-team0
    DEVICE=team0
    DEVICETYPE=Team
    TEAM_CONFIG="{“runner”: {“name”: “broadcast”}}"
    BOOTPROTO=none
    IPADDR0=172.16.0.100
    PREFIX0=24
    NAME=team0
    ONBOOT=yes

  • /etc/sysconfig/network-scripts/ifcfg-team0-eth1
    DEVICE=eth1
    DEVICETYPE=TeamPort
    TEAM_MASTER=team0
    NAME=team0-eth1
    ONBOOT=yes

删除网络组

  • nmcli connection down team0
  • teamdctl team0 state
  • nmcli connection show
  • nmcli connectioni delete team0-eth0
  • nmcli connectioni delete team0-eth1
  • nmcli connection show

网桥

  • 桥接:把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来
    的。与网桥相连的主机就能通过交换机的报文转发而互相通信。
  • 主机A发送的报文被送到交换机S1的eth0口,由于eth0与eth1、eth2桥接在一起,故而报文被复制到eth1和eth2,并且发送出去,然后被主机B和交换机S2接收到。而S2又会将报文转发给主机C、D

配置实现网桥

  • 创建软件网桥
    nmcli con add con-name mybr0 type bridge con-name br0 ifname br0
    nmcli con modify mybr0 ipv4.addresses 192.168.0.100/24 ipv4.method manual
    nmcli con add con-name br0-port0 type bridge-slave ifname eth0 master br0
  • 查看配置文件
    cat /etc/sysconfig/network-scripts/ifcfg-br0
    cat /etc/sysconfig/network-scripts/ifcfg-br0-port0
  • 工具包 yum install bridge-utils
  • 查看网桥 brctl show
  • 查看CAM表 brctl showmacs br0
  • 添加和删除网桥 brctl addbr | delbr br0
  • 添加和删除网桥中网卡 brctl addif | delif br0 eth0
  • 注意:NetworkManager只支持以太网接口接口连接到网桥,不支持聚合接口

实验

在这里插入图片描述

测试网络工具

  • 在命令行下测试网络的连通性
    显示主机名
    hostname
    测试网络连通性
    ping
    显示正确的路由表
    ip route
  • 跟踪路由
    traceroute
    tracepath
    mtr
  • 确定名称服务器使用
    nslookup
    host
    dig
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值