Linux VPS 服务器添加、绑定和删除 IP 地址完整指南

Linux VPS, IP地址管理, 添加IP, 绑定IP, 删除IP, CentOS, Ubuntu, Debian, Netplan, 网络配置 0 Помог ли вам данный ответ?

问题描述

在 Linux VPS 服务器运维过程中,您可能需要为服务器添加额外的 IP 地址,将 IP 地址绑定到特定的网络接口,或者删除不再使用的 IP 地址。常见的使用场景包括:

  • 为服务器配置多个站点,每个站点使用独立的 IP 地址
  • 运行需要独立 IP 的服务(如邮件服务器、SSL 证书绑定等)
  • 网络架构调整,需要删除或替换已有的 IP 地址
  • 从服务商处获取了额外的 IP 段,需要在服务器上进行配置

本文将以 CentOS 7/8Ubuntu 20.04/22.04Debian 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 地址及子网掩码
  • 默认网关地址
  • 网络接口名称(如 eth0ens3enp0s3 等)

二、添加并绑定新 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:0

3. 写入以下内容:

DEVICE=eth0:0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0

4. 重启网络服务:

systemctl restart network

CentOS 8 / RHEL 8 / Rocky Linux(使用 nmcli):

nmcli connection modify eth0 +ipv4.addresses 192.168.1.100/24
nmcli connection up eth0

Ubuntu 20.04/22.04 和 Debian 11/12(使用 Netplan):

1. 编辑 Netplan 配置文件:

vi /etc/netplan/01-netcfg.yaml

2. 修改配置如下(注意缩进格式):

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 192.168.1.10/24
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1

3. 应用配置:

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 network

CentOS 8 / Rocky Linux:

nmcli connection modify eth0 -ipv4.addresses 192.168.1.100/24
nmcli connection up eth0

Ubuntu/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 中默认可用,建议优先使用

Помог ли вам данный ответ?

Отправить тикет

Если вам нужна помощь, отправьте тикет, и наша команда поддержки поможет вам.

Отправить тикет