Конвертировать /etc/network/interfaces в netplan для плавающего IP
Я новичок в netplan в Ubuntu 18.04, только что обнаружил, что он существует сегодня. У меня есть интерфейс, который я пытаюсь добавить, чтобы создать плавающий IP-адрес в облаке Google. Он основан на этом примере: https://cloud.google.com/solutions/best-practices-floating-ip-addresses
Я протестировал пример, и он работает, но теперь я пытаюсь сделать то же самое в Ubuntu, и я не знаю, как преобразовать это:
cat << EOF >> /etc/network/interfaces
auto eth0:0
iface eth0:0 inet static
address 10.190.1.1
netmask 255.255.255.255
EOF
Нетплан.
Выход для ls /etc/netplan
равно '50-cloud-init.yaml'. и выход для cat /etc/netplan/*.yaml
является:
network:
version: 2
ethernets:
ens4:
dhcp4: true
match:
macaddress: 42:01:0a:8e:00:3e
set-name: ens4
мой ifconfig:
# ifconfig ens4
ens4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 10.142.0.62 netmask 255.255.255.255 broadcast 0.0.0.0
inet6 fe80::4001:aff:fe8e:3e prefixlen 64 scopeid 0x20<link>
ether 42:01:0a:8e:00:3e txqueuelen 1000 (Ethernet)
RX packets 9430 bytes 1635180 (1.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 13383 bytes 1513428 (1.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Что эквивалентно тому, что он сказал, чтобы положить в файл, для netplan?
3 ответа
Во-первых, ваш /etc/network/interfaces
это неверно. Вы не можете запросить "auth eth0", а затем установить статический адрес позже.
auto eth0:0
iface eth0:0 inet static
address 10.190.1.1
netmask 255.255.255.255
Если я понимаю, что вы пытаетесь сделать, то этот фрагмент netplan.yaml - это минимум, который вам нужен...
network:
version: 2
renderer: networkd
ethernets:
ens4:
dhcp4: false
dhcp6: false
addresses:
- 10.142.0.62/24 # server #1, 10.142.0.63/24 for server #2
- 10.190.1.1/24 # floating IP in keepalived.conf
gateway4: 10.142.0.1
Предположения:
- только один интерфейс Ethernet, ens4:
- если у вас есть многопортовая карта Ethernet, мой.yaml нуждается в дополнительном коде
- Среда сервера Ubuntu
- не использует NetworkManager
Похоже, вы не можете создать eth0:0
Проверьте это: https://netplan.io/examples
Multiple addresses on an interface
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 10.100.1.38/24
- 10.100.1.39/24
gateway4: 10.100.1.1
Multiple gateways and multiple ips
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
addresses:
- 9.0.0.9/24
- 10.0.0.10/24
- 11.0.0.11/24
#gateway4: # unset, since we configure routes below
routes:
- to: 0.0.0.0/0
via: 9.0.0.1
metric: 100
- to: 0.0.0.0/0
via: 10.0.0.1
metric: 100
- to: 0.0.0.0/0
via: 11.0.0.1
metric: 100
До версии netplan 0.100 это не поддерживалось. Однако в версии 0.100 к значениям адресов добавлены свойства времени жизни и метки .
Вы можете проверить установленную версию сетевого плана с помощью следующей команды:
dpkg -l | grep netplan
Этот .yaml не проверен, но должен быть близок к тому, что вам нужно (или, по крайней мере, подтолкнуть вас в правильном направлении):
network:
version: 2
renderer: networkd
ethernets:
ens4:
dhcp6: no
dhcp4: no
optional: false
addresses:
- 10.142.0.62/24
- 10.190.1.1/24:
lifetime: 0
label: "eth0:0"