Ubuntu Server 20.10 - виртуальные интерфейсы в netplan

Я пытаюсь добавить виртуальный интерфейс к установке Ubuntu Server 20.10 без операционной системы.

Я читал, что до версии 20 это было невозможно в netplan, и что люди возвращались к ifup / ifdown. Но это возможно с тем, что у меня есть.

Я пытаюсь предоставить своему серверу второй интерфейс, чтобы я мог привязать док-контейнер pihole к указанному интерфейсу.

Я вижу в документации netplan различные типы интерфейсов, и наиболее близким из них является тип vlan, но не похоже, что этот тип работает с немаркированными vlan.

В любом случае, я ценю любую помощь, которую вы можете мне оказать.

1
задан 18 December 2020 в 20:49

4 ответа

"Виртуальный интерфейс" может относиться к множеству различных технологий. Обычно контейнеры прикрепляются к мосту. Вы можете создавать мосты в сетевом плане, используя такой синтаксис:

network:
  version: 2
  bridges:
    dockernet:
      addresses: [10.1.1.1/24]
1
ответ дан 19 December 2020 в 00:05

Обновление отредактированного вопроса.

Netplan может назначать несколько адресов одному интерфейсу и не поддерживает псевдонимы интерфейсов (например, eth0:0).

network:
    version: 2
    renderer: networkd
    ethernets:
        enp3s0:
         addresses:
             - 10.100.1.38/24
             - 10.100.1.39/24
         gateway4: 10.100.1.1

Взято из этой ссылки https://netplan.io/examples/#using-multiple-addresses-on-a-single-interface

Docker по умолчанию пытается привязаться ко всем интерфейсам. IP-адрес на данном интерфейсе может быть указан. docker run -d -p 10.0.0.1:8080:80 nginx

0
ответ дан 19 December 2020 в 00:31

Возможно, это поможет: https://netplan.io/examples/#attaching-vlans-to-network-interfaces

network:
version: 2
renderer: networkd
ethernets:
    mainif:
        match:
            macaddress: "de:ad:be:ef:ca:fe"
        set-name: mainif
        addresses: [ "10.3.0.5/23" ]
        gateway4: 10.3.0.1
        nameservers:
            addresses: [ "8.8.8.8", "8.8.4.4" ]
            search: [ example.com ]
vlans:
    vlan15:
        id: 15
        link: mainif
        addresses: [ "10.3.99.5/24" ]
    vlan10:
        id: 10
        link: mainif
        addresses: [ "10.3.98.5/24" ]
        nameservers:
            addresses: [ "127.0.0.1" ]
            search: [ domain1.example.com, domain2.example.com ]
0
ответ дан 15 January 2021 в 11:54

Я предполагаю, что под "виртуальным интерфейсом" вы подразумеваете, что хотите иметь основной интерфейс (пример: "eth0"), который может иметь или не иметь адрес на одном подсети, и вы хотите создать интерфейс с другой маркировкой (пример: "eth0:0") с адресом в другой подсети.

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

Вы можете проверить установленную версию сетевого плана с помощью следующей команды: dpkg -l | grep netplan

Вот пример .yaml, который попытается использовать dhcp для назначения IP-адреса интерфейсу eth0 и назначит статический IP-адрес 192.168.55.151/24. ] к виртуальному интерфейсу с меткой eth0:0:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp6: no
      dhcp4: yes
      optional: true
      addresses: 
        - 192.168.55.151/24: 
            lifetime: 0
            label: "eth0:0"

Это приведет к следующим результатам (конечно, eth0 будет иметь IP-адрес, если он подключен к DHCP-серверу):

odroid@odroid:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::21e:6ff:fe48:114  prefixlen 64  scopeid 0x20<link>
        ether 00:1e:06:48:01:14  txqueuelen 1000  (Ethernet)
        RX packets 6389  bytes 966018 (966.0 KB)
        RX errors 0  dropped 1649  overruns 0  frame 0
        TX packets 531  bytes 160364 (160.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 21  

eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.55.151  netmask 255.255.255.0  broadcast 192.168.55.255
        ether 00:1e:06:48:01:14  txqueuelen 1000  (Ethernet)
        device interrupt 21  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 31816  bytes 2259360 (2.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 31816  bytes 2259360 (2.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

odroid@odroid:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:1e:06:48:01:14 brd ff:ff:ff:ff:ff:ff
    inet 192.168.55.151/24 brd 192.168.55.255 scope global deprecated eth0:0
       valid_lft forever preferred_lft forever
    inet6 fe80::21e:6ff:fe48:114/64 scope link 
       valid_lft forever preferred_lft forever
1
ответ дан 20 January 2021 в 02:37

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

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