Centos7網卡配置命令nmcli


在配置Centos6時,大家第一想到的就是把networkManager這個服務關掉,讓它消失,這個服務台太雞肋了,不該起作用的時候經常起作用,給管理帶來了不便,但是在Centos7當中networkManager的bug已經修復了,並且可以使用一個很強大的命令nmcli來管理(nmcli命令依賴networkManager服務)。我不知道為什么紅帽官方為什么要推薦使用這么強大復雜的,不是應該越簡潔越好么,但是既然推薦了,那么還是好好練習一下吧,沒准兒就像git一樣,雖然復雜,但是用熟練了可以提升n倍的工作效率。因為nmcli命令非常復雜,所以就單獨寫一篇博客了。

nmcli一些基礎用法,nmcli后面的命令是支持縮寫的,但是本篇博客就用完整的名字來寫了:

nmcli connection show 顯示網卡配置信息

  1. [root@newhostname etc]# nmcli connection show
  2. 名稱 UUID 類型 設備
  3. Bond bond0 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond bond0
  4. System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
  5. System ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet ens38
  6. eth0 4a5516a4-dfa4-24af-b1c4-e843e312e2fd 802-3-ethernet ens37

有設備標注的表示已經啟用的網卡配置文件

nmcli connection delete 刪除一個網卡配置文件

  1. [root@newhostname network-scripts]# cp ifcfg-ens37 ifcfg-ens37.bak
  2. [root@newhostname network-scripts]# nmcli connection delete eth0
  3. 成功刪除連接 'eth0'(4a5516a4-dfa4-24af-b1c4-e843e312e2fd)。

查看一下是否刪除了

  1. [root@newhostname network-scripts]# ls | grep ifcfg-ens
  2. ifcfg-ens33
  3. ifcfg-ens37.bak
  4. ifcfg-ens38

恢復配置

  1. [root@newhostname network-scripts]# mv ifcfg-ens37.bak ifcfg-ens37
  2. [root@newhostname network-scripts]# nmcli connection show
  3. 名稱 UUID 類型 設備
  4. Bond bond0 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond bond0
  5. System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
  6. System ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet ens38
  7. Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37

配置恢復了

現在我們來用nmcli命令來添加配置文件

首先,我們需要先知道,在服務器上啟用的網卡
使用 nmcli device命令可以查看到網卡的連接狀態

  1. [root@newhostname network-scripts]# nmcli device
  2. 設備 類型 狀態 連接
  3. bond0 bond 連接的 Bond bond0
  4. ens33 ethernet 連接的 System ens33
  5. ens37 ethernet 連接的 Wired connection 1
  6. ens38 ethernet 連接的 System ens38
  7. lo loopback 未托管 --

可以這樣理解nmcli device 類似 ip link

現在我們來為bond0添加網卡配置文件

  1. [root@newhostname ~]# nmcli connection add con-name bond0-office ifname bond0 type bond mode 0 ipv4.method auto
  2. 連接“bond0-office”(86f5c5d1-7b22-425f-96ad-cce91da27f98) 已成功添加。
  3. #con-name: 表示設備別名,文件的標識
  4. #type: 類型 bond、ethernet、brigde
  5. #ifname :設備名
  6. #ipv4.method : manual 為手動配置 ;auto為自動(可以獲取dhcp)
  7. #ipv4.addresses : ipv4的IP地址
  8. #ipv4.gateway : ipv4的網關
  9. #ipv4.dns : ipv4的dns服務器

通過nmcli connection add 方法,我們成功的添加了一個新的網卡配置文件
我們再來看一下文件的狀態

  1. [root@newhostname ~]# nmcli connection show
  2. 名稱 UUID 類型 設備
  3. Bond bond0 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond bond0
  4. System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
  5. System ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet ens38
  6. Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
  7. bond0-office 86f5c5d1-7b22-425f-96ad-cce91da27f98 bond --

可以看出,新加的網卡配置文件並沒有啟用,我們現在啟用這個配置文件

  1. [root@newhostname ~]# nmcli connection up bond0-office #剛才實驗其實做錯了,我這里就不寫了,在創建文件的時候,如果是bond類型,那么type必須是bond,如果不寫type,這里是激活不了的
  2. 成功激活(主服務器等待從服務器)連接(D-Bus 激活路徑:/org/freedesktop/NetworkManager/ActiveConnection/15

我們查看一下新的配置文件狀態和屬性

  1. [root@newhostname ~]# nmcli connection show bond0-office
  2. connection.id: bond0-office
  3. connection.uuid: 86f5c5d1-7b22-425f-96ad-cce91da27f98
  4. connection.stable-id: --
  5. connection.interface-name: bond0
  6. connection.type: bond
  7. connection.autoconnect: yes
  8. connection.autoconnect-priority: 0
  9. connection.autoconnect-retries: -1 (默認)
  10. connection.timestamp: 1513493496
  11. connection.read-only: no
  12. connection.permissions: --
  13. connection.zone: --
  14. connection.master: --
  15. connection.slave-type: --
  16. connection.autoconnect-slaves: -1 (默認)
  17. connection.secondaries: --
  18. connection.gateway-ping-timeout: 0
  19. connection.metered: 未知
  20. connection.lldp: -1 (default)
  21. ipv4.method: auto
  22. ipv4.dns: --
  23. ipv4.dns-search: --
  24. ipv4.dns-options: (默認)
  25. ipv4.dns-priority: 0
  26. ipv4.addresses: --
  27. ipv4.gateway: --
  28. ipv4.routes: --
  29. ipv4.route-metric: -1
  30. ipv4.ignore-auto-routes: no
  31. ipv4.ignore-auto-dns: no
  32. ipv4.dhcp-client-id: --
  33. ipv4.dhcp-timeout: 0
  34. ipv4.dhcp-send-hostname: yes
  35. ipv4.dhcp-hostname: --
  36. ipv4.dhcp-fqdn: --
  37. ipv4.never-default: no
  38. ipv4.may-fail: yes
  39. ipv4.dad-timeout: -1 (默認)
  40. ipv6.method: auto
  41. ipv6.dns: --
  42. ipv6.dns-search: --
  43. ipv6.dns-options: (默認)
  44. ipv6.dns-priority: 0
  45. ipv6.addresses: --
  46. ipv6.gateway: --
  47. ipv6.routes: --
  48. ipv6.route-metric: -1
  49. ipv6.ignore-auto-routes: no
  50. ipv6.ignore-auto-dns: no
  51. ipv6.never-default: no
  52. ipv6.may-fail: yes
  53. ipv6.ip6-privacy: -1 (未知)
  54. ipv6.addr-gen-mode: stable-privacy
  55. ipv6.dhcp-send-hostname: yes
  56. ipv6.dhcp-hostname: --
  57. ipv6.token: --
  58. bond.options: mode=balance-rr
  59. proxy.method: none
  60. proxy.browser-only: no
  61. proxy.pac-url: --
  62. proxy.pac-script: --
  63. GENERAL.名稱: bond0-office
  64. GENERAL.UUID: 86f5c5d1-7b22-425f-96ad-cce91da27f98
  65. GENERAL.設備: bond0
  66. GENERAL.狀態: 已激活 #激活狀態
  67. GENERAL.默認: 否
  68. GENERAL.默認6: 否
  69. GENERAL.VPN 參數: 否
  70. GENERAL.區: --
  71. GENERAL.DBUS路徑: /org/freedesktop/NetworkManager/ActiveConnection/15
  72. GENERAL.連接路徑: /org/freedesktop/NetworkManager/Settings/7
  73. GENERAL.指定對象: --
  74. GENERAL.主路徑: --
  75. IP4.地址[1]: 172.18.16.206/16 #自動獲取的地址
  76. IP4.網關: 172.18.0.1
  77. IP4.DNS[1]: 223.5.5.5
  78. IP4.DNS[2]: 223.6.6.6
  79. IP4.域[1]: --
  80. DHCP4.選項[1]: requested_routers = 1
  81. DHCP4.選項[2]: requested_domain_search = 1
  82. DHCP4.選項[3]: requested_time_offset = 1
  83. DHCP4.選項[4]: requested_domain_name = 1
  84. DHCP4.選項[5]: requested_rfc3442_classless_static_routes = 1
  85. DHCP4.選項[6]: requested_classless_static_routes = 1
  86. DHCP4.選項[7]: dhcp_server_identifier = 172.18.0.1
  87. DHCP4.選項[8]: requested_wpad = 1
  88. DHCP4.選項[9]: requested_broadcast_address = 1
  89. DHCP4.選項[10]: next_server = 0.0.0.0
  90. DHCP4.選項[11]: broadcast_address = 172.18.255.255
  91. DHCP4.選項[12]: requested_interface_mtu = 1
  92. DHCP4.選項[13]: requested_subnet_mask = 1
  93. DHCP4.選項[14]: expiry = 1513494096
  94. DHCP4.選項[15]: dhcp_message_type = 5
  95. DHCP4.選項[16]: ip_address = 172.18.16.206
  96. DHCP4.選項[17]: routers = 172.18.0.1
  97. DHCP4.選項[18]: domain_name = magedu.com
  98. DHCP4.選項[19]: requested_static_routes = 1
  99. DHCP4.選項[20]: requested_nis_servers = 1
  100. DHCP4.選項[21]: requested_ntp_servers = 1
  101. DHCP4.選項[22]: requested_domain_name_servers = 1
  102. DHCP4.選項[23]: dhcp_lease_time = 600
  103. DHCP4.選項[24]: domain_name_servers = 223.5.5.5 223.6.6.6
  104. DHCP4.選項[25]: requested_ms_classless_static_routes = 1
  105. DHCP4.選項[26]: subnet_mask = 255.255.0.0
  106. DHCP4.選項[27]: network_number = 172.18.0.0
  107. DHCP4.選項[28]: requested_host_name = 1
  108. DHCP4.選項[29]: requested_nis_domain = 1
  109. IP6.地址[1]: fe80::8714:3d23:b1a9:73b7/64
  110. IP6.地址[2]: fe80::cd18:b4a3:9d06:2ff3/64
  111. IP6.地址[3]: fe80::da49:1504:e231:df1a/64
  112. IP6.網關: --

看一下配置文件

  1. [root@newhostname ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0-office
  2. DEVICE=bond0
  3. BONDING_OPTS=mode=balance-rr
  4. TYPE=Bond
  5. BONDING_MASTER=yes
  6. PROXY_METHOD=none
  7. BROWSER_ONLY=no
  8. BOOTPROTO=dhcp
  9. DEFROUTE=yes
  10. IPV4_FAILURE_FATAL=no
  11. IPV6INIT=yes
  12. IPV6_AUTOCONF=yes
  13. IPV6_DEFROUTE=yes
  14. IPV6_FAILURE_FATAL=no
  15. IPV6_ADDR_GEN_MODE=stable-privacy
  16. NAME=bond0-office
  17. UUID=86f5c5d1-7b22-425f-96ad-cce91da27f98
  18. ONBOOT=yes

我們創建的是一個bond設備配置文件,那么就需要slave網卡來支撐,下面我們在添加連個slave網卡

  1. [root@newhostname ~]# nmcli connection add type bond-slave ifname ens33 master bond0
  2. 連接“bond-slave-ens33”(0c0f0e30-6f4a-4fb2-9237-c8380225f61a) 已成功添加。
  3. [root@newhostname ~]# nmcli connection add type bond-slave ifname ens38 master bond0
  4. 連接“bond-slave-ens38”(1a21b214-4e3e-435c-8c2b-ab4ca2934980) 已成功添加。

OK!我們來看下這倆網卡的配置文件

  1. [root@newhostname network-scripts]# cat ifcfg-bond-slave-ens3[38] # 剛才我沒有指定管理文件名,系統默認給起了一個ifcfg-bond-slave-ens33 和 ifcfg-bond-slave-ens38 如果要指定名字可以使用 con-name
  2. TYPE=Ethernet
  3. NAME=bond-slave-ens33
  4. UUID=0c0f0e30-6f4a-4fb2-9237-c8380225f61a
  5. DEVICE=ens33
  6. ONBOOT=yes
  7. MASTER=bond0
  8. SLAVE=yes
  9. TYPE=Ethernet
  10. NAME=bond-slave-ens38
  11. UUID=1a21b214-4e3e-435c-8c2b-ab4ca2934980
  12. DEVICE=ens38
  13. ONBOOT=yes
  14. MASTER=bond0
  15. SLAVE=yes

查看一下現在生效的配置文件

  1. [root@newhostname network-scripts]# nmcli connection show
  2. 名稱 UUID 類型 設備
  3. System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
  4. System ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet ens38
  5. Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
  6. bond0-office 86f5c5d1-7b22-425f-96ad-cce91da27f98 bond bond0
  7. Bond bond0 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond --
  8. bond-slave-ens33 0c0f0e30-6f4a-4fb2-9237-c8380225f61a 802-3-ethernet --
  9. bond-slave-ens38 1a21b214-4e3e-435c-8c2b-ab4ca2934980 802-3-ethernet --

因為我們之前已經將bond0-office啟用了,所以再把ifcfg-bond-slave-ens33 和 ifcfg-bond-slave-ens38啟用就好了

  1. [root@newhostname network-scripts]# nmcli connection up bond-slave-ens33
  2. 連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/18
  3. [root@newhostname network-scripts]# nmcli connection up bond-slave-ens38
  4. 連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/19

現在看來也不是太麻煩,名字長用tab鍵補全完全沒問題!

如果我們不用bond,需要給普通網卡添加設置type可以不寫,也可以寫type ethernet,后面的參數正常配置就OK了。

修改配置文件

我們可以通過nmcli connection modity 來實現修改配置文件。
我們先來添加一個ip地址看看

  1. [root@newhostname network-scripts]# nmcli connection modify bond0-office +ipv4.addresses 172.18.30.1/16
  2. [root@newhostname network-scripts]# cat ifcfg-bond0-office
  3. DEVICE=bond0
  4. BONDING_OPTS=mode=balance-rr
  5. TYPE=Bond
  6. BONDING_MASTER=yes
  7. PROXY_METHOD=none
  8. BROWSER_ONLY=no
  9. BOOTPROTO=dhcp
  10. DEFROUTE=yes
  11. IPV4_FAILURE_FATAL=no
  12. IPV6INIT=yes
  13. IPV6_AUTOCONF=yes
  14. IPV6_DEFROUTE=yes
  15. IPV6_FAILURE_FATAL=no
  16. IPV6_ADDR_GEN_MODE=stable-privacy
  17. NAME=bond0-office
  18. UUID=86f5c5d1-7b22-425f-96ad-cce91da27f98
  19. ONBOOT=yes
  20. IPADDR=172.18.30.1
  21. PREFIX=16

我們再來刪掉這個地址

  1. [root@newhostname network-scripts]# nmcli connection modify bond0-office -ipv4.addresses 172.18.30.1
  2. [root@newhostname network-scripts]# cat ifcfg-bond0-office
  3. DEVICE=bond0
  4. BONDING_OPTS=mode=balance-rr
  5. TYPE=Bond
  6. BONDING_MASTER=yes
  7. PROXY_METHOD=none
  8. BROWSER_ONLY=no
  9. BOOTPROTO=dhcp
  10. DEFROUTE=yes
  11. IPV4_FAILURE_FATAL=no
  12. IPV6INIT=yes
  13. IPV6_AUTOCONF=yes
  14. IPV6_DEFROUTE=yes
  15. IPV6_FAILURE_FATAL=no
  16. IPV6_ADDR_GEN_MODE=stable-privacy
  17. NAME=bond0-office
  18. UUID=86f5c5d1-7b22-425f-96ad-cce91da27f98
  19. 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、我們先刪掉所有的網卡配置文件

  1. [root@newhostname network-scripts]# nmcli connection show
  2. 名稱 UUID 類型 設備
  3. Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
  4. bond-slave-ens33 0c0f0e30-6f4a-4fb2-9237-c8380225f61a 802-3-ethernet ens33
  5. bond-slave-ens38 1a21b214-4e3e-435c-8c2b-ab4ca2934980 802-3-ethernet ens38
  6. bond0-office 86f5c5d1-7b22-425f-96ad-cce91da27f98 bond bond0
  7. Bond bond0 ad33d8b0-1f7b-cab9-9447-ba07f855b143 bond --
  8. System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet --
  9. System ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet --
  10. [root@newhostname network-scripts]# nmcli con del bond0-office
  11. 成功刪除連接 'bond0-office'(86f5c5d1-7b22-425f-96ad-cce91da27f98)。
  12. [root@newhostname network-scripts]# nmcli con del Bond\ bond0
  13. 成功刪除連接 'Bond bond0'(ad33d8b0-1f7b-cab9-9447-ba07f855b143)。
  14. [root@newhostname network-scripts]# nmcli con del bond-slave-ens33
  15. 成功刪除連接 'bond-slave-ens33'(0c0f0e30-6f4a-4fb2-9237-c8380225f61a)。
  16. [root@newhostname network-scripts]# nmcli connection delete bond-slave-ens38
  17. 成功刪除連接 'bond-slave-ens38'(1a21b214-4e3e-435c-8c2b-ab4ca2934980)。
  18. [root@newhostname network-scripts]# nmcli con del System\ ens33
  19. 成功刪除連接 'System ens33'(c96bc909-188e-ec64-3a96-6a90982b08ad)。
  20. [root@newhostname network-scripts]# nmcli con del System\ ens38
  21. 成功刪除連接 'System ens38'(be9e2b6b-674b-771d-7251-f3b49b3d23e0)。
  22. [root@newhostname network-scripts]# lsmod | grep bond
  23. bonding 145728 0
  24. [root@newhostname network-scripts]# modprobe -r bonding #刪除bonding驅動,如果有需要可以再添加回來
  25. [root@newhostname network-scripts]# nmcli connection show
  26. 名稱 UUID 類型 設備
  27. Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37

現在只剩下終端連接的網卡了,我們查看一下設備

  1. [root@newhostname network-scripts]# nmcli device
  2. 設備 類型 狀態 連接
  3. ens37 ethernet 連接的 Wired connection 1
  4. ens33 ethernet 已斷開 --
  5. ens38 ethernet 已斷開 --
  6. lo loopback 未托管 --

創建一個Team

  1. [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
  2. 連接“team_default”(87361b99-da59-411f-8c22-e842a734e6b7) 已成功添加。

網絡組type為team
注意:在添加team工作方式的時候,其配置表現形式是json的格式
‘{“runner”: {“name”: “METHOD”}}’
METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp

創建節點(port)

  1. [root@newhostname network-scripts]# nmcli connection add type team-slave con-name team-ens33 ifname ens33 master team0
  2. 連接“team-ens33”(dd0286bf-eb75-40a1-aa50-09bbd0f2fec9) 已成功添加。
  3. [root@newhostname network-scripts]# nmcli connection add type team-slave con-name team-ens38 ifname ens38 master team0
  4. 連接“team-ens38”(d6691baa-6a11-4c57-b038-e136940c219d) 已成功添加。
  5. [root@newhostname network-scripts]# nmcli connection show
  6. 名稱 UUID 類型 設備
  7. Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
  8. team-ens33 dd0286bf-eb75-40a1-aa50-09bbd0f2fec9 802-3-ethernet ens33
  9. team-ens38 d6691baa-6a11-4c57-b038-e136940c219d 802-3-ethernet ens38
  10. team_default 87361b99-da59-411f-8c22-e842a734e6b7 team team0

連接名若不指定,默認為team-slave-IFACE
顯而易見創建port的方法和bond極其相似,我們再來看一下設備狀態

  1. [root@newhostname network-scripts]# nmcli device
  2. 設備 類型 狀態 連接
  3. ens33 ethernet 連接的 team-ens33
  4. ens37 ethernet 連接的 Wired connection 1
  5. ens38 ethernet 連接的 team-ens38
  6. team0 team 連接的 team_default
  7. lo loopback 未托管 --

創建完配置之后設備直接啟用了。

現在我們來看一下team的配置文件

  1. [root@newhostname network-scripts]# cat ifcfg-team-ens33 #節點的配置文件
  2. NAME=team-ens33
  3. UUID=dd0286bf-eb75-40a1-aa50-09bbd0f2fec9
  4. DEVICE=ens33
  5. ONBOOT=yes
  6. TEAM_MASTER=team0
  7. DEVICETYPE=TeamPort
  8. [root@newhostname network-scripts]# cat ifcfg-team_default #team組的配置文件
  9. DEVICE=team0
  10. TEAM_CONFIG="{\"runner\":{\"name\":\"loadbalance\"}}"
  11. PROXY_METHOD=none
  12. BROWSER_ONLY=no
  13. BOOTPROTO=none
  14. IPADDR=172.18.30.252
  15. PREFIX=16
  16. GATEWAY=172.18.0.1
  17. DNS1=172.18.0.1
  18. DEFROUTE=yes
  19. IPV4_FAILURE_FATAL=no
  20. IPV6INIT=yes
  21. IPV6_AUTOCONF=yes
  22. IPV6_DEFROUTE=yes
  23. IPV6_FAILURE_FATAL=no
  24. IPV6_ADDR_GEN_MODE=stable-privacy
  25. NAME=team_default
  26. UUID=87361b99-da59-411f-8c22-e842a734e6b7
  27. ONBOOT=yes
  28. DEVICETYPE=Team

刪除Team組

  1. [root@newhostname network-scripts]# teamdctl team0 state #查看team0狀態
  2. setup:
  3. runner: loadbalance #運行方式
  4. ports:
  5. ens33
  6. link watches:
  7. link summary: up #狀態
  8. instance[link_watch_0]:
  9. name: ethtool
  10. link: up
  11. down count: 0
  12. ens38
  13. link watches:
  14. link summary: up #狀態
  15. instance[link_watch_0]:
  16. name: ethtool
  17. link: up
  18. down count: 0
  19. [root@newhostname network-scripts]# nmcli connection down team_default
  20. 成功取消激活連接 'team_default'(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/24
  21. [root@newhostname network-scripts]# teamdctl team0 state
  22. Device "team0" does not exist

再將連個port刪掉就ok了。

網橋的配置

寫到這里,我突然感覺nmcli這個命令根本就是一個配置網卡的神器!Very big nice!

看一下現在的網絡配置狀態

  1. [root@newhostname network-scripts]# nmcli connection show
  2. 名稱 UUID 類型 設備
  3. Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
  4. team-ens33 dd0286bf-eb75-40a1-aa50-09bbd0f2fec9 802-3-ethernet ens33
  5. team-ens38 d6691baa-6a11-4c57-b038-e136940c219d 802-3-ethernet ens38
  6. team_default 87361b99-da59-411f-8c22-e842a734e6b7 team team0

現在我們就將ens38和ens33連接在一起

  1. [root@newhostname ~]# nmcli connection show
  2. 名稱 UUID 類型 設備
  3. Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
  4. team-ens33 dd0286bf-eb75-40a1-aa50-09bbd0f2fec9 802-3-ethernet ens33
  5. team-ens38 d6691baa-6a11-4c57-b038-e136940c219d 802-3-ethernet ens38
  6. team_default 87361b99-da59-411f-8c22-e842a734e6b7 team team0
  7. [root@newhostname ~]# nmcli connection add type bridge con-name briage_default ifname bridge0 ipv4.method manual ipv4.addresses 172.18.30.252/16 #添加網橋
  8. 連接“briage_default”(478fcfee-e338-4a4b-9ed0-9c592b381e45) 已成功添加。
  9. [root@newhostname ~]# nmcli connection add type bridge-slave ifname ens33 master bridge0 #添加接口
  10. 連接“bridge-slave-ens33”(d4a58e67-e349-4dcf-8fbe-bb340eb4a0a7) 已成功添加。
  11. [root@newhostname ~]# nmcli connection add type bridge-slave ifname ens38 master bridge0 #添加接口
  12. 連接“bridge-slave-ens38”(9f64f919-a62a-4d4d-99b5-9a44f77d3658) 已成功添加。
  13. [root@newhostname ~]# nmcli connection show
  14. 名稱 UUID 類型 設備
  15. Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
  16. briage_default 478fcfee-e338-4a4b-9ed0-9c592b381e45 bridge bridge0
  17. team-ens33 dd0286bf-eb75-40a1-aa50-09bbd0f2fec9 802-3-ethernet ens33
  18. team-ens38 d6691baa-6a11-4c57-b038-e136940c219d 802-3-ethernet ens38
  19. team_default 87361b99-da59-411f-8c22-e842a734e6b7 team team0
  20. bridge-slave-ens33 d4a58e67-e349-4dcf-8fbe-bb340eb4a0a7 802-3-ethernet --
  21. bridge-slave-ens38 9f64f919-a62a-4d4d-99b5-9a44f77d3658 802-3-ethernet --
  22. [root@newhostname ~]# nmcli connection up bridge-slave-ens33 #激活接口
  23. 連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/34
  24. [root@newhostname ~]# nmcli connection up bridge-slave-ens38 #激活接口
  25. 連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/35
  26. [root@newhostname ~]# nmcli connection show
  27. 名稱 UUID 類型 設備
  28. Wired connection 1 f0c177b9-f8a8-3686-bbb1-f79af06df083 802-3-ethernet ens37
  29. briage_default 478fcfee-e338-4a4b-9ed0-9c592b381e45 bridge bridge0
  30. bridge-slave-ens33 d4a58e67-e349-4dcf-8fbe-bb340eb4a0a7 802-3-ethernet ens33
  31. bridge-slave-ens38 9f64f919-a62a-4d4d-99b5-9a44f77d3658 802-3-ethernet ens38
  32. team_default 87361b99-da59-411f-8c22-e842a734e6b7 team team0
  33. team-ens33 dd0286bf-eb75-40a1-aa50-09bbd0f2fec9 802-3-ethernet -- #team的接口被頂掉了
  34. team-ens38 d6691baa-6a11-4c57-b038-e136940c219d 802-3-ethernet -- #team的接口被頂掉了

這樣一個網橋就ok了

查看網橋

  1. [root@newhostname network-scripts]# cat ifcfg-briage_default
  2. DEVICE=bridge0
  3. STP=yes
  4. BRIDGING_OPTS=priority=32768
  5. TYPE=Bridge
  6. PROXY_METHOD=none
  7. BROWSER_ONLY=no
  8. BOOTPROTO=none
  9. IPADDR=172.18.30.252
  10. PREFIX=16
  11. DEFROUTE=yes
  12. IPV4_FAILURE_FATAL=no
  13. IPV6INIT=yes
  14. IPV6_AUTOCONF=yes
  15. IPV6_DEFROUTE=yes
  16. IPV6_FAILURE_FATAL=no
  17. IPV6_ADDR_GEN_MODE=stable-privacy
  18. NAME=briage_default
  19. UUID=478fcfee-e338-4a4b-9ed0-9c592b381e45
  20. ONBOOT=yes
  1. [root@newhostname network-scripts]# brctl show
  2. bridge name bridge id STP enabled interfaces
  3. bridge0 8000.000c29ff3fce yes ens33
  4. ens38

現在刪除網橋

  1. [root@newhostname network-scripts]# brctl delif bridge0 ens33 ens38
  2. [root@newhostname network-scripts]# ip link set bridge0 down #必須停掉,否則無法刪除網橋
  3. [root@newhostname network-scripts]# brctl delbr bridge0

注意:NetworkManager只支持以太網接口接口連接到網橋,不支持聚合接口(這個我就不做實驗了,確實不行!)如果需要配置聚合接口,那么在配置文件內填入“BRIDGE=bridge0”

以上刪除操作只是把briage當掉了,也可以在nmcli中操作。就不再掩飾了,前面那么多操作看明白了,This so easy!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM