如何在 Debian/kFreeBSD 上桥接网络接口

如何在 Debian/kFreeBSD 上桥接网络接口

我在寻找在 Debian/kFreeBSD 上桥接网络接口的方法时遇到了问题。

我的主要目标是创建 2 - 4 个分接接口并将它们与两个物理接口连接起来。

语法/etc/网络/接口与Linux版本略有不同。

目前我使用以下内容(在 Linux Debian 上)

(仅部分输出)

auto tap0
iface tap0 inet manual
  pre-up openvpn --mktun --dev tap0
  post-down openvpn --rmtun --dev tap0

auto tap1
iface tap1 inet manual
  pre-up openvpn --mktun --dev tap1
  post-down openvpn --rmtun --dev tap1

auto br0
iface br0 inet static
  bridge_ports tap0 tap1 eth1 eth2
  address 10.20.30.40
  netmask 255.255.255.0

正常的解决方案是什么,因为 FreeBSD 上的 openvpn 仅当一个用户连接时才会创建设备?

我缺少类似的东西/etc/rc.conf

cloned_interfaces="bridge0"
ifconfig_bridge0="addm re0 up"
openvpn_if="tap bridge"

我的总体目标是从 Debian Linux 切换到 Debian kFreeBSD,但我需要先理清一些事情。

(我改变的原因是 PF(我发现它比 iptables 更容易使用)和原生 ZFS)但是,你可以从其他方法中说服(需要 BIG FS,并且 btrfs 不够稳定)

答案1

Debian/kFreeBSD 网络组件是 FreeBSD 内核功能,因此遵循 FreeBSD 方式。

要在 FreeBSD 上创建隧道接口,只需使用:

ifconfig tun0 create
ifconfig tun0 tunnel <source IP> <destination IP>
ifconfig tun0 up

您可能还添加了一些路线说明,以使用该隧道。


但您似乎使用了 OpenVPN。我想知道 OpenVPN 配置是否无法为您设置此 tun0 接口,就像在 FreeBSD 上的情况一样。例如,我在 FreeBSD 服务器上的 OpenVPN 配置之一包含以下指令行:

# Run in point to point mode
mode p2p

# Other endpoint
remote <the remote ip or host>
local <your ip>

# Network config
dev-type tun
dev tun0
ifconfig <my local 10.x address> <the remote 10.x local adress>

对于一些高级隧道配置,如 IPv4->IPv6 隧道,有一个更高级的驱动程序,称为 gif0。下面是示例:

ifconfig gif0 create
ifconfig gif0 tunnel <your server> <the destination server ipv4>
ifconfig gif0 inet6 <the main ipv6 address>
route -n add -inet6 default <the ipv6 routing address>
ifconfig gif0 up

相关内容