在旧版本中,/etc/network/interfaces
我可以定义一个虚拟接口:
auto enp7s0f0
iface enp7s0f0 inet static
address aaa.aaa.aaa.aaa
netmask 255.255.255.0
gateway aaa.aaa.aaa.1
auto enp7s0f0:0
iface enp7s0f0:0 inet static
address bbb.bbb.bbb.bbb
netmask 255.255.255.0
如何使用 Ubuntu Server 17.10 上的 netplan 实现这一点?
现在我有:
network:
version: 2
renderer: networkd
ethernets:
enp7s0f0:
addresses: [aaa.aaa.aaa.aaa/24]
gateway4: aaa.aaa.aaa.1
如何添加带地址的虚拟接口bbb.bbb.bbb.bbb
?
答案1
经过一番调查,我发现当前的 netplan 不支持它。可以这样做:
network:
version: 2
renderer: networkd
ethernets:
enp7s0f0:
addresses: [aaa.aaa.aaa.aaa/24, bbb.bbb.bbb/24]
gateway4: aaa.aaa.aaa.1
ip addr
显示两个地址,计算机可以与bbb.bbb.bbb/24
网络通信。缺点是两个网络只有一个接口名称,这在定义规则时可能会出现问题iptables
。
答案2
只需返回 ifupdown。非常简单
安装 ifupdown
删除/重命名 /etc/netplan 中的任何 .yaml 文件 - 重要的是确保文件扩展名不是 yaml
完毕!
答案3
尝试这样的事情:
network:
version: 2
renderer: networkd
ethernets:
enp7s0f0:
addresses: [aaa.aaa.aaa.aaa/24]
gateway4: aaa.aaa.aaa.1
vlans:
veth0:
id: 0
link: enp7s0f0
addresses: [bbb.bbb.bbb.bbb/24]
不知道虚拟接口是否需要重新定义网关,如果不行就添加。
答案4
使用 Netplan 22.04(Jammy)版本,您可以通过在附加地址上加标签来实现虚拟接口的概念:
network:
version: 2
renderer: networkd
ethernets:
enp7s0f0:
addresses:
- aaa.aaa.aaa.aaa
- bbb.bbb.bbb.bbb:
label: enp7s0f0:0
routes:
- to: default
via: aaa.aaa.aaa.1