我在寻找在 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