Tap interface с использованием netplan?

Как настроить интерфейсы tun и tap в системах, которые используют netplan?

Обычно вы использовали бы pre-up в / etc / network / interfaces для вызова ip tuntap для создания интерфейса, но я не нашел ничего в документации netplan для этого.

2
задан 9 April 2018 в 21:40
2 ответа

Я столкнулся с этой проблемой, когда обновление до 18.04 сломало мой сервер OpenVPN, основанный на ответах. Это очень раздражает, когда безголовый сервер просто перестает работать, потому что Ubuntu отказался от поддержки определения мостов в / etc / network / interfaces. Уже есть несколько примеров, но в значительной степени вам нужно создать файл.yaml в / etc / netplan, который выглядит примерно как одна из конфигураций ниже. Обратите внимание, что вам понадобится установленный пакет bridge-utils .

Замените eth0 именем вашего Ethernet-устройства. Вы можете найти это, используя ifconfig -a .

Кроме того, вы можете установить MAC-адрес моста, используя параметр macaddress: xx: xx: xx: xx: xx: xx где xx: xx: xx: xx: xx: xx заменяется адресом, который вы хотите использовать.

/etc/netplan/00-bridge.yaml

Для DHCP:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
     dhcp4: no
     dhcp6: no
  bridges:
    br0:
      interfaces: [eth0]
      dhcp4: true 
      dhcp6: no

Для статического IP:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
  bridges:
    br0:
      interfaces: [eth0]
      dhcp4: no
      addresses: [10.0.0.5/24]
      gateway4: 10.0.0.1
      nameservers:
        addresses: [8.8.8.8]
      dhcp6: no
0
ответ дан 3 December 2019 в 13:58

Я не нашел способа сделать интерфейс tap из файла netplan yaml, я думаю, вам придется подробно прочитать справочное руководство с веб-страницы. Возможно, туннельный интерфейс с режимом gretap должен стать решением. В любом случае, мой совет: используйте команду ip в сценарии загрузки в systemd, например, если вы хотите быстро настроить ее.

/usr/bin/tap.sh

#!/bin/bash

ip link add name br0 type bridge;
for i in `seq 0 5`; do
    ip tuntap add name tap$i mode tap;
    ip link set up dev tap$i;
    ip link set tap$i master br0;
done;

/lib/systemd/system/tap.service

[Unit]
Description=TAP Interfaces
After=network.target

[Service]
Type=oneshot
User=root
ExecStart=/usr/bin/tap.sh

[Install]
WantedBy=multi-user.target

$ sudo systemctl enable tap.service
Created symlink /etc/systemd/system/multi-user.target.wants/tap.service → /lib/systemd/system/tap.service.

Документация Netplan: https://netplan.io/reference/#properties-for-device- type-tunnels%3A

0
ответ дан 18 November 2020 в 10:23

Теги

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