我的服务器(ubuntu 20)上需要 3 个 IP。
我的 netplan 配置看起来像
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: yes
vlans:
eno2:
id: 200
link: eno1
addresses: [A/24]
eno3:
id: 300
link: eno1
addresses: [B/24]
为了应用更改,我使用“netplan apply”,然后重新启动服务器。
工作
curl --interface eno1 http://ifconfig.io
不起作用
curl --interface eno2 http://ifconfig.io
curl --interface eno3 http://ifconfig.io
A 和 B 是我可以 ping 通的两个 IP。
我是否遗漏了 netplan 的配置中的某些内容?
答案1
您的附加接口除了本地路由外没有其他路由;因此使用这些接口将无法将流量路由到 Internet。要配置这些 VLAN 接口以访问 Internet,您需要向每个接口添加 0.0.0.0/0 路由。
您还需要使用路由策略来确保每个接口的流量得到对称处理,而不是有多个相互干扰的默认路由。
此外,如果您的唯一目标是拥有三个 IP 地址,那么有一种更简单的方法可以实现此目的,而无需使用 VLAN:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: yes
addresses: [A/24]
addresses: [B/24]
您不必配置不同的接口或使用 VLAN 即可拥有多个地址。如果出于其他原因需要将不同的地址放在不同的网段上,那么 VLAN 可能比较合适,但肯定更复杂。
答案2
如果你有一个网络接口
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: yes
addresses:
- 10.0.0.10/24
- 11.0.0.11/24
- 12.0.0.12/24
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
以及您使用的其他参数