Назад | Перейти на главную страницу

Соединение vlan и OpenVPN через Debian

В Debian мне нужно подключить vlan eth0.1 и коснитесь tap0. Обычно при соединении обычного Ethernet-адаптера с помощью крана я бы включил что-то вроде этого в /etc/network/interfaces:

auto br0
iface br0 inet static
      pre-up /usr/sbin/openvpn --mktun --dev tap0
      pre-up /usr/sbin/brctl addbr br0
      address 10.0.0.254
      network 10.0.0.0
      netmask 255.255.255.0
      post-up /sbin/ip link set tap0 up
      post-up /usr/sbin/brctl addif br0 tap0
      post-up /sbin/ip link set eth0 up
      post-up /usr/sbin/brctl addif br0 eth0
      post-down /sbin/ip link set br0 down
      post-down /usr/sbin/brctl delbr br0
      post-down /usr/sbin/openvpn --rmtun tap0
      post-down /sbin/ip link set eth0 down

Я признаю, что это некрасиво (мы вручную создаем tun и мост, используя необработанные команды), хотя это наиболее похожее на Debian средство, которое я нашел. Проблема возникает, когда я хочу заменить eth0 с vlan, например eth0.1. Единственный способ, который я могу придумать, - это добавить вручную pre-up и post-down команды для создания вручную eth0.1 vlan (все остальные настраиваются как Debian).

Однако я не совсем уверен, поскольку post-down /sbin/ip link set eth0 down может сломать другой eth0.x vlans. Может ли кто-нибудь предложить более чистые средства для достижения моих целей?

«самые похожие на Debian средства, которые я нашел» - вам нужно поискать внимательнее, возможно, в bridge-utils-interfaces(5) справочная страница.

Мостовое соединение интерфейсов VLAN тривиально; вы просто вставляете интерфейс VLAN как ручной (т.е. iface eth0.1 inet manual), а затем добавьте eth0.1 в bridge_ports список.

Небольшая заметка об OpenVPN и его режиме Ethernet - не надо.

После этого вы можете подключить свое устройство tuntap вместе с интерфейсом vlan и мостом:

  # The physical network port
  allow-hotplug eth0
  auto eth0
  iface eth0 inet manual

  # The interface used for the bridge
  auto vlan1
  iface vlan1 inet manual
        vlan_raw_device eth0
        pre-up ip tuntap add dev tap0 mode tap user openvpn-system-user
        pre-up ip link set tap0 up
        post-down ip link set tap0 down
        post-down ip tuntap del dev tap0 mode tap

  # The bridge interface
  auto br0
  iface br0 inet static
        pre-up ip link set vlan1 up
        pre-up ip link set tap0 up
        bridge_ports vlan1 tap0
        bridge_waitport 5
        bridge_waitmax 10
        bridge_fd 0
        bridge_stp off
        address 10.0.0.254
        netmask 255.255.255.0
        network 10.0.0.0
        boradcast 10.0.0.255
        gateway 10.0.0.1
        dns-nameservers 10.0.0.1
        dns-search-domain openvpn.example.net
        post-down ip link set tap0 down
        post-down ip link set vlan1 down

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

У вас должен быть установлен пакет vlan и bridge-utils, чтобы ваша установка работала.

Эта настройка возможна даже на связанном интерфейсе Ethernet: я описал это в Конфигурация сети Debian для быстрого доступа к связанному интерфейсу с помощью VLAN Pseudo-HOW-TO.