В 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.