Мы работаем над Linux Ubuntu 17.10, и нам придется использовать Netplan для настройки сети. У нас есть файл /run/systemd/network/*.network
, который соответствует тому, что нам нужно, но мы хотим «перевести» его в файл конфигурации Netplan.
[Match]
Name=ens18
[Network]
Address=<guestIP>/32
Gateway=62.210.0.1
DHCP = none
DNS=8.8.8.8 8.8.4.4
[Route]
Destination=62.210.0.1/32
Scope = link
Мы хотим перенести это в файл /etc/netplan/*.yaml
, но мы не находим, как сделать эти две вещи:
- Кажется, у scope = link
нет прямого перевода в файле .yaml. Мы используем его, потому что работаем с виртуальной машиной;
- строка via
требуется в файле .yaml при настройке маршрута, но 0.0.0.0
не работает.
С нашей конфигурацией через файл .network вот что возвращает route -n
:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 62.210.0.1 0.0.0.0 UG 0 0 0 ens18
62.210.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 ens18
Так как же перевести две наши проблемные строки в конфигурационный файл Netplan?
Начиная с netplan 0.34 (теперь в Ubuntu 18.04), вы можете добавить «scope: link» к вашему маршруту в конфигурации netplan следующим образом:
network:
version: 2
renderer: networkd
ethernets:
eth0:
[...]
gateway4: 62.210.0.1
routes:
- to: 62.210.0.1/32
via: 62.210.0.1
scope: link