在Linux操作系统中设置服务器IP地址是网络管理的基础任务之一,无论是部署Web服务、数据库服务还是其他网络应用,正确的IP配置都是确保服务器可访问性的前提,本文将详细讲解在Linux系统中通过不同方式设置服务器IP地址的方法,包括命令行工具和网络管理器的使用,并针对常见场景提供操作示例和注意事项。

通过命令行工具设置IP地址
在Linux中,传统的网络配置方式是通过修改网络配置文件或使用命令行工具直接操作,这种方法适用于服务器环境,尤其是无图形界面的最小化安装系统。
使用ifconfig和route命令(临时配置)
ifconfig和route是Linux中基础的网络配置工具,适用于临时修改IP地址,重启后配置会失效。
- 设置IP地址:
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
上述命令将网卡
eth0的IP地址设置为168.1.100,子网掩码为255.255.0。 - 设置默认网关:
route add default gw 192.168.1.1
该命令将默认网关设置为
168.1.1。
(图片来源网络,侵删) - 验证配置:
使用ifconfig eth0或ip addr show eth0查看IP配置,使用route -n查看路由表。
通过ip命令(推荐,支持IPv6)
ip命令是ifconfig的替代工具,功能更强大,支持IPv4和IPv6配置。
- 设置IP地址:
ip addr add 192.168.1.100/24 dev eth0 ip link set eth0 up
其中
/24表示子网掩码为255.255.0。 - 设置网关:
ip route add default via 192.168.1.1
- 删除IP地址:
ip addr del 192.168.1.100/24 dev eth0
永久修改网络配置文件
在基于Debian/Ubuntu的系统(如Ubuntu Server)中,网络配置通常存储在/etc/netplan/或/etc/network/interfaces文件中;在基于RHEL/CentOS的系统(如CentOS Stream)中,配置文件位于/etc/sysconfig/network-scripts/目录下。
示例(Ubuntu Server 20+,使用netplan):
编辑/etc/netplan/01-netcfg.yaml文件:

network:
version: 2
ethernets:
eth0:
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 Stream):
编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件:
TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 ONBOOT=yes
重启网络服务:systemctl restart network。
通过NetworkManager管理网络(适用于图形界面和服务器)
NetworkManager是现代Linux发行版(如RHEL 8+、Ubuntu Desktop)默认的网络管理工具,支持命令行和图形界面配置。
命令行工具nmcli
- 添加静态IP:
nmcli con mod eth0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8 1.1.1.1" nmcli con up eth0
- 启用DHCP:
nmcli con mod eth0 ipv4.method auto nmcli con up eth0
图形界面(GNOME桌面环境)
在服务器安装GNOME桌面后,可通过“设置”>“网络”>“以太网”>“齿轮图标”配置IP地址,选择“手动”并输入IP、子网掩码、网关和DNS。
多网卡配置与 bonding
对于需要高可用性的服务器,通常会配置多网卡或使用 bonding(链路聚合)技术。
- bonding配置示例(RHEL/CentOS):
编辑/etc/sysconfig/network-scripts/ifcfg-bond0:DEVICE=bond0 TYPE=Bond BONDING_OPTS="mode=1 miimon=100" IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 ONBOOT=yes
配置从网卡(如
ifcfg-eth0和ifcfg-eth1)为SLAVE=yes,并启动bonding服务:systemctl restart network。
常见问题与注意事项
- 配置不生效:检查网卡名称是否正确(如
eth0、ens33),确认服务是否重启(如network或NetworkManager)。 - IP冲突:使用
arp -a或nmap扫描局域网内IP是否被占用。 - 防火墙规则:确保
firewalld或iptables允许相关端口访问。 - 配置备份:修改前备份原配置文件,避免误操作导致网络中断。
相关问答FAQs
Q1: 如何在Linux服务器上设置静态IP和动态IP(DHCP)?
A1: 静态IP通过手动指定IP地址、子网掩码、网关和DNS实现(如修改ifcfg文件或使用nmcli);动态IP则将配置中的BOOTPROTO设为dhcp(Debian/Ubuntu)或ipv4.method auto(NetworkManager),服务器会自动从DHCP服务器获取IP。
Q2: 修改IP地址后无法上网,如何排查?
A2: 首先检查IP配置是否正确(ip addr show),然后确认网关和DNS设置(cat /etc/resolv.conf),使用ping 8.8.8.8测试网络连通性,若不通则检查网关是否可达(ping <网关IP>),最后检查防火墙是否拦截流量(firewall-cmd --list-all或iptables -L)。
