本页目录
每台服务器均含一个独享 IPv4 地址和一个路由 /64 IPv6 子网。如果您需要更多 IPv4 地址,例如用于虚拟机、分离不同的服务,或让邮件服务器拥有独立的信誉,可以为同一台服务器添加地址。
提示:请先确认 IPv6 能否满足需求。服务器附带的 /64 子网完全免费,其中的地址多到您永远用不完;请参阅配置 /64 IPv6 子网。
订购额外地址
| 选项 | 价格(不含增值税) | 条件 |
|---|---|---|
| 单个 IPv4 地址 | 每个 IP 每月 $2.50 | 每台服务器最多 4 个,无需说明用途 |
| /29 地址块(8 个地址) | 需说明用途 | |
| /28 地址块(16 个地址) | 需说明用途 |
在控制面板中申请:打开服务器,然后选择“网络”。由于 IPv4 地址资源稀缺,申请地址块时需附上简短的用途说明:用一两句话说明这些地址将用于什么,例如“八台虚拟机分别供不同客户使用,每台都有自己的公网 IPv4”。所有附加服务均列在附加服务页面。
地址如何路由到您的服务器
额外地址以路由方式指向您的服务器;具体方式和网关显示在您的控制面板中。实际操作中:
- 将每个地址以 /32(即单个地址)的形式添加到主网卡,而不是沿用主 IP 的子网掩码。
- 不要添加另一个默认网关。回复流量经现有的默认路由发出,并以额外地址作为源地址。
- 新建的出站连接仍使用主 IP,除非程序绑定到其他地址。
如果控制面板为某个地址块显示了不同的方式或网关,请以控制面板为准。
配置地址
以下示例将 198.51.100.25 和 198.51.100.26 添加到网卡 enp1s0;ip -br link 可显示您的网卡名称。如需先试用某个地址,可以临时在线添加,但这种方式在重启后不会保留:
ip addr add 198.51.100.25/32 dev enp1s0Ubuntu:Netplan
在 /etc/netplan/ 文件中,将这些地址添加到现有网卡的配置中,放在主地址之后:
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
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 控制台处于打开状态,并在业务低峰时重启一次,确认所有地址都能恢复。
测试新地址
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。
除非另行指定,防火墙规则对所有地址生效。若只想在某个地址上开放端口,请将该地址指定为目标地址:
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 vmbr1echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.d/99-forwarding.conf
sysctl --system其中 203.0.113.10 代表宿主机的主 IP。在每台虚拟机内部,将其地址配置为 /32,并使用宿主机的主 IP 作为网关,同时标记为 on-link。以网卡为 ens18 的 Ubuntu 虚拟机为例:
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 的输出。