描述NetworkManager概念
Linux中使用 NetworkManager 监控和管理网络,通过nmtui和nmcli 命令配置网络,/etc/NetwerkManager/svstem-connections/日录中。
重要:/etc/sysconfig/network-scripts/ 目录和 ifcfg格式配置文件已被奔用,但为了与较早版本兼容,/etc/sysconfig/network-scripts/ 目录中的 ifcfg格式连接仍可识别和加载。
- root 用户才能修改网络配置。
- device 指网络接口;connection 是针对 device 的配置集合针对任一device,同一时间只有一个 connection 处于活动状态。
- 每个 connection 具有一个名称或 ID。
/etc/NetwerkManager/svstem-connections/配置文件详解(采用ini格式):
[connection]
id=ens160 #网络配置文件名称
uuid=f83478f3-19fa-43e7-bd2e-0175f05b3388 #设备的MAC地址
type=ethernet #该网络配置文件对应的物理设备的类型
interface-name=ens160 #网络配置文件对应的哪个物理设备
[ipv4]
address1=192.168.10.10/24,192.168.10.254 #配置的IP地址
dns=114.114.144.144; #配置DNS
method=manual #配置网络环境的方式,manual手动配置,auto自动获取走dhcp。
nmtui工具
通过nmtui可以对新建、修改、删除物理网卡对应的网络配置文件,实现Linux系统网络环境的配置。
Edit a connection:用于创建、编辑和删除网络配置文件。
Activate a connection:用于激活某个网络配置文件。
Set system hostname:配置系统主机名。
1.点击Add进行创建网络配置文件
2.选择网络配置文件所对应物理设备的网络类型
3.在Profile name填写网络配置文件名称,在Device中配置物理设备名称;根据需求对IPv4或者IPv6网络进行配置,如下图是自动获取方式,选择Automatic;Automatically connect:自动连接;Available to all users:供所有用户使用。
下图是手动方式配置IP网络环境,包括IP地址、子网掩码、网关、DNS、路由等配置
4.激活网络配置文件
重点:通过nmtui流程,如何新建一个网络配置文件流程:
- 指定网络配置文件对应的物理设备的类型
- 配置网络配置文件名称
- 指定该网络配置文件对应的物理设备名称
- 指定网络配置的方式(走manual还是走auto)
- 如果是manual,配置网络环境包含IP地址,网关,DNS,搜索域等
- 实现自动连接
- 激活该网络配置文件
nmcli使用
查看联网信息(显示所有网络设备的状态)
nmcli device status (可简写为: nmcli d s )
显示所有连接的列表(使用–active选项仅列出活动的连接)
nmcli con show
新增/修改加网络连接配置文件,配置静态ipv4
nmcli connection add/modify type ehternet con-name test ifname ens160 ipv4.address 192.168.1.10/24 ipv4.gateway 192.168.1.254 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes
新增/修改加网络连接配置文件,配置动态ipv4
nmcli connection add/modify type ethernet con-name test ifname ens160 ipv4.method auto autoconnct yes
执行man 7 nmcli-examples命令可以查看帮助,参考Example 11。
新建一个配置文件:
- 配置网络配置文件的网络类型:type
- 配置网络配置文件的名称:con-name
- 指定对应的物理设备名称:ifname
- 指定获取ip地址的方式:ipv4.method
- 如果是manual,配置网络参数:ipv4.address(配置IP地址),ipv4.gateway(配置网关),ipv4.dns(配置DNS),ipv4.dns-search(配置DNS搜索域)
- 开启自动连接 autoconnect yes
激活网络配置文件
nmcli connection up 网络配置文件名称
断开网络连接
nmcli dev disconnect 物理设备名称
注意:nmcli con down 配置文件名称 命令并非是停用接口的最佳方法,因为他会关闭连接。但在默认情况下,大部分有线系统连接是在启动了autoconnect的情况下配置的。这将在其网络接口可用后立即激活连接。
重新加载网络连接
可以通过编辑/etc/NetworkManager/system-connections中的连接配置文件修改网络,修改之前需要重新加载网络连接
nmcli con reload
nmcli con reload 网络配置文件名称
删除网络配置文件
ncmli delete 网络配置文件名称
重新加载网络连接
删除连接,同时删除connection配置文件
nmcli con del 网络配置文件名称
nmcli 命令摘要
命令 | 用途 |
nmcli dev status | 显示所有网络接口的NetworkManager状态 |
nmcli con show | 列出所以连接 |
nmcli con show name | 列出name连接的当前设置 |
nmcli con add con-name name | 添加一个名为name的新连接 |
nmcli con mod name | 修改name连接 |
nmcli con reload | 重新加载配置文件 |
nmcli con up name | 激活name连接 |
nmcli dev dis dev | 在网络接口dev上停用并断开当前连接 |
nmcli con del name | 删除name连接及其配置文件 |
编辑网络配置文件
描述连接配置文件
修改网络配置
根据连接配置集的用途,NetworkManager使用以下目录来存储配置文件:
- /etc/NetworkManager/system-connections/目录存储用户创建和编辑的持久配置集。
- /run/NetworkManager/system-connections/目录存储临时配置集,在重新启动系统时自动删除
- /usr/lib/NetworkManager/system-connections/目录存储预部署的不可变配置集。当使用NetworkManager API编辑此类配置集时,NetworkManager将此配置集复制到持久或临时存储。
- 静态IPv4配置的示例配置文件内存,需要属于root用户,且600权限
- 修改完配置后,使用nmcli con reload读取配置更改,同时还需要将接口重启启动。