10/15 款服务器配置有货即时交付免安装费

网络

添加额外 IPv4 地址

为服务器订购额外 IPv4 地址,在 Ubuntu、Debian、AlmaLinux 和 Rocky Linux 上完成配置并确保重启后依然生效,测试这些地址,并将其分配给虚拟机。

阅读约 5 分钟更新于 UbuntuDebianAlmaLinuxRocky LinuxProxmox VE

适用于
UbuntuDebianAlmaLinuxRocky LinuxProxmox VE
阅读时间
5 分钟
更新日期
主题
网络

遇到问题?工程师 7×24 小时为您解答

本页目录

每台服务器均含一个独享 IPv4 地址和一个路由 /64 IPv6 子网。如果您需要更多 IPv4 地址,例如用于虚拟机、分离不同的服务,或让邮件服务器拥有独立的信誉,可以为同一台服务器添加地址。

提示:请先确认 IPv6 能否满足需求。服务器附带的 /64 子网完全免费,其中的地址多到您永远用不完;请参阅配置 /64 IPv6 子网。

订购额外地址

选项价格(不含增值税)条件
单个 IPv4 地址每个 IP 每月 $2.50每台服务器最多 4 个,无需说明用途
/29 地址块(8 个地址)$18/月需说明用途
/28 地址块(16 个地址)$36/月需说明用途

在控制面板中申请:打开服务器,然后选择“网络”。由于 IPv4 地址资源稀缺,申请地址块时需附上简短的用途说明:用一两句话说明这些地址将用于什么,例如“八台虚拟机分别供不同客户使用,每台都有自己的公网 IPv4”。所有附加服务均列在附加服务页面。

地址如何路由到您的服务器

额外地址以路由方式指向您的服务器;具体方式和网关显示在您的控制面板中。实际操作中:

  • 将每个地址以 /32(即单个地址)的形式添加到主网卡,而不是沿用主 IP 的子网掩码。
  • 不要添加另一个默认网关。回复流量经现有的默认路由发出,并以额外地址作为源地址。
  • 新建的出站连接仍使用主 IP,除非程序绑定到其他地址。

如果控制面板为某个地址块显示了不同的方式或网关,请以控制面板为准。

配置地址

以下示例将 198.51.100.25 和 198.51.100.26 添加到网卡 enp1s0;ip -br link 可显示您的网卡名称。如需先试用某个地址,可以临时在线添加,但这种方式在重启后不会保留:

Shell
ip addr add 198.51.100.25/32 dev enp1s0

Ubuntu:Netplan

在 /etc/netplan/ 文件中,将这些地址添加到现有网卡的配置中,放在主地址之后:

YAML
network:
  version: 2
  ethernets:
    enp1s0:
      addresses:
        - 203.0.113.10/24
        - 198.51.100.25/32
        - 198.51.100.26/32
        - 2001:db8:1234:5678::1/64
      routes:
        - to: default
          via: 203.0.113.1
        - to: default
          via: fe80::1

示例中的主地址和路由仅供参考:请保留您自己的配置不变,并将主地址放在首位,使其继续作为出站流量的默认源地址。使用 netplan try 应用配置,若未确认,配置将在 120 秒后自动回滚。

Debian:ifupdown

在 /etc/network/interfaces 中,在该网卡现有的配置段之后,为每个地址各添加一个配置段:

配置文件
iface enp1s0 inet static
    address 198.51.100.25/32

iface enp1s0 inet static
    address 198.51.100.26/32

然后像上文那样,使用 ip addr add 在线添加相同的地址,而不要通过 SSH 重启网卡。

AlmaLinux 和 Rocky Linux:NetworkManager

Shell
nmcli connection modify enp1s0 +ipv4.addresses 198.51.100.25/32
nmcli connection modify enp1s0 +ipv4.addresses 198.51.100.26/32
nmcli connection up enp1s0

如果连接名称与网卡名称不同,请使用 nmcli connection show 中显示的连接名称。

警告:网络配置中的一处笔误就可能导致服务器离线。应用更改时请保持 IPMI 控制台处于打开状态,并在业务低峰时重启一次,确认所有地址都能恢复。

测试新地址

Shell
ip -br address show dev enp1s0
curl --interface 198.51.100.25 -sI https://www.debian.org

第一条命令列出网卡上的地址。第二条命令从额外地址发出请求:收到 HTTP 响应即证明双向路由正常。在您自己的电脑上,ping 198.51.100.25 也应有响应,除非您的防火墙丢弃了 ping 包。

将服务绑定到指定地址

大多数服务器软件默认监听所有地址。若要将某个地址专供一项服务使用,请显式绑定:例如在 nginx 中使用 listen 198.51.100.25:443 ssl;,或在 Postfix 中使用 smtp_bind_address = 198.51.100.25,使外发邮件从该地址发出。用于发送邮件的地址需要配置相匹配的反向 DNS。

除非另行指定,防火墙规则对所有地址生效。若只想在某个地址上开放端口,请将该地址指定为目标地址:

Shell
ufw allow proto tcp to 198.51.100.25 port 443

使用 firewalld 时,可添加富规则(rich rule),例如 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" destination address="198.51.100.25" port port="443" protocol="tcp" accept',然后执行 firewall-cmd --reload。

为虚拟机分配额外 IP

由于这些地址是路由到您的服务器的,宿主机必须将其转发给虚拟机:将虚拟机接入一个不含物理端口的网桥,启用 IP 转发,并为每个虚拟机地址添加一条 /32 路由。在 Proxmox VE 宿主机的 /etc/network/interfaces 中:

配置文件
auto vmbr1
iface vmbr1 inet static
    address 203.0.113.10/32
    bridge-ports none
    bridge-stp off
    bridge-fd 0
    up ip route add 198.51.100.25/32 dev vmbr1
    up ip route add 198.51.100.26/32 dev vmbr1
Shell
echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.d/99-forwarding.conf
sysctl --system

其中 203.0.113.10 代表宿主机的主 IP。在每台虚拟机内部,将其地址配置为 /32,并使用宿主机的主 IP 作为网关,同时标记为 on-link。以网卡为 ens18 的 Ubuntu 虚拟机为例:

YAML
network:
  version: 2
  ethernets:
    ens18:
      addresses:
        - 198.51.100.25/32
      routes:
        - to: default
          via: 203.0.113.10
          on-link: true

同时添加您常用的 nameservers 配置段。以这种方式分配给虚拟机的地址,不得同时配置在宿主机自身的网卡上。其余配置请参阅安装 Proxmox VE。

后续步骤

按照设置反向 DNS 中的说明,为每个发送邮件或需要可识别名称的地址设置 PTR 记录。所有地址均受可接受使用政策约束,该政策禁止发送垃圾邮件及其他滥用行为。仍未解决?请在技术支持中提交工单,并附上 ip -br address 和 ip route 的输出。

需要帮助?

拥有在用服务器的客户可在账户中提交工单,工程师 7×24 小时为您解答。

技术支持流程