在Linux系统中配置网络是系统管理和运维的基础技能,涉及静态IP配置、动态IP获取、DNS设置、网络路由管理等多个方面,不同Linux发行版(如CentOS、Ubuntu等)在配置方式上略有差异,但核心原理一致,以下将从基础配置到高级设置,详细介绍Linux网络的配置方法。

网络配置基础文件与工具
Linux网络配置主要依赖配置文件和命令行工具,传统方式下,网络参数通过静态文件配置,而现代发行版多采用NetworkManager等动态管理工具。
传统配置文件(适用于CentOS 7及以下、Ubuntu 18.04及以下)
- IP地址配置:
- CentOS系列:
/etc/sysconfig/network-scripts/ifcfg-网卡名(如ifcfg-eth0) - Ubuntu系列:
/etc/network/interfaces
- CentOS系列:
- DNS配置:
/etc/resolv.conf - 主机名配置:
/etc/hostname
现代配置工具(NetworkManager)
CentOS 8+、Ubuntu 20.04+默认使用NetworkManager,支持命令行(nmcli)和图形界面(nmtui)配置,动态管理有线、无线及VPN连接。
静态IP地址配置
静态IP适用于服务器等需要固定网络环境的场景,避免IP变动导致服务中断。
传统方式(以CentOS 7为例)
编辑/etc/sysconfig/network-scripts/ifcfg-eth0,添加以下参数:
TYPE=Ethernet BOOTPROTO=static # 静态IP,dhcp为动态 IPADDR=192.168.1.100 # 目标IP NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 网关 DNS1=8.8.8.8 # DNS服务器 DNS2=114.114.114.114 ONBOOT=yes # 开机自启
保存后执行systemctl restart network重启网络服务。

NetworkManager方式(通用)
使用nmcli命令一步配置:
nmcli con mod "连接名称" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 114.114.114.114" connection.autoconnect yes
连接名称”可通过nmcli con show查看,执行后无需重启,使用nmcli con up "连接名称"激活。
动态IP配置(DHCP)
客户端环境通常通过DHCP自动获取IP,配置更简单。
传统方式
将网卡配置文件中的BOOTPROTO设置为dhcp,确保ONBOOT=yes,重启网络服务即可。
NetworkManager方式
默认已启用DHCP,无需额外配置,若需修改,执行:

nmcli con mod "连接名称" ipv4.method auto
DNS与主机名配置
DNS配置
- 传统方式:直接编辑
/etc/resolv.conf,添加nameserver DNS_IP(如nameserver 8.8.8.8)。 - NetworkManager方式:通过
nmcli命令(如静态IP配置中的ipv4.dns参数)管理,避免手动编辑文件被覆盖。
主机名配置
- 临时修改:
hostnamectl set-hostname 新主机名 - 永久修改:编辑
/etc/hostname替换为新主机名,重启后生效。
网络路由与高级配置
添加临时路由
# 添加默认网关(已通过IP配置) # 添加静态路由 ip route add 192.168.2.0/24 via 192.168.1.254 dev eth0
临时路由重启网络后失效,永久配置需写入网卡配置文件或NetworkManager。
网络 bonding(负载均衡/冗余)
通过将多个物理网卡绑定为一个虚拟网卡,提升带宽和可靠性,以mode=1(主备模式)为例:
- 安装
ifenslave工具:yum install -y ifenslave(CentOS)或apt install -y ifenslave(Ubuntu)。 - 编辑
/etc/sysconfig/network-scripts/ifcfg-bond0:DEVICE=bond0 TYPE=Bond IPADDR=192.168.1.100 NETMASK=255.255.255.0 ONBOOT=yes BONDING_OPTS="mode=1 miimon=100"
- 修改物理网卡配置(如
ifcfg-eth0、ifcfg-eth1),添加MASTER=bond0和SLAVE=yes,重启网络服务。
常用网络诊断命令
| 命令 | 功能描述 | 示例 |
|---|---|---|
ip a |
查看网络接口及IP地址 | ip a show eth0 |
ping |
测试网络连通性 | ping 8.8.8.8 |
ss -tulnp |
查看监听端口及进程 | ss -tulnp | grep 80 |
traceroute |
跟踪数据包路径 | traceroute www.baidu.com |
nmcli dev show |
查看NetworkManager管理的设备状态 | nmcli dev show eth0 |
Linux网络配置需根据发行版和场景选择合适的方式,静态IP适合服务器,动态IP适合客户端;传统文件配置直接但灵活性低,NetworkManager适合现代系统动态管理,掌握基础配置和诊断命令,可有效解决网络问题,确保系统稳定运行。


















