在 Debian 上桥接 vlan 和 OpenVPN tap

在 Debian 上桥接 vlan 和 OpenVPN tap

在 Debian 下,我需要桥接一个 vlaneth0.1和 tap tap0。通常,在使用 tap 桥接普通以太网适配器时,我会在 中包含类似以下内容/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 和 bridge),尽管这是我发现的最像 Debian 的方法。当我想eth0用 vlan 替换时,问题就出现了,例如eth0.1。我能想到的唯一方法是手动添加pre-uppost-down命​​令来手动创建eth0.1vlan(所有其他方法都以 Debian 方式配置)。

但是,我不太确定,因为这post-down /sbin/ip link set eth0 down可能会破坏其他eth0.xVLAN。有人能建议一种更干净的方法来实现我的目标吗?

答案1

“我发现的最像 Debian 的方法”——你需要更仔细地查找,可能需要在bridge-utils-interfaces(5) 手册页中查找。

桥接 VLAN 接口很简单;您只需将 VLAN 接口作为手动接口(即iface eth0.1 inet manual),然后添加eth0.1bridge_ports列表中。

关于 OpenVPN 及其以太网模式的简要说明——不要。

答案2

然后您可以将 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 伪方法在绑定接口上进行桥接分流

相关内容