在CentOS操作系统中,命令行是系统管理和网络配置的核心工具,掌握联网相关的命令行操作对于系统运维至关重要,CentOS作为基于Linux的企业级操作系统,其网络配置既可以通过图形界面完成,但更多时候依赖命令行实现高效、精准的控制,本文将详细介绍CentOS命令行环境下的网络配置、故障排查及常用操作,帮助用户熟练掌握系统联网能力。

网络配置基础命令
在CentOS中,网络配置主要涉及IP地址、子网掩码、网关、DNS等参数的设置,传统上,这些配置通过修改网络配置文件实现,不同版本的CentOS略有差异,对于CentOS 7及更高版本,推荐使用NetworkManager和nmcli命令进行管理;而CentOS 6及更早版本则需直接编辑/etc/sysconfig/network-scripts/目录下的配置文件。
查看网络接口信息
使用ip命令(替代老旧的ifconfig)可以快速查看网络接口状态:
ip addr show
该命令会列出所有网络接口的IP地址、MAC地址、子网掩码等信息,若需查看特定接口(如eth0)的详细信息,可执行:
ip addr show eth0
启用/禁用网络接口
通过nmcli命令可以轻松控制网络接口的启用状态:

nmcli connection up eth0 # 启用eth0接口 nmcli connection down eth0 # 禁用eth0接口
配置静态IP地址
以CentOS 7为例,使用nmcli配置静态IP的步骤如下:
nmcli connection modify eth0 ipv4.method manual \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns 8.8.8.8 \ connection.autoconnect yes
执行后需重启网络服务或重新连接接口:
nmcli connection down eth0 && nmcli connection up eth0
配置DHCP动态获取IP
若需使用DHCP自动获取IP,只需修改IPv4配置方法为auto:
nmcli connection modify eth0 ipv4.method auto
网络连通性测试命令
配置完成后,需验证网络是否正常工作,以下命令是排查网络问题的常用工具:

ping命令
测试与目标主机的网络连通性:
ping -c 4 www.baidu.com # 发送4个数据包后停止
traceroute命令
追踪数据包到目标主机的路径:
traceroute www.baidu.com
netstat与ss命令
查看网络连接状态、端口监听情况:
netstat -tuln # 显示所有TCP/UDP监听端口 ss -tuln # 更高效的替代命令
curl或wget命令
测试HTTP/HTTPS服务是否可达:
curl -I www.baidu.com # 获取HTTP响应头 wget www.baidu.com # 下载网页内容
网络服务管理
CentOS中的网络服务(如防火墙、DNS解析等)需通过命令行进行管理:
防火墙配置
使用firewalld管理防火墙规则:
systemctl start firewalld # 启动防火墙 firewall-cmd --add-service=http --permanent # 允许HTTP服务 firewall-cmd --reload # 重新加载规则
DNS配置
编辑/etc/resolv.conf文件添加DNS服务器:
echo "nameserver 114.114.114.114" >> /etc/resolv.conf
对于CentOS 7,建议通过NetworkManager管理DNS配置:
nmcli connection modify eth0 ipv4.dns "114.114.114.114 8.8.8.8"
网络故障排查步骤
当网络出现问题时,可按以下步骤排查:
- 检查物理连接:确认网线是否插好,网络设备(如交换机)是否正常工作。
- 查看接口状态:执行
ip link show确认接口是否为UP状态。 - 验证IP配置:使用
ip addr检查IP地址、子网掩码是否正确。 - 测试网关连通性:
ping 网关IP确认与本地网络的连通性。 - 检查DNS解析:使用
nslookup www.baidu.com测试DNS是否生效。 - 查看系统日志:通过
journalctl -u NetworkManager查看网络服务日志。
常用网络命令速查表
| 命令 | 功能描述 | 示例 |
|---|---|---|
ip addr show |
显示网络接口IP信息 | ip addr show eth0 |
nmcli connection up |
启用网络连接 | nmcli connection up eth0 |
ping |
测试网络连通性 | ping -c 4 8.8.8.8 |
traceroute |
追踪网络路径 | traceroute www.baidu.com |
netstat -tuln |
查看监听端口 | netstat -tuln |
curl -I |
获取HTTP响应头 | curl -I www.baidu.com |
firewall-cmd |
管理防火墙规则 | firewall-cmd --reload |
FAQs
Q1: 如何在CentOS命令行中永久修改主机名?
A1: 使用hostnamectl命令可永久修改主机名,
sudo hostnamectl set-hostname new_hostname
修改后需重启系统或重新登录终端生效,若需临时修改主机名(重启后失效),可直接执行hostname new_hostname。
Q2: CentOS中如何查看当前网络连接的进程ID?
A2: 使用ss或netstat命令结合-p参数可显示进程ID,
ss -tulnp | grep :80 # 查看监听80端口的进程
或
netstat -tulnp | grep :80
输出结果中的pid/program name字段即为对应的进程ID和程序名称。
