基本概念:

  • 网络的高级控制是对网络的稳定性及网络的传输速率进行控制
  • 绑定将两个网卡合并用一个接口工作
    即就是有两个设备,这两个设备使用同一个ip
  • 链路聚合 将两个线路聚合在一起
    bonding
    ##查看传输速率 ethtools eth0

1.bond网络
linux允许管理员使用bonding内核模块和称为通道绑定接口的特殊网络接口将多个网络接口绑定到一个通道。根据选择的绑定模式,通道绑定使两个或更多的网络接口作为一个网络接口,从而增加带宽和/提供冗余性
2.Linux以太网绑定模式

  • 模式0 平衡轮循 balance-rr 循环策略 所有接口都采用轮循方式在所有Slave中传输封包;任何Slave都可以接受
  • 模式1 主动备份 容错 一次只能使用一个slave,如过接口出现故障,另一个slave将接替他,稳定模式 active-backup(一个网卡坏掉之后另一块网卡自动补上,不会中断数据传输)
  • 模式3 广播 容错 将所有的封装包都通过所有的slave接口广播,广播容错会给解析带来麻烦
  • 这里主要介绍模式1,主动备份模式

实验:
准备工作:
打开虚拟机,真机切换到超级用户,打开虚拟机图形控制器,给虚拟机加入两块网卡,返回到虚拟机,将虚拟机中原有的ip删除掉
打开虚拟机图形控制器

双击出现右侧的界面
单击添加硬件

选择网络,添加网卡




1>设定bond的名称模式,以及工作的ip
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.168/24
active-backup表示主动备份模式

2> ifconfig可以查看到ip

3> cat /proc/net/bonding/bond0查看及接口的状态,没有网卡工作
注:设定完接口之后才可以查看接口状态

4> nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0
将网卡eht0加入到接口
查看接口状态,有了eth0的信息

5> nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
将网卡eth1 加入到接口

查看接口的信息,有了eth1的信息

6> 打开另一个shell监控接口的状态

在原来的shell中操作
ifconfig eth0 down 关掉eth0
工作的网卡变为eth1

再次打开eth0,仍然是eth1工作

关掉eth1 工作的网卡变为eth0

再次打开eth1 还是eth0在工作

3.team
team中有负载均衡的模式
是一个纯粹的软件,不是内核上的插件
错误的也会生成链接,需要手动删除
准备工作

nmcli connection delete bond0 删除接口

nmcli connection delete eth0
nmcli connection delete eth1删除网卡的配置
nmcli connection show 查看设备的状态

实验:
1 加入设备team0
nmcli connection add con-name team0 ifname team0 type team config ‘{“runner”:{“name”:“activebackup”}}’ ip4 172.25.254.145/24

ifconfig查看加入的设备


2 teamdctl team0 stat
查看接口的状态

3 给接口中添加网卡
nmcli connection add con-name eth0 ifname eth0 type team-slave master team0
nmcli connection add con-name eth1 ifname eth1 type team-slave master team0


4 在另一个shell中监控接口的状态
watch -n 1 teamdctl team0 stat

5 ifconfig eth0 down
eth0的状态改变 工作的网卡变为eth1

ifconfig eth0 up
eth0的状态改变 工作的网卡不变

ifconfig eth1 down
eth1的状态改变 工作的网卡变为eth0

ifocnfig eth1 up
eth1的状态改变 工作的网卡不变

注意:如果添加接口的时候写错,提示了接口添加成功,在系统中会生成一个错误的链接,这时需要删除错误的链接

实验完成后删除添加的所有设定
现在有三个设备

删除team接口
nmcli connection delete team0
删除两个eth0,eth1

################################
桥接接口

  • 网关是用来作源地址转换的
  • 有桥接的网络通信速率比没有桥接的网络快
  • 同一网段的不需要网关来做地址转换,可以直接通信
  • 桥接是将不在同一网络区域的主机使其在统一网段中
  • 内核是系统的核心软件,每一个操作系统都有自己独立的内核
  • 默认模式会使真实主机的内核负载过高,从而影响虚拟机的运行以及传输速率
  • 网桥 br0 是虚拟机和真实主机之间可以通过网卡来通信,让虚拟机可以来使用真实的物理网卡
  • 在真实主机中开启一个网桥
    BRIDGE=br0
    默认类型是以太网,设置网桥时需要手动设定类型为bridge
    会记录当前的网络状态

桥接接口对安装虚拟机的影响
本实验在真实主机上操作,实验之前先备份配置文件
将主机中原来的网桥和网络配置文件备份到/mnt/下:


1 安装虚拟机没有桥接选项
ifconifg查看ip不在同一网段
2 [root@foundation45 network-scripts]# ifconfig
没有桥接
3 加入桥接

[root@foundation45 network-scripts]# cat ifcfg-Ethernet_connection_1
BOOTPROTO=none
NAME="Ethernet connection 1"
DEVICE=enp0s25
ONBOOT=yes
BRIDGE=br0
[root@foundation45 network-scripts]# cat ifcfg-br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=none
DEVICE=br0
IPADDR=172.25.254.45
PREFIX=24
[root@foundation45 network-scripts]# systemctl stop NetworkManager
[root@foundation45 network-scripts]# systemctl restart network

4查看是否有桥接

 [root@foundation45 network-scripts]# ifconfig
有桥接[root@foundation45 network-scripts]# brctl show
bridge name bridge id       STP enabled interfaces
br0     8000.0021ccb9143c   no      enp0s25
privbr0     8000.5254009f305a   yes     privbr0-nic
virbr0      8000.525400230aa1   yes     virbr0-nicvnet0
virbr1      8000.52540090b85f   yes     virbr1-nic

5 安装虚拟机有桥接

6 删除桥接以及网络配置文件

[root@foundation45 network-scripts]# rm -fr ifcfg-br0 ifcfg-Ethernet_connection_1
[root@foundation45 network-scripts]# ls
ifcfg-lo     ifdown-ovs       ifup          ifup-ovs     ifup-TeamPort
ifdown       ifdown-post      ifup-aliases  ifup-plip    ifup-tunnel
ifdown-bnep  ifdown-ppp       ifup-bnep     ifup-plusb   ifup-wireless
ifdown-eth   ifdown-routes    ifup-eth      ifup-post    init.ipv6-global
ifdown-ib    ifdown-sit       ifup-ib       ifup-ppp     keys-99999
ifdown-ippp  ifdown-Team      ifup-ippp     ifup-routes  network-functions
ifdown-ipv6  ifdown-TeamPort  ifup-ipv6     ifup-sit     network-functions-ipv6
ifdown-isdn  ifdown-tunnel    ifup-isdn     ifup-Team

7 重新编辑网络配置文件

[root@foundation45 network-scripts]# cat ifcfg-haha
DEVICE=enp0s25
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.45
PREFIX=24

再次配置文件之后重启网络,ifconfig查看还有桥接设备,再次重启之后没有

[root@foundation45 network-scripts]# brctl show
bridge name bridge id       STP enabled interfaces
br0     8000.0021ccb9143c   no      enp0s25
privbr0     8000.5254009f305a   yes     privbr0-nic
virbr0      8000.525400230aa1   yes     virbr0-nic
virbr1      8000.52540090b85f   yes     virbr1-nic

8 重启之后查看

[root@foundation45 network-scripts]# brctl show
bridge name bridge id       STP enabled interfaces
privbr0     8000.5254009f305a   yes     privbr0-nic
virbr0      8000.525400230aa1   yes     virbr0-nic
virbr1      8000.52540090b85f   yes     virbr1-nic

ifconfig没有桥接接口

将系统还原
复制之前的文件到目录下,删除自己建立的配置文件
重启系统

  • 配置临时网络的方法
    ifconfig enp0s25 172.25.254.xx/24

  • 用命令添加的都是临时的,永久的不生效的时候需要用临时的来刷新一下

  • ping不通,桥接接口和物理设备没有连接

  • 实验之前需要将之前设置的team删除掉,因为team0 占用了eth0网卡

  • 桥接接口删除的时候应该先将桥接接口从硬件设备上摘下来,然后关闭桥接接口,最后在删除桥接接口

4.配置桥接接口
1).添加桥接接口
brctl show 查看存在的桥接接口

brctl addbr br0 添加桥接接口
brctl show 查看成功添加桥接接口

ifconfig 查看添加的桥接接口信息以及存在的网卡

ifconfig br0 172.25.254.1xx/24 临时配置桥接接口的网络
ifconfig 查看桥接接口的网络状态

ping 172.25.254. 68检测有没有配置成功,ping不通,没有连接物理设备

brctl show 查看到桥接接口没有连接物理设备
brctl addif br0 eth0 将桥接接口与物理设备相连
brctl show 查看到桥接接口与物理设备连接

ping 172.25.254. 68检测配置成功,可以ping通,连接了物理设备

2). 删除桥接接口
brctl show 查看到桥接接口与物理设备连接

brctl delif br0 eth0 断开物理设备与桥接接口的连接
brctl show 查看到桥接接口没有连接物理设备

ifconfig br0 down 关闭br0,不关闭的话会出现报错
brctl delbr br0 删除桥接接口
brctl show 查看到没有任何的桥接接口

ifconfig 没有桥接接口的相关信息

Linux中的高级网络控制相关推荐

  1. Linux中的远程访问及控制

    文章目录 Linux中的远程访问及控制 SSH远程管理 OpenSSH服务器 ssh原理 公钥传输原理 ssh加密通讯原理 对称加密 非对称加密 配置OpenSSH服务端 登陆 服务端配置 ssh客户 ...

  2. Linux 中的 netcat 网络工具简介

    Linux 中的 netcat 网络工具简介 Apr 3, 2020 |  Linux |  linux netcat netcat 是 Linux 系统中的网络工具,其通过 TCP 和 UDP 协议 ...

  3. Linux服务5:Linux高级网络控制

    目录: 1.网卡聚合 2.bond聚合 3.team聚合 4.配置网络桥接 4.1什么是网络桥接 4.2网络桥接的管理命令 4.3实验 5.在虚拟机中使用桥接网络和删除桥接网络 1.网卡聚合 (1)网 ...

  4. Linux运维之高级网络控制(bond,team和网络桥接)

    一.网络链路聚合介绍 网络的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,为用户提供不间断的网络服务,同时也可以提高网络访问速度. 实现网 ...

  5. Linux 中的虚拟网络

    虚拟化网络 我们从问题的高层次开始探索,然后深入到 Linux构建和支持的网络虚拟化各种方法. 1.传统网络基础架构 2.虚拟的网络设施 3.虚拟交换机 虚拟网络设施的关键开发之一就是虚拟交换机.虚拟 ...

  6. linux alsa 音频管理,在Linux上的高级音频控制

    Linux音频控制与Linux音频系统结构一样混乱. 长篇小说,经过多年的发展,默认的声音控制工具看起来像这样: 设置音量级别的默认和唯一选项可能对于大多数用户来说是足够的,但是当您想要设置特定音频级 ...

  7. 在Linux中进行docker网络端口映射

    在Linux中有两种安装docker的方法,一种是使用官方安装脚本自动安装docker,另一种是手动安装docker. 容器中可以运行一些应用,要让外部也可以访问这些应用,可以通过"-P或- ...

  8. linux中KVM的网络设置

    ENV: [root@Fedora ~]# uname -r 5.2.9-200.fc30.x86_64 [root@Fedora ~]# cat /etc/redhat-release Fedora ...

  9. Linux中三种网络模式是什么意思——bridged(一桥接模式)

    原文链接:http://www.linuxidc.com/Linux/2016-09/135521.htm 由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很 ...

最新文章

  1. Nginx源码分析链接
  2. 右脑编程法--左脑是基础(4)之语言篇
  3. 房天下数据爬取及简单数据分析
  4. python提取英文单词 每行显示一个_使用python对文件中的单词进行提取
  5. CSS基本知识之常用的选择器分类
  6. 量化策略开发中的参数调优
  7. 神spfa [Noi2014]魔法森林
  8. 2019蓝桥杯B组:完全二叉树权值
  9. C++走向远洋——35(友元,时间)
  10. 人工神经网络—神经元的数学模型
  11. DongDong认亲戚 来源:牛客网
  12. 【单片机基础篇】 人体红外感应传感器模块
  13. 让我们恭喜阿根廷队夺得大力神杯
  14. MG动画值得企业参与应用吗?
  15. MGAT: Multimodal Graph Attention Network for Recommendation
  16. oracle数据库_实例_用户_表空间之间的关系
  17. Vue style里面使用scoped属性并@import引入外部css, 作用域是全局的解决方案
  18. kubernetes (k8s) 与 Docker 关系
  19. 杭州海赢科技分享2021速卖通牙科用品招商入驻规则
  20. 湘大校内好项目,现诚寻可靠的创业合伙人

热门文章

  1. mysql只有32位的吗_#金鸡奖##星辰大海演员计划#32位青年演员曝光,并非只有周冬雨斩获过金马奖...
  2. numpy python取表格的前几行前几列 某行某列
  3. VUE router 导航重复点击报错的问题解决两种方案
  4. 精读5G:关于5G的NSA和SA,看完秒懂!
  5. 关于STAR-CCM+中interface的个人思考
  6. starGan-v2论文复现-代码完整
  7. 欺骗的艺术----(5)
  8. 京东文件存储服务器,紫晶存储智能家庭云服务器登录中国移动和彩云 首个京东官方旗舰店助力消费者业务...
  9. vue中响应式是什么?怎么理解响应式原理?
  10. ElementUI引入自定义图标