Networking
在 Debian 上橋接 vlan 和 OpenVPN
在 Debian 下,我需要橋接一個 vlan
eth0.1
並點擊tap0
。通常,當用水龍頭橋接普通乙太網適配器時,我會在以下內容中包含一些內容/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
VLAN。有人可以建議一種更清潔的方法來實現我的目標嗎?
“我發現的最像 Debian 的方式”——你需要更加努力地尋找,可能在
bridge-utils-interfaces
(5) 手冊頁中。橋接 VLAN 介面很簡單;您只需將 VLAN 介面作為手動介面放入(即
iface eth0.1 inet manual
),然後添加eth0.1
到bridge_ports
列表中。關於 OpenVPN 及其乙太網模式的快速說明——不要。
之後您可以將您的 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
您需要調整您希望擁有 Tap 介面的使用者,當然還有所有 ip 設置和時間。
您需要安裝 vlan 和 bridge-utils 軟體包才能使您的設置正常工作。
這種設置甚至可以在綁定的乙太網介面上進行:我在Debian 網路配置中描述了它,用於在帶有 VLAN Pseudo-HOW-TO 的綁定介面上進行橋接。