NetworkManager¶
NetworkManager是用于取代network服务,比network更好用的网络管理工具。
查看设备的状态¶
nmcli device 可以确认你可以对哪些网卡配置,以及这些硬件设备的信息;
[root@alvin ~]# nmcli device status
DEVICE TYPE STATE CONNECTION
ens33 ethernet connected ens33
ens34 ethernet connected ens34
ens38 ethernet connected ens38
查看指定设备的详细的设备信息¶
nmcli connection 这里主要是操作管理配置文件的,启用/停用、创建/删除 哪些配置文件,以及查看这些配置文件对应硬件的信息
[root@alvin ~]# nmcli device show ens33
GENERAL.DEVICE: ens33
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 00:0C:29:FE:38:33
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ens33
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/99
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.11.54/24
IP4.ADDRESS[2]: 172.25.254.233/24
IP4.GATEWAY: 192.168.11.205
IP4.DNS[1]: 172.25.254.250
IP4.DNS[2]: 192.168.127.3
IP4.DOMAIN[1]: ilt.example.com
IP4.DOMAIN[2]: example.com
IP6.ADDRESS[1]: fe80::20c:29ff:fefe:3833/64
IP6.GATEWAY: --
显示各种状态¶
- 显示所有网络连接:nmcli con show
- 显示活动网络连接:nmcli con show -active
- 显示指定网络连接的详情:nmcli con show eno16777728
- 显示网络设备连接状态:nmcli dev status
- 显示所有网络设备的详情:nmcli dev show
- 显示指定网络设备的详情:nmcli dev show eno16777728
查看connection¶
[root@alvin ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 4df6c9b1-8af2-45cc-8f3a-a0f3be223b1d 802-3-ethernet ens33
ens34 5e2bcc3b-ea61-41b9-a7f8-c1588ee5595e 802-3-ethernet ens34
ens38 be9e2b6b-674b-771d-7251-f3b49b3d23e0 802-3-ethernet ens38
修改网络连接单项参数¶
nmcli con mod IF-NAME connection.autoconnect yes修改为自动连接,开机自动启动
nmcli con mod IF-NAME ipv4.method manual | dhcp修改IP地址是静态还是DHCP
nmcli con mod IF-NAME ipv4.addresses “172.25.X.10/24 172.25.X.254”修改IP配置及网关
nmcli con mod IF-NAME ipv4.gateway 10.1.0.1修改默认网关
nmcli con mod IF-NAME +ipv4.addresses 10.10.10.10/16添加第二个IP地址
nmcli con mod IF-NAME ipv4.dns 114.114.114.114添加dns1
nmcli con mod IF-NAME +ipv4.dns 8.8.8.8添加dns2
nmcli con mod IF-NAME -ipv4.dns 8.8.8.8删除dns
修改connection名¶
将Wired connection 1的名字改为ens34
1 2 3 4 5 6 7 8 9 10 | [alvin@poppy ~]$ nmcli connection show
NAME UUID TYPE DEVICE
Wired connection 1 e883e44c-256b-3291-b022-c75329490a50 802-3-ethernet ens34
ens32 01672caa-571a-4fca-8c69-58ff2f66665f 802-3-ethernet ens32
[alvin@poppy ~]$ sudo nmcli connection modify 'Wired connection 1' connection.id ens34
[alvin@poppy ~]$
[alvin@poppy ~]$ nmcli connection show
NAME UUID TYPE DEVICE
ens32 01672caa-571a-4fca-8c69-58ff2f66665f 802-3-ethernet ens32
ens34 e883e44c-256b-3291-b022-c75329490a50 802-3-ethernet ens34
|
配置链路聚合¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ##建立新的聚合连
nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}'
##指定成员网卡 1
nmcli connection add con-name team0-p1 type team-slave ifname ens34 master team0
##指定成员网卡 2
nmcli connection add con-name team0-p2 type team-slave ifname ens35 master team0
##为聚合连接配置 IP 地址
nmcli connection modify team0 ipv4.method manual ipv4.address "192.168.38.80/24"
##激活聚合连
nmcli connection up team0
## 激活成员连接1(备用)
nmcli connection up team0-p1
## 激活成员连接 2(备用)
nmcli connection up team0-p2
teamdctl team0 state
|
设置ipv6地址¶
下面我们设置一个ipv6地址2003:ac18::305/64。
nmcli connection modify "Wired connection 1" ipv6.method manual ipv6.address 2003:ac18::305/64 ifname ens36
nmcli connection up "Wired connection 1"
如果没有开启ipv6的支持,可以执行以下操作
grep NETWORKING_IPV6=yes /etc/sysconfig/network || echo NETWORKING_IPV6=yes >> /etc/sysconfig/network
grep net.ipv6.conf.all.disable_ipv6=0 /etc/sysctl.conf || echo net.ipv6.conf.all.disable_ipv6=0 >> /etc/sysctl.conf
nmcli命令修改所对应的文件条目¶
nmcli con mod ifcfg-* 文件
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
connection.id eth0 NAME=eth0
(ipv4.addresses IPADDR0=192.0.2.1
“192.0.2.1/24 PREFIX0=24
192.0.2.254”) GATEWAY0=192.0.2.254
ipv4.dns 8.8.8.8 DNS0=8.8.8.8
pv4.dns-search example.com DOMAIN=example.com
pv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address... HWADDR=...
停止网络连接(可被自动激活)¶
nmcli con down eno33554960
禁用网卡,防止被自动激活¶
nmcli dev dis eth0
删除网络连接的配置文件¶
nmcli con del eno33554960
重新加载配置网络配置文件¶
nmcli con reload
使用图形化的方式配置IP¶
nm-connection-editor