介绍
linux系统中传统的管理方法是通过network的服务实现,在Centos 7 中依然有这个服务的身影。但是到了CentOS 8 中已经不使用network这个服务了。而是使用了NetworkManager服务。这服务简化管理有线、无线、链接工作。除此之外还能管理不同类型的网络,包括物理网卡、虚拟网卡、以太网卡、非以太网登
常用工具
nmcli : 命令行工具
nmtui : 文本图形界面工具
cockpit: 基于web的管理工具
nmcli基本使用
##查看链接
[root@localhost ~]# nmcli connection
NAME UUID TYPE DEVICE
ethernet 9ab75464-8109-4420-a0d6-d8accbf8499a ethernet ens33
virbr0 c6151e6d-a059-4412-bf81-395da01a6ea3 bridge virbr0
eth0 a5725ff6-9f7b-4792-8816-5454f8c36cc1 ethernet --
查看网络设备
[root@localhost ~]# nmcli device
DEVICE TYPE STATE CONNECTION
ens33 ethernet 已连接 ethernet
virbr0 bridge 连接(外部) virbr0
lo loopback 未托管 --
virbr0-nic tun 未托管 --
网卡相关信息
[root@localhost ~]# nmcli
ens33: 已连接 到 ethernet
"Intel 82545EM"
ethernet (e1000), 00:50:56:38:BC:D0, 硬件, mtu 1500
ip4 默认
inet4 192.168.68.100/24
inet4 192.168.68.129/24
route4 0.0.0.0/0
route4 192.168.68.0/24
route4 192.168.68.0/24
inet6 fe80::4190:b89f:d918:6ce7/64
route6 fe80::/64
virbr0: 连接(外部) 到 virbr0
"virbr0"
bridge, 52:54:00:B5:A9:E2, 软件, mtu 1500
inet4 192.168.122.1/24
route4 192.168.122.0/24
lo: 未托管
"lo"
loopback (unknown), 00:00:00:00:00:00, 软件, mtu 65536
virbr0-nic: 未托管
lines 1-23...skipping...
重新加
[root@localhost ~]# nmcli connection reload
[root@localhost ~]# nmcli connection load /etc/sysconfig//network-scripts/ifcfg-eth0
[root@localhost ~]# nmcli device connect ens33
链接断开 来接
[root@localhost ~]# nmcli device disconnect ens33
成功断开设备 "ens33"。
[root@localhost ~]# nmcli device connect ens33
成功用 "ens338793cf5e-fb8a-4e52-936e-47ff3f66f866" 激活了设备 ""。
[root@localhost ~]# nm-online # 在线链接
正在连接............... 30s [online]
[root@localhost ~]# nmcli monitor #网卡监控
^C错误:nmcli 被信号 中断 (2) 终止了
主机名已设为 "(null)"
连接性现在是 "未知"
网络管理器现在处于 "未知" 状态
(null): 未知
(null): 未知
(null): 未知
(null): 未知
网络管理器已停止
命令行ip设置
### 添加动态ip
```sh
[root@localhost ~]# nmcli connection add type ethernet con-name eth0 ifname ens33 ipv4.method auto
命令行ip设置
静态ip
[root@localhost ~]# nmcli connection add type ethernet con-name eth0 ifname ens33 ipv4.addresses 192.168.68.101/24 ipv4.gateway 192.168.68.1 ipv4.method manual
Warning: There is another connection with the name 'eth0'. Reference the connection by its uuid '169cdbc6-1aaf-47be-b586-93676fdc8fc4'
连接 "eth0" (169cdbc6-1aaf-47be-b586-93676fdc8fc4) 已成功添加。
动态ip设置
[root@localhost ~]# nmcli connection add type ethernet con-name eth0 ifname ens33 ipv4.method auto
交互编辑器设置ip
[root@localhost ~]# nmcli connection edit eth0
===| nmcli 交互式连接编辑器 |===
正在编辑已有的连接 "802-3-ethernet":"eth0"
输入 "help" 或 "?" 查看可用的命令。
输入 "print" 来显示所有的连接属性。
输入 "describe [<设置>.<属性>]" 来获得详细的属性描述。
您可编辑下列设置:connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, hostname, tc, proxy
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
编辑 "addresses" 值: 192.168.68.101/24
您是否也要将 "ipv4.method" 设为 "manual"?[yes]: yes
nmcli ipv4.addresses> back
nmcli ipv4> save
成功地更新了连接 "eth0" (8793cf5e-fb8a-4e52-936e-47ff3f66f866)。
nmcli ipv4> activate
正在监视连接激活(按任意键继续)
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
nmcli> quit
vim /etc/sysconfig/network-scripts/ifcfg-网卡名,可在重启网络服务后生效。
[root@CentOS6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0.bak
DEVICE=eth0
TYPE=Ethernet
UUID=5d37be92-fc4e-4ffc-9b72-c56c9f044274
ONBOOT=yes #此项为no则表示网卡被禁用
NM_CONTROLLED=yes
BOOTPROTO=dhcp #dhcp表示动态获取IP,手动指定时此项值需为static或none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:0C:29:0E:B5:F9
PEERDNS=yes
PEERROUTES=yes
LAST_CONNECT=1499802014
USERCTL=no
修改仅需保留所需项。[root@CentOS6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
IPADDR=172.17.250.91
NETMASK=255.255.0.0
GATEWAY=172.17.0.1
DNS1=114.114.114.114
DNS2=8.8.8.配置文件设置ip
图形化设置ip
nmtui