控制台里的每一行是一个地址
付款并且机器可以连接之后,控制台把地址拆开、去重,放进一个可以滚动的列表。第一行单独显示,SSH 或 RDP 只用这一行。后面的每一行也是一个完整的 IPv4,彼此之间没有「网络地址」「广播地址」或「这段里还能算出几个」。
订单里默认已经含 1 个 IPv4。需要更多时按个增加,每个每月 1.6 美元,最多再加 255 个,和已含的那 1 个加在一起不超过 256 个。列表上的行数应当等于这个合计。买了 4 个额外地址,列表里是 5 行,而不是一段写着 /29 的前缀。
下面用文档地址做例子,配置时换成列表里的原文。假设第一行是 203.0.113.10,另外两行是 203.0.113.21 和 203.0.113.34。三行不连续。不连续仍然是三台主机地址,中间空着的号码不在这台机器上。
改网卡之前,把列表整份复制下来。后面对个数、对每一行,都用这份清单,不用掩码倒推。清单上没有的地址,不要写进网卡。
掩码沿用第一行,额外行用单主机
安装完成时,第一个地址已经在网卡上,并且带着当时的前缀长度和默认网关。这三项保持原样。前缀可能是 /24,也可能是别的长度,以系统里现有的那一条为准,不要改成购买个数对应的掩码。
一段 /29 固定占 8 个地址:1 个网络地址、6 个主机地址、1 个广播地址。按个购买并不交付这 8 个位置,也不保证行与行相邻。把额外地址的掩码写成 255.255.255.248,主机会把相邻号码当成同一网段里的本地邻居,那些邻居并不属于这张订单。
每一行额外地址使用 255.255.255.255,也就是 /32。这样网卡只认这一个主机地址,不会顺带声明旁边一串。默认网关仍然只有原来那一条,不要为新地址再填一条默认路由。
| 来源 | 怎么写进网卡 |
|---|---|
| 列表第一行,系统已经配好 | 保留原地址和原前缀,保留原默认网关 |
| 列表其余每一行 | 追加这个地址,掩码 255.255.255.255(/32) |
| 按个数套出来的 /29、/28 | 不写。清单上没有的网络地址和广播地址也不写 |
行与行刚好连续时,仍然逐行追加,仍然用 /32。连续只说明号码排在一起,不说明这台机器拿到了一整段。
加到已经持有第一个地址的网卡
额外地址不另附一块网卡。先看第一个地址现在在哪一个接口上,新地址就加在同一个接口上。
ip -4 addr show
ip route show default
第一条命令里,找到含有列表第一行的那个接口名,后面的例子写成 eno1。实际名字可能是 eno1、eth0 或 vmbr0,以输出为准。第二条命令里的 via 后面是现有网关,dev 后面应当和这个接口一致。网关和接口都从这里抄,不根据新地址现编。
Proxmox VE 8 或 9 常把第一个地址放在桥 vmbr0 上,物理口只做桥的成员。追加位置跟着第一个地址走。地址已经在桥上时,再加到物理口,新地址往往不应答。
站点若跑在虚拟机里,这个地址应当出现在最终应答它的那张虚机网卡上,宿主机不要再占用同一行。同一行同时出现在桥和虚机上,入站会落到先应答的一边。虚机里的写法与下面相同:原地址和原网关不动,新行用 /32。
先做一次临时添加,确认这一行能被看见,再写入启动配置。临时添加重启后消失,它只用来核对接口是否选对。
ip addr add 203.0.113.21/32 dev eno1
ip -4 addr show dev eno1
输出里应同时有原来的第一行和新的这一行。第一行的前缀没有被改掉。默认路由仍然指向原来的网关。核对完再写文件。另一行 203.0.113.34 用同样的方式再加一次。
写进启动时会读的那一份
只改已经写着第一个地址的那一份配置。同一接口不要再留一份只含新地址的配置,两份同时生效时,后读的那份可能把第一行盖掉,SSH 就只剩额外地址,和控制台给出的连接命令对不上。
Ubuntu Server 22.04、24.04、26.04 使用 netplan。打开含有第一行地址的 yaml,在 addresses 里保留原行,并追加 /32。routes 里的默认网关保持原值。nameserver 也保持原值。
network:
version: 2
ethernets:
eno1:
addresses:
- 203.0.113.10/24
- 203.0.113.21/32
- 203.0.113.34/32
routes:
- to: default
via: 203.0.113.1
例子里的 /24 和 203.0.113.1 表示「原样保留」。机器上若是别的前缀、别的网关,按 ip 命令的输出填写。文件里若已有别的键,只追加地址行,不要整份替换成上面这一段。
保存后执行 netplan try。它会应用配置,并在超时后自动退回。超时时间内另开一个 SSH 会话,从第一个地址连上,再确认。try 通过之后再 netplan apply。只留当前这一个会话就 apply,断开时没有入口核对配置是否已经退回。
Debian、Proxmox 与 NetworkManager
Debian 11、12、13 若把地址写在 /etc/network/interfaces,就改这一份,用 post-up 追加,用 pre-down 在接口关闭时去掉。第一行的 address 和 gateway 保持安装时的写法。
auto eno1
iface eno1 inet static
address 203.0.113.10/24
gateway 203.0.113.1
post-up ip addr add 203.0.113.21/32 dev eno1
post-up ip addr add 203.0.113.34/32 dev eno1
pre-down ip addr del 203.0.113.21/32 dev eno1
pre-down ip addr del 203.0.113.34/32 dev eno1
Proxmox 的桥同样写在这份文件里,接口名改成已经持有第一行的 vmbr0。物理口的桥接行不要改成地址行。
AlmaLinux 8、9、10 和 CentOS Stream 9、10 多由 NetworkManager 管理。连接名用 nmcli connection show 查看,对那一个连接追加地址,不改已有的 ipv4.gateway,也不把 method 改成会清空地址的值。
nmcli connection modify "System eno1" +ipv4.addresses 203.0.113.21/32
nmcli connection modify "System eno1" +ipv4.addresses 203.0.113.34/32
nmcli connection up "System eno1"
modify 写进连接配置,重启后仍在。只执行 ip addr add 则只留在当前启动里。up 之后立刻看 ip -4 addr,第一行应当还在。
FreeBSD 13 把别名写进 /etc/rc.conf。接口名从 ifconfig 里第一个地址所在的那一块抄。
ifconfig_em0_alias0="inet 203.0.113.21 netmask 255.255.255.255"
ifconfig_em0_alias1="inet 203.0.113.34 netmask 255.255.255.255"
原有的 ifconfig_em0 一行继续负责第一个地址和默认路由。别名序号接着现有的 alias 往下排,不要另写一块网卡。
同一台机器只保留一种网络管理方式。interfaces、netplan、NetworkManager 里若有两份都写着这个接口,启动顺序会决定最后剩下哪一组地址。看到第一行写在哪里,就只改哪里。
Windows 里追加,网关留空
选用 Windows Server 后,接入是 RDP,仍然只用列表第一行。额外地址加在已经持有第一行的那块适配器上。标准版每月加 18.1 美元,数据中心版每月加 31.8 美元,版本为 2019、2022 或 2025。系统差价和地址个数无关,地址仍按个计。
打开该适配器的 IPv4 属性,进入高级,在 IP 地址列表里新增一行:地址填列表中的额外行,子网掩码填 255.255.255.255。新增行的默认网关留空。已有的那一行网关保持不动。再填一条网关,会和原默认路由抢出口。
用 PowerShell 时,接口别名按 Get-NetAdapter 的输出填写。SkipAsSource 设为 true 时,这块新地址可以接收入站,新发起的出站连接仍从第一个地址出去。站点要不要各占一个地址、出站为什么仍走第一条,见 站点共用一个地址还是各占一个。
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 203.0.113.21 -PrefixLength 32 -SkipAsSource $true
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 203.0.113.34 -PrefixLength 32 -SkipAsSource $true
这条命令写入系统配置,不是一次临时生效。Get-NetIPAddress 里应能看到新行,前缀长度 32。原地址的前缀和默认路由保持原值。
重启之后按列表勾对
- 01 重启整台机器,不要只重启网络服务就算完成。临时添加的地址会在这一步消失,启动配置里的地址会重新出现。
- 02 再次执行 ip -4 addr,或在 Windows 里看适配器的地址列表。第一行还在,前缀与重启前相同。
- 03 默认路由只有一条,下一跳仍是原来的网关。Linux 上执行 ip route show default 核对 via。
- 04 用控制台清单逐行勾。清单上的每一行都在网卡上,网卡上没有清单以外的地址。
- 05 从另一台机器用第一个地址做 SSH 或 RDP。这条管理连接先通,再测额外地址上的业务端口。
行数可以用命令帮一次忙,结论仍以清单为准。下面这一行数的是全局 IPv4 的个数,应当等于已含的 1 个加上额外购买的个数。
ip -4 -o addr show scope global | wc -l
少一行时,回到启动配置,看是哪一行没有写进文件,或者写进了另一份没有被启动过程读取的文件。多一行时,删掉清单上没有的那一行,尤其是按 /29 算出来的网络地址或广播地址。
地址已经在网卡上,业务端口仍可能被防火墙丢掉。ufw、firewalld 或 Windows 防火墙若没有放行 80、443 或业务实际使用的端口,连接会超时。这是端口策略,和这一行有没有写进网卡是先后两步。先确认地址在重启后还在,再查端口。
个数不够就在配置页增加额外 IPv4,每个每月 1.6 美元,写入同一笔月租。128GB 内存档月租 454.8 美元,256GB 是 612.7 美元,内存都是 DDR4-3200 ECC RDIMM,下单后不能加条。处理器是 AMD EPYC 7543P,32 核 64 线程,2.8 到 3.7 GHz。默认盘是两块 1TB NVMe,无硬件 RAID,各自直连,可用容量按两块相加,大约 2TB。带宽默认 250 Mbps 且不限流量,换成 1 Gbps 每月加 245.0 美元,换成 2 Gbps 每月加 742.7 美元。月租把这些加在一起,应付等于月租乘月数。月付、季付、半年付、年付都不打折,没有安装费。机器部署在日本东京。
网卡这一步只解决「行在不在、重启后还在不在」。多个站点是共用第一行,还是各占一行,以及新发起的连接为什么仍从第一行出去,在下一篇里分开写。