Я пытаюсь добавить виртуальный интерфейс к установке Ubuntu Server 20.10 без операционной системы.
Я читал, что до версии 20 это было невозможно в netplan, и что люди возвращались к ifup / ifdown. Но это возможно с тем, что у меня есть.
Я пытаюсь предоставить своему серверу второй интерфейс, чтобы я мог привязать док-контейнер pihole к указанному интерфейсу.
Я вижу в документации netplan различные типы интерфейсов, и наиболее близким из них является тип vlan, но не похоже, что этот тип работает с немаркированными vlan.
В любом случае, я ценю любую помощь, которую вы можете мне оказать.
"Виртуальный интерфейс" может относиться к множеству различных технологий. Обычно контейнеры прикрепляются к мосту. Вы можете создавать мосты в сетевом плане, используя такой синтаксис:
network:
version: 2
bridges:
dockernet:
addresses: [10.1.1.1/24]
Обновление отредактированного вопроса.
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
Возможно, это поможет: 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 ]
Я предполагаю, что под "виртуальным интерфейсом" вы подразумеваете, что хотите иметь основной интерфейс (пример: "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