在配置Centos6时,大家第一想到的就是把networkManager这个服务关掉,让它消失,这个服务台太鸡肋了,不该起作用的时候经常起作用,给管理带来了不便,但是在Centos7当中networkManager的bug已经修复了,并且可以使用一个很强大的命令nmcli来管理(nmcli命令依赖networkManager服务)。我不知道为什么红帽官方为什么要推荐使用这么强大复杂的,不是应该越简洁越好么,但是既然推荐了,那么还是好好练习一下吧,没准儿就像git一样,虽然复杂,但是用熟练了可以提升n倍的工作效率。因为nmcli命令非常复杂,所以就单独写一篇博客了。
nmcli一些基础用法,nmcli后面的命令是支持缩写的,但是本篇博客就用完整的名字来写了:
nmcli connection show 显示网卡配置信息
- [root@newhostname etc]# nmcli connection show
- 名称 UUID 类型 设备
- Bond bond0 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond bond0
- System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
- System ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet ens38
- eth0 4a5516a4-dfa4-24af-b1c4-e843e312e2fd 802-3-ethernet ens37
有设备标注的表示已经启用的网卡配置文件
nmcli connection delete 删除一个网卡配置文件
- [root@newhostname network-scripts]# cp ifcfg-ens37 ifcfg-ens37.bak
- [root@newhostname network-scripts]# nmcli connection delete eth0
- 成功删除连接 ‘eth0’(4a5516a4-dfa4-24af-b1c4-e843e312e2fd)。
查看一下是否删除了
- [root@newhostname network-scripts]# ls | grep ifcfg-ens
- ifcfg-ens33
- ifcfg-ens37.bak
- ifcfg-ens38
恢复配置
- [root@newhostname network-scripts]# mv ifcfg-ens37.bak ifcfg-ens37
- [root@newhostname network-scripts]# nmcli connection show
- 名称 UUID 类型 设备
- Bond bond0 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond bond0
- System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
- System ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet ens38
- Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
配置恢复了
现在我们来用nmcli命令来添加配置文件
首先,我们需要先知道,在服务器上启用的网卡
使用 nmcli device命令可以查看到网卡的连接状态
- [root@newhostname network-scripts]# nmcli device
- 设备 类型 状态 连接
- bond0 bond 连接的 Bond bond0
- ens33 ethernet 连接的 System ens33
- ens37 ethernet 连接的 Wired connection 1
- ens38 ethernet 连接的 System ens38
- lo loopback 未托管 —
可以这样理解nmcli device 类似 ip link
现在我们来为bond0添加网卡配置文件
- [root@newhostname ~]# nmcli connection add con-name bond0-office ifname bond0 type bond mode 0 ipv4.method auto
- 连接“bond0-office”(86f5c5d1-7b22-425f-96ad-cce91da27f98) 已成功添加。
- #con-name: 表示设备别名,文件的标识
- #type: 类型 bond、ethernet、brigde
- #ifname :设备名
- #ipv4.method : manual 为手动配置 ;auto为自动(可以获取dhcp)
- #ipv4.addresses : ipv4的IP地址
- #ipv4.gateway : ipv4的网关
- #ipv4.dns : ipv4的dns服务器
通过nmcli connection add 方法,我们成功的添加了一个新的网卡配置文件
我们再来看一下文件的状态
- [root@newhostname ~]# nmcli connection show
- 名称 UUID 类型 设备
- Bond bond0 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond bond0
- System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
- System ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet ens38
- Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
- bond0-office 86f5c5d1-7b22-425f-96ad-cce91da27f98 bond —
可以看出,新加的网卡配置文件并没有启用,我们现在启用这个配置文件
- [root@newhostname ~]# nmcli connection up bond0-office #刚才实验其实做错了,我这里就不写了,在创建文件的时候,如果是bond类型,那么type必须是bond,如果不写type,这里是激活不了的
- 成功激活(主服务器等待从服务器)连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/15)
我们查看一下新的配置文件状态和属性
- [root@newhostname ~]# nmcli connection show bond0-office
- connection.id: bond0-office
- connection.uuid: 86f5c5d1-7b22-425f-96ad-cce91da27f98
- connection.stable-id: —
- connection.interface-name: bond0
- connection.type: bond
- connection.autoconnect: yes
- connection.autoconnect-priority: 0
- connection.autoconnect-retries: –1 (默认)
- connection.timestamp: 1513493496
- connection.read-only: no
- connection.permissions: —
- connection.zone: —
- connection.master: —
- connection.slave-type: —
- connection.autoconnect-slaves: –1 (默认)
- connection.secondaries: —
- connection.gateway-ping-timeout: 0
- connection.metered: 未知
- connection.lldp: –1 (default)
- ipv4.method: auto
- ipv4.dns: —
- ipv4.dns-search: —
- ipv4.dns-options: (默认)
- ipv4.dns-priority: 0
- ipv4.addresses: —
- ipv4.gateway: —
- ipv4.routes: —
- ipv4.route-metric: –1
- ipv4.ignore-auto-routes: no
- ipv4.ignore-auto-dns: no
- ipv4.dhcp-client-id: —
- ipv4.dhcp-timeout: 0
- ipv4.dhcp-send-hostname: yes
- ipv4.dhcp-hostname: —
- ipv4.dhcp-fqdn: —
- ipv4.never-default: no
- ipv4.may-fail: yes
- ipv4.dad-timeout: –1 (默认)
- ipv6.method: auto
- ipv6.dns: —
- ipv6.dns-search: —
- ipv6.dns-options: (默认)
- ipv6.dns-priority: 0
- ipv6.addresses: —
- ipv6.gateway: —
- ipv6.routes: —
- ipv6.route-metric: –1
- ipv6.ignore-auto-routes: no
- ipv6.ignore-auto-dns: no
- ipv6.never-default: no
- ipv6.may-fail: yes
- ipv6.ip6-privacy: –1 (未知)
- ipv6.addr-gen-mode: stable-privacy
- ipv6.dhcp-send-hostname: yes
- ipv6.dhcp-hostname: —
- ipv6.token: —
- bond.options: mode=balance-rr
- proxy.method: none
- proxy.browser-only: no
- proxy.pac-url: —
- proxy.pac-script: —
- GENERAL.名称: bond0-office
- GENERAL.UUID: 86f5c5d1-7b22-425f-96ad-cce91da27f98
- GENERAL.设备: bond0
- GENERAL.状态: 已激活 #激活状态
- GENERAL.默认: 否
- GENERAL.默认6: 否
- GENERAL.VPN 参数: 否
- GENERAL.区: —
- GENERAL.DBUS路径: /org/freedesktop/NetworkManager/ActiveConnection/15
- GENERAL.连接路径: /org/freedesktop/NetworkManager/Settings/7
- GENERAL.指定对象: —
- GENERAL.主路径: —
- IP4.地址[1]: 172.18.16.206/16 #自动获取的地址
- IP4.网关: 172.18.0.1
- IP4.DNS[1]: 223.5.5.5
- IP4.DNS[2]: 223.6.6.6
- IP4.域[1]: —
- DHCP4.选项[1]: requested_routers = 1
- DHCP4.选项[2]: requested_domain_search = 1
- DHCP4.选项[3]: requested_time_offset = 1
- DHCP4.选项[4]: requested_domain_name = 1
- DHCP4.选项[5]: requested_rfc3442_classless_static_routes = 1
- DHCP4.选项[6]: requested_classless_static_routes = 1
- DHCP4.选项[7]: dhcp_server_identifier = 172.18.0.1
- DHCP4.选项[8]: requested_wpad = 1
- DHCP4.选项[9]: requested_broadcast_address = 1
- DHCP4.选项[10]: next_server = 0.0.0.0
- DHCP4.选项[11]: broadcast_address = 172.18.255.255
- DHCP4.选项[12]: requested_interface_mtu = 1
- DHCP4.选项[13]: requested_subnet_mask = 1
- DHCP4.选项[14]: expiry = 1513494096
- DHCP4.选项[15]: dhcp_message_type = 5
- DHCP4.选项[16]: ip_address = 172.18.16.206
- DHCP4.选项[17]: routers = 172.18.0.1
- DHCP4.选项[18]: domain_name = magedu.com
- DHCP4.选项[19]: requested_static_routes = 1
- DHCP4.选项[20]: requested_nis_servers = 1
- DHCP4.选项[21]: requested_ntp_servers = 1
- DHCP4.选项[22]: requested_domain_name_servers = 1
- DHCP4.选项[23]: dhcp_lease_time = 600
- DHCP4.选项[24]: domain_name_servers = 223.5.5.5 223.6.6.6
- DHCP4.选项[25]: requested_ms_classless_static_routes = 1
- DHCP4.选项[26]: subnet_mask = 255.255.0.0
- DHCP4.选项[27]: network_number = 172.18.0.0
- DHCP4.选项[28]: requested_host_name = 1
- DHCP4.选项[29]: requested_nis_domain = 1
- IP6.地址[1]: fe80::8714:3d23:b1a9:73b7/64
- IP6.地址[2]: fe80::cd18:b4a3:9d06:2ff3/64
- IP6.地址[3]: fe80::da49:1504:e231:df1a/64
- IP6.网关: —
看一下配置文件
- [root@newhostname ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0-office
- DEVICE=bond0
- BONDING_OPTS=mode=balance-rr
- TYPE=Bond
- BONDING_MASTER=yes
- PROXY_METHOD=none
- BROWSER_ONLY=no
- BOOTPROTO=dhcp
- 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-office
- UUID=86f5c5d1-7b22-425f-96ad-cce91da27f98
- ONBOOT=yes
我们创建的是一个bond设备配置文件,那么就需要slave网卡来支撑,下面我们在添加连个slave网卡
- [root@newhostname ~]# nmcli connection add type bond-slave ifname ens33 master bond0
- 连接“bond-slave-ens33”(0c0f0e30-6f4a-4fb2-9237-c8380225f61a) 已成功添加。
- [root@newhostname ~]# nmcli connection add type bond-slave ifname ens38 master bond0
- 连接“bond-slave-ens38”(1a21b214-4e3e-435c-8c2b-ab4ca2934980) 已成功添加。
OK!我们来看下这俩网卡的配置文件
- [root@newhostname network-scripts]# cat ifcfg-bond-slave-ens3[38] # 刚才我没有指定管理文件名,系统默认给起了一个ifcfg-bond-slave-ens33 和 ifcfg-bond-slave-ens38 如果要指定名字可以使用 con-name
- TYPE=Ethernet
- NAME=bond-slave-ens33
- UUID=0c0f0e30-6f4a-4fb2-9237-c8380225f61a
- DEVICE=ens33
- ONBOOT=yes
- MASTER=bond0
- SLAVE=yes
- TYPE=Ethernet
- NAME=bond-slave-ens38
- UUID=1a21b214-4e3e-435c-8c2b-ab4ca2934980
- DEVICE=ens38
- ONBOOT=yes
- MASTER=bond0
- SLAVE=yes
查看一下现在生效的配置文件
- [root@newhostname network-scripts]# nmcli connection show
- 名称 UUID 类型 设备
- System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
- System ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet ens38
- Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
- bond0-office 86f5c5d1-7b22-425f-96ad-cce91da27f98 bond bond0
- Bond bond0 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond —
- bond-slave-ens33 0c0f0e30-6f4a-4fb2-9237-c8380225f61a 802-3-ethernet —
- bond-slave-ens38 1a21b214-4e3e-435c-8c2b-ab4ca2934980 802-3-ethernet —
因为我们之前已经将bond0-office启用了,所以再把ifcfg-bond-slave-ens33 和 ifcfg-bond-slave-ens38启用就好了
- [root@newhostname network-scripts]# nmcli connection up bond-slave-ens33
- 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/18)
- [root@newhostname network-scripts]# nmcli connection up bond-slave-ens38
- 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/19)
现在看来也不是太麻烦,名字长用tab键补全完全没问题!
如果我们不用bond,需要给普通网卡添加设置type可以不写,也可以写type ethernet,后面的参数正常配置就OK了。
修改配置文件
我们可以通过nmcli connection modity 来实现修改配置文件。
我们先来添加一个ip地址看看
- [root@newhostname network-scripts]# nmcli connection modify bond0-office +ipv4.addresses 172.18.30.1/16
- [root@newhostname network-scripts]# cat ifcfg-bond0-office
- DEVICE=bond0
- BONDING_OPTS=mode=balance-rr
- TYPE=Bond
- BONDING_MASTER=yes
- PROXY_METHOD=none
- BROWSER_ONLY=no
- BOOTPROTO=dhcp
- 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-office
- UUID=86f5c5d1-7b22-425f-96ad-cce91da27f98
- ONBOOT=yes
- IPADDR=172.18.30.1
- PREFIX=16
我们再来删掉这个地址
- [root@newhostname network-scripts]# nmcli connection modify bond0-office -ipv4.addresses 172.18.30.1
- [root@newhostname network-scripts]# cat ifcfg-bond0-office
- DEVICE=bond0
- BONDING_OPTS=mode=balance-rr
- TYPE=Bond
- BONDING_MASTER=yes
- PROXY_METHOD=none
- BROWSER_ONLY=no
- BOOTPROTO=dhcp
- 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-office
- UUID=86f5c5d1-7b22-425f-96ad-cce91da27f98
- ONBOOT=yes
由以上操作可以看出,nmcli connection modify 是可以添加减少,直接修改网络参数的
对配置文件和设备的一些操作
这些操作很简单,简单列出来就好了
nmcli connection down bond0-office 关闭bond0-office配置文件
nmcli connection up bond0-office 启用这个配置文件
nmcli device down bond0 关闭设备,是设备不是文件
nmcli device up bond0 启用这个设备
再来说一个新玩意儿“网络组Network Teaming”
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量;网络组不同于旧版中bonding技术,提供更好的性能和扩展性,由内核驱动和teamd守护进程实现.这玩意儿展现的形式就和bond差不多,和bond的功能也差不多,据官方说这个要比bond性能高很多,但是在生产上还不太敢用,这里先把配置方法写出来吧,没准儿以后会用到。
我们来添加一个网络组:
1、我们先删掉所有的网卡配置文件
- [root@newhostname network-scripts]# nmcli connection show
- 名称 UUID 类型 设备
- Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
- bond-slave-ens33 0c0f0e30-6f4a-4fb2-9237-c8380225f61a 802-3-ethernet ens33
- bond-slave-ens38 1a21b214-4e3e-435c-8c2b-ab4ca2934980 802-3-ethernet ens38
- bond0-office 86f5c5d1-7b22-425f-96ad-cce91da27f98 bond bond0
- Bond bond0 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond —
- System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet —
- System ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet —
- [root@newhostname network-scripts]# nmcli con del bond0-office
- 成功删除连接 ‘bond0-office’(86f5c5d1-7b22-425f-96ad-cce91da27f98)。
- [root@newhostname network-scripts]# nmcli con del Bond\ bond0
- 成功删除连接 ‘Bond bond0’(ad33d8b0-1f7b-cab9-9447-ba07f855b143)。
- [root@newhostname network-scripts]# nmcli con del bond-slave-ens33
- 成功删除连接 ‘bond-slave-ens33’(0c0f0e30-6f4a-4fb2-9237-c8380225f61a)。
- [root@newhostname network-scripts]# nmcli connection delete bond-slave-ens38
- 成功删除连接 ‘bond-slave-ens38’(1a21b214-4e3e-435c-8c2b-ab4ca2934980)。
- [root@newhostname network-scripts]# nmcli con del System\ ens33
- 成功删除连接 ‘System ens33’(c96bc909-188e-ec64-3a96-6a90982b08ad)。
- [root@newhostname network-scripts]# nmcli con del System\ ens38
- 成功删除连接 ‘System ens38’(be9e2b6b-674b-771d-7251-f3b49b3d23e0)。
- [root@newhostname network-scripts]# lsmod | grep bond
- bonding 145728 0
- [root@newhostname network-scripts]# modprobe -r bonding #删除bonding驱动,如果有需要可以再添加回来
- [root@newhostname network-scripts]# nmcli connection show
- 名称 UUID 类型 设备
- Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
现在只剩下终端连接的网卡了,我们查看一下设备
- [root@newhostname network-scripts]# nmcli device
- 设备 类型 状态 连接
- ens37 ethernet 连接的 Wired connection 1
- ens33 ethernet 已断开 —
- ens38 ethernet 已断开 —
- lo loopback 未托管 —
创建一个Team
- [root@newhostname network-scripts]# nmcli connection add type team con-name team_default ifname team0 config ‘{“runner”:{“name”:”loadbalance”}}’ ipv4.method manual ipv4.addresses 172.18.30.252/16 ipv4.gateway 172.18.0.1 ipv4.dns 172.18.0.1
- 连接“team_default”(87361b99-da59-411f-8c22-e842a734e6b7) 已成功添加。
网络组type为team
注意:在添加team工作方式的时候,其配置表现形式是json的格式
‘{“runner”: {“name”: “METHOD”}}’
METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp
创建节点(port)
- [root@newhostname network-scripts]# nmcli connection add type team-slave con-name team-ens33 ifname ens33 master team0
- 连接“team-ens33”(dd0286bf-eb75-40a1-aa50-09bbd0f2fec9) 已成功添加。
- [root@newhostname network-scripts]# nmcli connection add type team-slave con-name team-ens38 ifname ens38 master team0
- 连接“team-ens38”(d6691baa-6a11-4c57-b038-e136940c219d) 已成功添加。
- [root@newhostname network-scripts]# nmcli connection show
- 名称 UUID 类型 设备
- Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
- team-ens33 dd0286bf-eb75-40a1-aa50-09bbd0f2fec9 802-3-ethernet ens33
- team-ens38 d6691baa-6a11-4c57-b038-e136940c219d 802-3-ethernet ens38
- team_default 87361b99-da59-411f-8c22-e842a734e6b7 team team0
连接名若不指定,默认为team-slave-IFACE
显而易见创建port的方法和bond极其相似,我们再来看一下设备状态
- [root@newhostname network-scripts]# nmcli device
- 设备 类型 状态 连接
- ens33 ethernet 连接的 team-ens33
- ens37 ethernet 连接的 Wired connection 1
- ens38 ethernet 连接的 team-ens38
- team0 team 连接的 team_default
- lo loopback 未托管 —
创建完配置之后设备直接启用了。
现在我们来看一下team的配置文件
- [root@newhostname network-scripts]# cat ifcfg-team-ens33 #节点的配置文件
- NAME=team-ens33
- UUID=dd0286bf-eb75-40a1-aa50-09bbd0f2fec9
- DEVICE=ens33
- ONBOOT=yes
- TEAM_MASTER=team0
- DEVICETYPE=TeamPort
- [root@newhostname network-scripts]# cat ifcfg-team_default #team组的配置文件
- DEVICE=team0
- TEAM_CONFIG=“{\”runner\”:{\”name\”:\”loadbalance\”}}”
- PROXY_METHOD=none
- BROWSER_ONLY=no
- BOOTPROTO=none
- IPADDR=172.18.30.252
- PREFIX=16
- GATEWAY=172.18.0.1
- DNS1=172.18.0.1
- 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=team_default
- UUID=87361b99-da59-411f-8c22-e842a734e6b7
- ONBOOT=yes
- DEVICETYPE=Team
删除Team组
- [root@newhostname network-scripts]# teamdctl team0 state #查看team0状态
- setup:
- runner: loadbalance #运行方式
- ports:
- ens33
- link watches:
- link summary: up #状态
- instance[link_watch_0]:
- name: ethtool
- link: up
- down count: 0
- ens38
- link watches:
- link summary: up #状态
- instance[link_watch_0]:
- name: ethtool
- link: up
- down count: 0
- [root@newhostname network-scripts]# nmcli connection down team_default
- 成功取消激活连接 ‘team_default’(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/24)
- [root@newhostname network-scripts]# teamdctl team0 state
- Device “team0” does not exist
再将连个port删掉就ok了。
网桥的配置
写到这里,我突然感觉nmcli这个命令根本就是一个配置网卡的神器!Very big nice!
看一下现在的网络配置状态
- [root@newhostname network-scripts]# nmcli connection show
- 名称 UUID 类型 设备
- Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
- team-ens33 dd0286bf-eb75-40a1-aa50-09bbd0f2fec9 802-3-ethernet ens33
- team-ens38 d6691baa-6a11-4c57-b038-e136940c219d 802-3-ethernet ens38
- team_default 87361b99-da59-411f-8c22-e842a734e6b7 team team0
现在我们就将ens38和ens33连接在一起
- [root@newhostname ~]# nmcli connection show
- 名称 UUID 类型 设备
- Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
- team-ens33 dd0286bf-eb75-40a1-aa50-09bbd0f2fec9 802-3-ethernet ens33
- team-ens38 d6691baa-6a11-4c57-b038-e136940c219d 802-3-ethernet ens38
- team_default 87361b99-da59-411f-8c22-e842a734e6b7 team team0
- [root@newhostname ~]# nmcli connection add type bridge con-name briage_default ifname bridge0 ipv4.method manual ipv4.addresses 172.18.30.252/16 #添加网桥
- 连接“briage_default”(478fcfee-e338-4a4b-9ed0-9c592b381e45) 已成功添加。
- [root@newhostname ~]# nmcli connection add type bridge-slave ifname ens33 master bridge0 #添加接口
- 连接“bridge-slave-ens33”(d4a58e67-e349-4dcf-8fbe-bb340eb4a0a7) 已成功添加。
- [root@newhostname ~]# nmcli connection add type bridge-slave ifname ens38 master bridge0 #添加接口
- 连接“bridge-slave-ens38”(9f64f919-a62a-4d4d-99b5-9a44f77d3658) 已成功添加。
- [root@newhostname ~]# nmcli connection show
- 名称 UUID 类型 设备
- Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
- briage_default 478fcfee-e338-4a4b-9ed0-9c592b381e45 bridge bridge0
- team-ens33 dd0286bf-eb75-40a1-aa50-09bbd0f2fec9 802-3-ethernet ens33
- team-ens38 d6691baa-6a11-4c57-b038-e136940c219d 802-3-ethernet ens38
- team_default 87361b99-da59-411f-8c22-e842a734e6b7 team team0
- bridge-slave-ens33 d4a58e67-e349-4dcf-8fbe-bb340eb4a0a7 802-3-ethernet —
- bridge-slave-ens38 9f64f919-a62a-4d4d-99b5-9a44f77d3658 802-3-ethernet —
- [root@newhostname ~]# nmcli connection up bridge-slave-ens33 #激活接口
- 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/34)
- [root@newhostname ~]# nmcli connection up bridge-slave-ens38 #激活接口
- 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/35)
- [root@newhostname ~]# nmcli connection show
- 名称 UUID 类型 设备
- Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
- briage_default 478fcfee-e338-4a4b-9ed0-9c592b381e45 bridge bridge0
- bridge-slave-ens33 d4a58e67-e349-4dcf-8fbe-bb340eb4a0a7 802-3-ethernet ens33
- bridge-slave-ens38 9f64f919-a62a-4d4d-99b5-9a44f77d3658 802-3-ethernet ens38
- team_default 87361b99-da59-411f-8c22-e842a734e6b7 team team0
- team-ens33 dd0286bf-eb75-40a1-aa50-09bbd0f2fec9 802-3-ethernet — #team的接口被顶掉了
- team-ens38 d6691baa-6a11-4c57-b038-e136940c219d 802-3-ethernet — #team的接口被顶掉了
这样一个网桥就ok了
查看网桥
- [root@newhostname network-scripts]# cat ifcfg-briage_default
- DEVICE=bridge0
- STP=yes
- BRIDGING_OPTS=priority=32768
- TYPE=Bridge
- PROXY_METHOD=none
- BROWSER_ONLY=no
- BOOTPROTO=none
- IPADDR=172.18.30.252
- PREFIX=16
- 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=briage_default
- UUID=478fcfee-e338-4a4b-9ed0-9c592b381e45
- ONBOOT=yes
- [root@newhostname network-scripts]# brctl show
- bridge name bridge id STP enabled interfaces
- bridge0 8000.000c29ff3fce yes ens33
- ens38
现在删除网桥
- [root@newhostname network-scripts]# brctl delif bridge0 ens33 ens38
- [root@newhostname network-scripts]# ip link set bridge0 down #必须停掉,否则无法删除网桥
- [root@newhostname network-scripts]# brctl delbr bridge0
注意:NetworkManager只支持以太网接口接口连接到网桥,不支持聚合接口(这个我就不做实验了,确实不行!)如果需要配置聚合接口,那么在配置文件内填入“BRIDGE=bridge0”
以上删除操作只是把briage当掉了,也可以在nmcli中操作。就不再掩饰了,前面那么多操作看明白了,This so easy!