ip+nmcli 网络命令实操指南
ip+nmcli 网络命令实操指南
ZhangCurryLinux必学命令!ip+nmcli 网络命令实操指南
用过Linux的朋友都知道,网络配置是日常操作的核心——不管是服务器运维、虚拟机调试,还是开发环境搭建,都离不开网络命令。
但如果你还在依赖 ifconfig、route这些老命令,就会发现:在CentOS 8+、Ubuntu 20.04+ 等新版本Linux中,这些命令要么被标记为“已废弃”,要么直接不预装。
一、先搞懂:为什么要放弃老命令?
老命令(ifconfig、route等)属于net-tools工具集,2001年起基本停止维护,仅支持简单配置,无法适配现代Linux内核的高级网络特性(如策略路由)。
而ip(来自iproute2)和nmcli(NetworkManager命令行工具)是官方推荐,功能更强、语法统一,支持IPv6,能大幅提升操作效率。
二、核心命令1:ip 命令(替代ifconfig/route,全能网络管理)
ip命令可查看网卡、配置IP、管理路由等,核心语法:ip (选项) 对象 {命令 | help}。
ip (选项) 对象 {命令 | help}
常用对象有4个:link(网卡)、addr(IP)、route(路由)、neigh(ARP缓存),以下实操需sudo权限,新手建议测试机操作。
1. 基础查看:快速掌握网络状态
常用查看命令,快速获取关键信息:
- ip link show(缩写 ip l show):查看所有网卡的基本信息(名称、MAC地址、状态,比如ens33、lo),能快速判断网卡是否启用(UP/DOWN)。
- ip addr show(缩写 ip a show):查看所有网卡的IP地址(IPv4/IPv6)、子网掩码,替代老命令 ifconfig,信息更全面。
- ip route show(缩写 ip r show):查看系统路由表,能看到默认网关、目标网络的路由路径,替代老命令 route -n。
- ip neigh show(缩写 ip n show):查看ARP缓存表,能看到局域网内其他设备的IP和MAC对应关系,排查局域网连通性很有用。
小技巧:加-s可查看网卡统计信息(发包/收包、错误数),如ip -s l show dev ens33,便于排查故障。
2. 实操配置:临时修改网络(重启失效)
临时测试可用以下命令,重启后自动恢复默认:
- 启用/禁用网卡:sudo ip link set ens33 up(启用ens33网卡)、sudo ip link set ens33 down(禁用网卡,慎用!会断网)。
- 添加IP地址:sudo ip addr add 192.168.1.100/24 dev ens33,给ens33网卡添加一个静态IP(192.168.1.100,子网掩码255.255.255.0),支持同时添加多个IP。
- 删除IP地址:sudo ip addr del 192.168.1.100/24 dev ens33,删除指定IP,避免IP冲突。
- 添加默认网关:sudo ip route add default via 192.168.1.1 dev ens33,设置默认网关(192.168.1.1),让服务器能访问外网。
- 删除路由:sudo ip route del 192.168.2.0/24,删除指定目标网络的路由条目,排查路由故障时常用。
三、核心命令2:nmcli 命令
nmcli适合“永久配置”,可直接修改配置文件,重启不失效,适配长期运维,与图形化界面同步。
使用前需确保NetworkManager服务运行(新版本默认启用),核心控制命令:
- 查看状态:systemctl status NetworkManager
- 启动/重启:sudo systemctl start NetworkManager、sudo systemctl restart NetworkManager
1. 基础查看:网络连接与设备状态
- nmcli general status(缩写 nmcli g s):查看系统整体网络状态,包括网络连接状态、WIFI开关、WWAN开关等,一眼掌握全局。
- nmcli connection show(缩写 nmcli c s):查看所有网络连接(相当于“网络配置文件”),能看到连接名称、网卡、IP获取方式(dhcp/manual)等。
- nmcli device show(缩写 nmcli d s):查看所有网卡设备的详细信息,包括MAC地址、IP地址、网卡类型等,比ip link更详细。
- nmcli networking connectivity(缩写nmcli n c):查看网络连通性,返回5种状态(full=正常联网、limited=能联网但不能上网、portal=需登录认证、none=没网、unknown=未知),快速排查联网问题。
2. 实操配置:永久修改网络(重启生效)
以下是运维常用的永久配置案例,配置后重启不失效:
案例1:配置静态IP(永久生效)
假设网卡为ens33,配置静态IP(192.168.1.100/24)、网关(192.168.1.1)、DNS(223.5.5.5、8.8.8.8),步骤如下:
- 查看现有网络连接名称:nmcli c s,通常默认连接名为“ens33”或“Wired connection 1”。
- 修改连接配置(核心命令):
sudo nmcli c modify ens33 ipv4.method manual \
ipv4.address 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns “223.5.5.5 8.8.8.8” \
connection.autoconnect yes
- 重启网络连接,使配置生效:sudo nmcli c up ens33
说明:ipv4.method manual为静态IP;autoconnect yes设为开机自动连接。
案例2:配置DHCP自动获取IP(永久生效)
无需固定IP时,可配置DHCP自动获取:
sudo nmcli c modify ens33 ipv4.method auto connection.autoconnect yes
重启连接:sudo nmcli c up ens33,即可自动获取IP、网关、DNS。
案例3:新增/删除网络连接
新增连接(比如新增一个静态IP连接):sudo nmcli c add type ethernet con-name my-net ifname ens33 ipv4.method manual ipv4.address 192.168.1.101/24 ipv4.gateway 192.168.1.1,其中“my-net”是自定义连接名,可随意修改。
删除连接:sudo nmcli c delete my-net,删除不需要的网络连接,避免配置混乱。



