Byt*_*ger 3 networking linux openvpn ip
我正在尝试在机器上设置 openvpn,以便我有 2 个不同的 Tap 接口(tap0 和 tap1),然后是连接这些接口的网桥。openvpn 为每个 TAP 接口设置了服务器桥接配置。这个想法是 tap0 上的客户端将能够与 tap1 上的客户端交谈,反之亦然。
桥中不涉及物理 NIC,桥接口设置为没有 ip/netmask/broadcast。刚刚提出了一个“ifconfig brX up”
当两个客户端都连接到 openvpn 服务器时,我能够在它们之间 ping,每个客户端都连接到上面提到的自己的 Tap 接口,但是在尝试 tcpdump 桥接接口时我看不到流量。
我对一些事情有点困惑:
我需要在网桥接口上配置一个 ip 吗?我不太明白这样做的原因,因为它所做的只是让虚拟接口相互通信
网桥接口没有分配的 ip/netmask/broadcast 是否是我在 tcpdumping 接口时看不到网桥接口上的 ping 流量的原因?
如果第 2 项的答案是肯定的,我认为不可能使用 iptables 来阻止/允许该接口上的流量,对吗?如果是这样,有没有其他方法可以在这样的界面上完成对 iptables 的处理?
我需要在网桥接口上配置一个 ip 吗?我不太明白这样做的原因,因为它所做的只是让虚拟接口相互通信
不,纯网桥只在以太网级别工作——它甚至不查看 IP 标头。当您将 IP 地址分配给 br0 时,您实际上是将它分配给了连接到该网桥的主机操作系统。
但是,您并未提及将tap
接口实际添加为桥接端口。您需要明确告诉网桥它管理哪些端口:
brctl addif br0 tap0
ip link set tap0 master br0
网桥接口没有分配的 ip/netmask/broadcast 是否是我在 tcpdumping 接口时看不到网桥接口上的 ping 流量的原因?
不。
但桥可能仍处于“学习”模式;它仍然默认为 30 秒 - 检查使用brctl showstp br0
. 端口可能没有添加到网桥(见上文)。端口接口本身可能仍处于关闭状态。
(还有,天啊,为什么人们认为他们需要设置广播地址。真的,操作系统已经可以通过 IP | ~netmask 计算它。手动配置广播地址几乎没有用,只是更容易意外获取它错了。)
如果第 2 项的答案是肯定的,我认为不可能使用 iptables 来阻止/允许该接口上的流量,对吗?如果是这样,有没有其他方法可以在这样的界面上完成对 iptables 的处理?
是的,您需要ebtables
过滤流量;它不通过 IP 防火墙。
(不过,我想这并不总是正确的。例如,Untangle 防火墙似乎在跨品种路由器/桥接模式下工作,这有点令人困惑。)