linux基础之网络篇第四章nmcli绑定

  • nmcli 上篇已经介绍了创建网卡配置,网卡切换等
  • 在CentOS7里面如何实现多网卡绑定
  • 也可以修改文件,这里是用命令
  • 我们先定义一个IP:我定义的是172.17.250.89
  • ping下IP,他是不通的
[root@localhost ~]# ping 172.17.250.89
PING 172.17.250.89 (172.17.250.89) 56(84) bytes of data.
From 172.17.254.78 icmp_seq=2 Destination Host Unreachable
From 172.17.254.78 icmp_seq=3 Destination Host Unreachable
From 172.17.254.78 icmp_seq=4 Destination Host Unreachable
From 172.17.254.78 icmp_seq=6 Destination Host Unreachable
From 172.17.254.78 icmp_seq=7 Destination Host Unreachable
From 172.17.254.78 icmp_seq=8 Destination Host Unreachable

nmcli绑定

  • 首先我们先用命令来生成配置文件 ,用命令nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup
[root@localhost ~]# nmcli connection add  type bond con-name bond0 ifname bond0 mode active-backup 
Connection 'bond0' (282d8832-e1ea-43de-b769-fae4b26d7244) successfully added.
  • 来查看下配置生成了没有,使用命令nmcli connection show,下面的bond0就是我们生成的文件
[root@localhost ~]# nmcli connection show 
NAME                UUID                                  TYPE            DEVICE 
Wired connection 1  d2444c8a-2a16-3338-9558-5920b573bc91  802-3-ethernet  eth0   
Wired connection 2  679bea27-b8ed-3e8e-94a5-62329f148f3e  802-3-ethernet  eth1   
Wired connection 3  d094d2c1-6fac-3b62-81c8-4bbae33bbc12  802-3-ethernet  eth2   
bond0               282d8832-e1ea-43de-b769-fae4b26d7244  bond                
ens33               d5b2a714-b9f6-44dc-9724-45d60edbde62  802-3-ethernet  --     
ens34               a688a753-ba50-416b-bd37-02d240901857  802-3-ethernet  --    
  • 我们在来查看下他的格式
[root@localhost network-scripts]# cat ifcfg-bond0
DEVICE=bond0
BONDING_OPTS=mode=active-backup
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=bond0
UUID=282d8832-e1ea-43de-b769-fae4b26d7244
ONBOOT=yes
  • 接下来我们给他配地址m,使用命令 nmcli connection modify bond0 ipv4.method manual ipv4.addresses 172.17.250.89/24
[root@localhost network-scripts]# nmcli connection modify  bond0 ipv4.method manual ipv4.addresses  172.17.250.89/24
  • 在来查看下网卡配置状态
[root@localhost network-scripts]# cat ifcfg-bond0
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=bond0
UUID=282d8832-e1ea-43de-b769-fae4b26d7244
ONBOOT=yes
BONDING_OPTS=mode=active-backup
IPADDR=172.17.250.89
PREFIX=24
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
  • 查看下地址,没有获取到IP不能ping通,只是配置文件里面有IP
[root@localhost network-scripts]# ifconfig
bond0: flags=5123<UP,BROADCAST,MASTER,MULTICAST>  mtu 1500
        ether be:bf:fb:4a:60:e2  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 接下来我们使用nmcli connection up bond0命令让配置文件生效
[root@localhost network-scripts]# nmcli connection up bond0
  • 查看下配置文件,bond0已经生效里面已经有了IP,我们看看他是否通了
[root@localhost ~]# ifconfig
bond0: flags=5123<UP,BROADCAST,MASTER,MULTICAST>  mtu 1500
        inet 172.17.250.89  netmask 255.255.255.0  broadcast 172.17.250.255
        ether be:bf:fb:4a:60:e2  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 查看下,另外一台电脑是否ping通
  • 已经ping通
[root@localhost ~]# ping 172.17.250.89
PING 172.17.250.89 (172.17.250.89) 56(84) bytes of data.
64 bytes from 172.17.250.89: icmp_seq=1 ttl=64 time=0.758 ms
64 bytes from 172.17.250.89: icmp_seq=2 ttl=64 time=0.753 ms
64 bytes from 172.17.250.89: icmp_seq=3 ttl=64 time=0.471 ms
64 bytes from 172.17.250.89: icmp_seq=4 ttl=64 time=1.06 ms
64 bytes from 172.17.250.89: icmp_seq=5 ttl=64 time=0.487 ms
64 bytes from 172.17.250.89: icmp_seq=6 ttl=64 time=0.429 ms
  • 现在只是给他IP 还没有给他绑定物理网卡,他没有容错功能
  • 接下来把eth0和eth1绑定到bond0里面
[root@localhost ~]# ifconfig
bond0: flags=5123<UP,BROADCAST,MASTER,MULTICAST>  mtu 1500
        inet 172.17.250.89  netmask 255.255.255.0  broadcast 172.17.250.255
        ether be:bf:fb:4a:60:e2  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.31.128  netmask 255.255.255.0  broadcast 192.168.31.255
        inet6 fe80::a29b:8116:eaca:f436  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:52:72:d2  txqueuelen 1000  (Ethernet)
        RX packets 885  bytes 89264 (87.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 465  bytes 63242 (61.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.254.77  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::edc6:9ab6:837e:b8f7  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:52:72:dc  txqueuelen 1000  (Ethernet)
        RX packets 39525  bytes 3170826 (3.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5186  bytes 535096 (522.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 我们用nmcli connection add type bond-slave ifname eth0 master命令来执行,添加eth0和eth1
[root@localhost ~]# nmcli  connection add  type  bond-slave  ifname eth0 master bomd0
Warning: master='bomd0' doesn't refer to any existing profile.
Connection 'bond-slave-eth0-1' (5d1bf5be-89da-4983-bff8-c06d12ace0bb) successfully added.
  • 现在我们查看下/etc/sysconfig/network-scripts/路径下的文件
  • 已经多了些配置文件
[root@localhost network-scripts]# ls
ifcfg-bond0              ifcfg-ens34  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
ifcfg-bond-slave-eth0ifdown       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
ifcfg-ens33              ifdown-eth   ifdown-post  ifdown-TeamPort  ifup-eth       ifup-plip  ifup-sit     init.ipv6-global
  • 接下来我们关联到物理网卡上
[root@localhost network-scripts]# nmcli connection up  bond-slave-eth0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/12)
[root@localhost network-scripts]# nmcli connection up  bond-slave-eth1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/12)
  • 我们在来查询绑定的情况
  • 他们MAC地址完全相同
  • 绑定成功
[root@localhost ~]# ifconfig
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
        inet 172.17.250.89  netmask 255.255.255.0  broadcast 172.17.250.255
        inet6 fe80::28c9:f0c9:1483:a02d  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:52:72:d2  txqueuelen 1000  (Ethernet)
        RX packets 52  bytes 3486 (3.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 19  bytes 1310 (1.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 00:0c:29:52:72:d2  txqueuelen 1000  (Ethernet)
        RX packets 1627  bytes 156249 (152.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1050  bytes 139562 (136.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eth1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
        ether 00:0c:29:52:72:d2  txqueuelen 1000  (Ethernet)
        RX packets 600  bytes 61748 (60.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 134  bytes 18898 (18.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 接下来我们去 /proc/net/bonding/bond0路径下面查看下他们的绑定关系
  • None表示运行中,up表示待命状态
  • 绑定配置成功
[root@localhost ~]# 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: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:52:72:d2
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:52:72:e6
Slave queue ID: 0
[root@localhost ~]# 
  • 接下来删除bond0 用命令connection down bond0,先下线
[root@localhost ~]# nmcli   connection down bond0
Connection 'bond0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/11)
  • 下线以后我们来看下配置
  • bond0 模块也自动下线了
[root@localhost ~]# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:52:72:d2  txqueuelen 1000  (Ethernet)
        RX packets 1636  bytes 157932 (154.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1066  bytes 140574 (137.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:52:72:dc  txqueuelen 1000  (Ethernet)
        RX packets 52659  bytes 4215036 (4.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5397  bytes 554782 (541.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 接下来我们删除链接 用nmcli connection delete命令删除,也可以直接删除文件,我就直接删除文件了
[root@localhost network-scripts]# rm -rf  /etc/sysconfig/network-scripts/ifcfg-bond*
  • 在用nmcli connection reload 读取一下就完成了
    [root@localhost network-scripts]# nmcli connection reload
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,125评论 9 467
  • hexdump -C 查看二进制文件 xxd:查看二进制文件 whatis 简单描述命令的用途whatis c...
    JevonWei阅读 768评论 0 0
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,128评论 2 34
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,585评论 18 139
  • 本文整理了在实践过程中使用的Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lso...
    老夫刘某阅读 3,495评论 0 7