NetworkManager管理总结

文章详细介绍了如何使用nmcli工具在Linux系统中进行网络接口的配置,包括添加、修改IP地址,设置静态路由,以及管理DNS服务器。此外,还提到了网络连接的查看方法以及配置的生效方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.

特定于接口的信息存储在 /etc/sysconfig/network-scripts/ 目录下
对于全局设置,请使用 /etc/sysconfig/network 文件
VPN、移动宽带和 PPPoE 连接的信息存储在 /etc/NetworkManager/system-connections/
重载
nmcli connection reload
nmcli con load /etc/sysconfig/network-scripts/ifcfg-ifname
关闭连接
nmcli dev disconnect interface-name

nmcli 工具可用于启动和停止任何网络接口
nmcli con up id bond0
nmcli con up id port0
nmcli dev disconnect bond0
nmcli dev disconnect ens3

创建名为 my-office 的动态连接配置集
nmcli con add type ethernet con-name my-office ifname ens3
打开以太网连接:
nmcli con up my-office

要将主机发送的主机名更改为 DHCP 服务器,请修改 dhcp-hostname 属性
nmcli con modify my-office my-office ipv4.dhcp-hostname host-name ipv6.dhcp-hostname host-name
要将主机发送的 IPv4 客户端 ID 更改为 DHCP 服务器,请修改 dhcp-client-id 属性

使用命令行为现有以太网连接配置静态路由:这会将 192.168.122.0/24 子网的流量定向到网关 10.10.10.1。
nmcli connection modify enp1s0 +ipv4.routes “192.168.122.0/24 10.10.10.1”

创建仅使用 IPv4 地址和网关的静态以太网连接
nmcli con add type ethernet con-name test-lab ifname ens9 ip4 10.10.10.10/24
gw4 10.10.10.254
可为设备指定 IPv6 地址和网关
nmcli con add type ethernet con-name test-lab ifname ens9 ip4 10.10.10.10/24
gw4 10.10.10.254 ip6 abbe::cafe gw6 2001:db8::1

设置两个 IPv4 DNS 服务器地址:会取代任何先前设置的 DNS 服务器
nmcli con mod test-lab ipv4.dns “8.8.8.8 8.8.4.4”

要将额外的 DNS 服务器添加到任何先前设置中,请使用 + 前缀:
nmcli con mod test-lab +ipv4.dns “8.8.8.8 8.8.4.4”

默认网关由网络脚本决定,该脚本首先解析 /etc/sysconfig/network 文件,然后由启动的接口的网络接口 ifcfg 文件

全局 /etc/sysconfig/network 文件已被弃用,现在应仅在每个接口配置文件中指定网关

2.nmcli添加修改IP地址

查看当前网络连接的列表:

nmcli connection show

将IP地址、子网掩码和网关添加到所选网络连接:

nmcli connection modify <CONNECTION_NAME> ipv4.addresses <IP_ADDRESS>/<SUBNET_MASK> ipv4.gateway <GATEWAY_IP>

其中,<CONNECTION_NAME>是网络连接的名称,<IP_ADDRESS>是要分配的IP地址,<SUBNET_MASK>是子网掩码,<GATEWAY_IP>是网关的IP地址。例如:

nmcli connection modify eth0 ipv4.addresses 192.168.1.2/24 ipv4.gateway 192.168.1.1

输入以下命令,使网络配置生效:

临时生效:
会将IP地址添加在网卡上,重启后会丢失之前的IP信息
systemctl restart NetworkManager

永久生效:
直接覆盖之前的IP信息
nmcli connection up <CONNECTION_NAME>
nmcli connection up eth0
<think>嗯,我现在要帮用户解决在CentOS 7上通过NetworkManager修改网卡名称的问题。首先,我需要确认用户的需求,他们想通过NetworkManager管理并修改网卡的名称。可能用户对传统的网络配置方式(比如ifcfg文件)不太熟悉,或者更倾向于使用NetworkManager工具。 首先,我得回忆一下CentOS 7的网络管理方式。CentOS 7默认使用NetworkManager管理网络,同时兼容传统的network服务。不过,修改网卡名称通常涉及到udev规则或者内核参数,因为网卡名称一般是由系统在启动时根据固件、拓扑等因素分配的,比如传统的eth0、eth1,或者新的预测性命名方案如ens33、enp0s3等。 用户提到要通过NetworkManager方式来实现,这可能意味着他们希望避免直接修改配置文件,而是使用nmcli或者nmtui这样的工具。不过,我需要确认NetworkManager是否能够直接修改网卡名称。根据我的知识,NetworkManager主要是管理网络连接配置,而不是直接更改网卡设备名称。修改网卡名称通常需要修改udev规则或者grub参数,然后重新生成相应的配置。 不过,可能存在用户误解,认为NetworkManager可以处理设备重命名。因此,我需要分步骤说明正确的流程,可能包括以下几个步骤: 1. 确定当前网卡名称和MAC地址,使用ip link或者ifconfig -a命令。 2. 创建或修改udev规则文件,通常是/etc/udev/rules.d/70-persistent-net.rules,将MAC地址与新的网卡名称绑定。 3. 更新grub配置,添加net.ifnames=0或biosdevname=0参数来禁用预测性命名,如果需要传统的命名方式。 4. 重新生成initramfs并重启系统。 5. 确认修改后的网卡名称生效后,使用NetworkManager更新对应的连接配置。 另外,需要注意在修改过程中可能导致网络连接中断,尤其是远程连接的情况下,需要提醒用户谨慎操作,最好在本地控制台进行,避免断网无法重新连接。 可能用户还希望了解如何通过nmcli命令来调整连接配置,以适应新的网卡名称。例如,修改连接配置文件中的interface-name属性。这时候需要指出,虽然NetworkManager可以管理连接配置,但设备名称的更改需要系统层面的配置,而不仅仅是NetworkManager的设置。 此外,可能遇到的常见问题包括:修改后网卡名称没有变化,可能是udev规则未正确应用,或者grub参数未生效,需要检查步骤是否正确,或者是否有其他配置冲突。比如,如果同时存在多个udev规则,可能会导致优先级问题。 总结一下,正确的步骤应该是先通过系统级的配置(udev、grub)来修改网卡名称,然后再使用NetworkManager工具调整相应的连接配置。需要详细说明每一步的命令和注意事项,确保用户能够正确执行。</think>在 CentOS 7 中通过 NetworkManager 修改网卡名称需结合系统级配置,以下是分步指南: --- ### **1. 确认当前网卡信息** ```bash ip link show # 或 nmcli device status ``` 记录需修改网卡的 **MAC地址** 和原名称(如 `ens33`)。 --- ### **2. 生成新的网卡名称规则** #### **方法1:通过 udev 规则** - 编辑规则文件: ```bash vi /etc/udev/rules.d/70-persistent-net.rules ``` - 添加内容(示例将 MAC `00:0c:29:xx:xx:xx` 绑定为 `eth0`): ```bash SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:xx:xx:xx", NAME="eth0" ``` #### **方法2:禁用预测性命名(可选)** - 修改 GRUB 配置: ```bash vi /etc/default/grub ``` - 在 `GRUB_CMDLINE_LINUX` 中添加: ```bash net.ifnames=0 biosdevname=0 ``` - 更新 GRUB: ```bash grub2-mkconfig -o /boot/grub2/grub.cfg ``` --- ### **3. 更新 NetworkManager 连接配置** - 备份原配置(如原网卡名 `ens33`): ```bash cd /etc/sysconfig/network-scripts/ cp ifcfg-ens33 ifcfg-eth0 ``` - 编辑新配置文件: ```bash vi ifcfg-eth0 ``` - 修改 `DEVICE` 和 `NAME` 字段: ```bash DEVICE=eth0 NAME=eth0 ``` --- ### **4. 应用配置并重启** ```bash # 重新生成 initramfs dracut -f # 重启系统 reboot ``` --- ### **5. 验证修改** ```bash ip link show # 或 nmcli device status ``` 确认网卡名称已变为 `eth0`。 --- ### **注意事项** 1. **远程操作风险**:修改网卡名称可能导致网络中断,建议在本地控制台操作。 2. **多网卡冲突**:确保不同网卡的 MAC 地址与名称一一对应。 3. **NetworkManager 兼容性**:修改后需同步更新所有相关连接配置文件。 通过以上步骤,可实现通过 NetworkManager 管理自定义网卡名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值