Преобразуйте/etc/network/interfaces в netplan для плавающего IP

Я плохо знаком с netplan на Ubuntu 18.04, просто обнаружил, что это существует сегодня. У меня есть интерфейс, который я пытаюсь добавить для создания плавающего IP на облаке Google. Это основано на этом примере: https://cloud.google.com/solutions/best-practices-floating-ip-addresses#implementing_option_4

Я протестировал пример, и он работает, но теперь я пытаюсь сделать то же на человечности, и я не знаю, как преобразовать это:

cat << EOF >> /etc/network/interfaces
auto eth0:0
iface eth0:0 inet static
    address 10.190.1.1
    netmask 255.255.255.255
EOF

к netplan.

Вывод для ls /etc/netplan '50 облаков 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?

0
задан 16 December 2018 в 04:56

3 ответа

Во-первых, Ваш /etc/network/interfaces является неправильным. Вы не можете попросить "подлинный 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
0
ответ дан 26 October 2019 в 20:22

Кажется, что Вы не можете создать 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
0
ответ дан 26 October 2019 в 20:22

До версии netplan 0.100 это не поддерживалось. Однако версия 0.100 добавила свойства lifetime и label к значениям addresses.

Вы можете проверить установленную версию сетевого плана с помощью следующей команды: 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"
0
ответ дан 20 January 2021 в 02:54

Другие вопросы по тегам:

Похожие вопросы: