问题描述
在 Linux VPS 服务器运维过程中,您可能需要为服务器添加额外的 IP 地址,将 IP 地址绑定到特定的网络接口,或者删除不再使用的 IP 地址。常见的使用场景包括:
- 为服务器配置多个站点,每个站点使用独立的 IP 地址
- 运行需要独立 IP 的服务(如邮件服务器、SSL 证书绑定等)
- 网络架构调整,需要删除或替换已有的 IP 地址
- 从服务商处获取了额外的 IP 段,需要在服务器上进行配置
本文将以 CentOS 7/8、Ubuntu 20.04/22.04 和 Debian 11/12 为例,详细介绍如何在 Linux VPS 上管理 IP 地址。
解决方案
一、查看当前 IP 配置
在进行任何操作之前,首先确认当前服务器的网络配置信息:
方法一:使用 ip 命令(推荐)
ip addr show或简写:
ip a方法二:使用 ifconfig 命令
ifconfig -a如果提示 ifconfig 命令不存在,可以通过以下方式安装:
- CentOS/RHEL:
yum install net-tools -y - Ubuntu/Debian:
apt install net-tools -y
方法三:查看默认网关
ip route show default重要提示: 在操作前,请务必记录好以下信息:
- 当前主 IP 地址及子网掩码
- 默认网关地址
- 网络接口名称(如
eth0、ens3、enp0s3等)
二、添加并绑定新 IP 地址
方法一:临时添加 IP(重启后失效)
使用 ip addr 命令可以快速添加 IP 地址,但服务器重启后配置将丢失:
ip addr add 192.168.1.100/24 dev eth0其中 192.168.1.100/24 为要添加的 IP 及子网掩码,eth0 为网络接口名称。添加完成后,使用 ip a 验证是否生效。
方法二:永久添加 IP(重启后依然生效)
CentOS 7 / RHEL 7(使用 ifcfg 配置文件):
1. 进入网络配置目录:
cd /etc/sysconfig/network-scripts/2. 创建新 IP 的配置文件(以添加 192.168.1.100 为例):
vi ifcfg-eth0:03. 写入以下内容:
DEVICE=eth0:0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.04. 重启网络服务:
systemctl restart networkCentOS 8 / RHEL 8 / Rocky Linux(使用 nmcli):
nmcli connection modify eth0 +ipv4.addresses 192.168.1.100/24
nmcli connection up eth0Ubuntu 20.04/22.04 和 Debian 11/12(使用 Netplan):
1. 编辑 Netplan 配置文件:
vi /etc/netplan/01-netcfg.yaml2. 修改配置如下(注意缩进格式):
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.1.10/24
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.13. 应用配置:
netplan apply注意: 如果您的 Ubuntu 版本较旧或未使用 Netplan,可能需要编辑 /etc/network/interfaces 文件,添加如下内容:
auto eth0:0
iface eth0:0 inet static
address 192.168.1.100
netmask 255.255.255.0三、删除 IP 地址
临时删除 IP:
ip addr del 192.168.1.100/24 dev eth0永久删除 IP:
CentOS 7: 删除对应的 ifcfg 文件或注释其中的配置,然后重启网络:
rm /etc/sysconfig/network-scripts/ifcfg-eth0:0
systemctl restart networkCentOS 8 / Rocky Linux:
nmcli connection modify eth0 -ipv4.addresses 192.168.1.100/24
nmcli connection up eth0Ubuntu/Debian(Netplan): 编辑 /etc/netplan/01-netcfg.yaml,删除对应的地址行后执行:
netplan apply四、验证 IP 配置
完成操作后,请执行以下命令验证配置是否正确:
# 查看所有已绑定的 IP 地址
ip addr show
# 测试新 IP 的连通性
ping -c 4 192.168.1.100
# 查看路由表
ip route show常见问题排查
1. 添加 IP 后无法从外部访问
- 确认 IP 地址已由服务商正确分配到您的 VPS
- 检查防火墙是否放行:
# CentOS firewalld firewall-cmd --list-all # Ubuntu/Debian ufw ufw status # 或检查 iptables iptables -L -n - 确认 IP 配置文件中的子网掩码和网关设置正确
2. Netplan apply 报错
- 检查 YAML 文件缩进是否正确(使用空格,不要使用 Tab)
- 运行
netplan --debug generate查看详细错误信息 - 确保 YAML 文件权限正确:
chmod 600 /etc/netplan/*.yaml
3. 网络服务重启失败
- 检查配置文件语法是否有误
- 查看系统日志获取详细错误:
journalctl -xe | tail -50 - 如果配置出错导致断网,可通过服务商提供的 VNC 控制台登录修复
附加建议
- 备份配置文件: 在修改任何网络配置之前,建议先备份原有配置文件,例如:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak - 避免远程操作高风险步骤: 如果可能,尽量通过服务商的 VNC/KVM 控制台进行网络配置修改,避免因配置错误导致 SSH 连接中断
- 确认 IP 来源: 添加 IP 前请确保 IP 地址已由您的 VPS 服务商正确分配,否则即使在系统中配置成功也无法正常使用
- 记录变更: 建议维护一份服务器 IP 配置变更记录,方便后续排查问题
- 使用 ip 命令替代 ifconfig:
ip命令功能更强大且在新版 Linux 中默认可用,建议优先使用