在Linux服务器上设置IP地址是网络管理的基础操作,不同Linux发行版(如CentOS、Ubuntu、Debian等)可能采用不同的配置方式,但核心原理一致,以下是详细的IP设置方法,涵盖静态IP、动态IP(DHCP)配置,以及常见问题的排查。

查看当前网络配置
在设置IP前,需先了解当前网络状态,使用ip addr或ifconfig命令(需安装net-tools包)查看网络接口信息,包括接口名称(如eth0、ens33)、MAC地址、当前IP地址等。
ip addr show
输出示例中,inet字段显示当前IP,BROADCAST等字段标识接口状态。
静态IP配置
静态IP适用于需要固定IP地址的场景,如服务器长期提供服务,配置方法因发行版而异:
基于Systemd的发行版(CentOS 7+、Ubuntu 16.04+)
CentOS/RHEL系统
使用NetworkManager或nmcli命令行工具(推荐):

nmcli con mod "ens33" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 nmcli con up "ens33"
参数说明:
ipv4.method manual:手动配置静态IPipv4.addresses:IP地址/子网掩码(如168.1.100/24表示子网掩码为255.255.255.0)ipv4.gateway:默认网关ipv4.dns:DNS服务器
也可通过修改配置文件/etc/sysconfig/network-scripts/ifcfg-ens33:
TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DEVICE=ens33 ONBOOT=yes
保存后执行systemctl restart network生效。
Ubuntu/Debian系统
修改/etc/netplan/01-netcfg.yaml(文件名可能不同):
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
应用配置:
netplan apply
传统发行版(CentOS 6、Ubuntu 14.04等)
通过修改/etc/network/interfaces(Ubuntu)或/etc/sysconfig/network-scripts/ifcfg-接口名(CentOS 6),方法与上述类似,但需注意语法差异。
动态IP(DHCP)配置
若服务器通过DHCP自动获取IP,需确保BOOTPROTO=dhcp(CentOS)或dhcp4: yes(Ubuntu Netplan),配置后重启网络服务:
# CentOS systemctl restart network # Ubuntu netplan apply
使用dhclient命令手动触发DHCP请求(需安装dhcp-client包):
dhclient eth0
多IP地址配置
服务器可能需要绑定多个IP到同一接口,
- CentOS:在
ifcfg-ens33中添加IPADDR1、NETMASK1等变量,或创建ifcfg-ens33:0文件:DEVICE=ens33:0 IPADDR=192.168.1.101 NETMASK=255.255.255.0 ONBOOT=yes
- Ubuntu:在Netplan配置中添加多个地址:
addresses: - 192.168.1.100/24 - 192.168.1.101/24
网络服务管理
- 启动/停止/重启网络服务:
systemctl start/stop/restart network # CentOS systemctl start/stop/restart networking # Ubuntu
- 开机自启:
systemctl enable network
配置验证与故障排查
- 检查IP配置:
ip addr show ens33 ping 192.168.1.1 # 测试网关连通性 ping 8.8.8.8 # 测试外网连通性
- 查看网络日志:
journalctl -u network # CentOS journalctl -u networking # Ubuntu
- 常见问题:
- IP冲突:使用
arp -a查看局域网内IP占用情况。 - DNS解析失败:检查
/etc/resolv.conf中的DNS配置,或使用nslookup测试域名解析。 - 服务未启动:确认
network或networking服务状态为active。
- IP冲突:使用
网络配置工具对比
| 工具 | 适用系统 | 优点 | 缺点 |
|---|---|---|---|
nmcli |
CentOS 7+, Ubuntu | 命令行友好,支持图形化管理 | 参数较多,需学习 |
Netplan |
Ubuntu 18.04+ | YAML配置简洁,支持多后端 | CentOS需额外安装 |
ifcfg文件 |
传统Linux | 兼容性好,直观 | 文件分散,管理复杂 |
相关问答FAQs
Q1: 修改IP配置后无法联网,如何快速排查?
A: 首先检查ip addr确认IP是否生效,然后ping网关和外网IP,若网关不通,检查网关配置;若外网不通,检查DNS和防火墙规则(firewall-cmd --list-all或ufw status),最后查看系统日志(journalctl -u network)定位错误。
Q2: 如何为Linux服务器配置双网卡绑定(Bonding)以提高可靠性?
A: 双网卡绑定需修改内核模块加载配置(/etc/modprobe.d/bonding.conf),添加alias bond0 bonding,并在网络配置文件中定义Bond接口(如ifcfg-bond0),设置BONDING_OPTS="mode=1 miimon=100"(模式1为active-backup),重启网络服务后,两块物理网卡将共享一个IP地址,实现冗余。
