В старом /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
Как этого можно достичь с помощью netplan на Ubuntu Server 17.10?
Прямо сейчас у меня есть:
network:
version: 2
renderer: networkd
ethernets:
enp7s0f0:
addresses: [aaa.aaa.aaa.aaa/24]
gateway4: aaa.aaa.aaa.1
Как добавить виртуальный интерфейс с адресом bbb.bbb.bbb.bbb
?
После некоторого расследования я обнаружил, что текущий нетплан не поддерживает его. Можно сделать:
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
.
Просто вернитесь к ifupdown. Это очень легко
apt install ifupdown
удалить / переименовать любой файл .yaml в / etc / netplan - важно убедиться, что расширение файла не равно yaml
Готово!
Попробуйте что-то вроде этого:
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]
Я не знаю, нужно ли вам снова определять шлюз для виртуального интерфейса. Добавьте его, если он не работает.