我最近读了不少关于这个主题的信息——因为我真的不习惯在如此“低层次”工作——但我无法指出我做错了什么。相信我,我试过了 ;)
我想连接一个云服务器,因为它是我们企业局域网的一部分。
我决定创建一个第 2 层桥接器(br0
),主要原因是我需要接收来自 LAN 的广播数据包,以便云服务器能够看到设备。
我在云服务器上创建了一条路由,通过接口引导 LAN 子网tap0
。
全部iptables
都有ebtables
默认策略ACCEPT
(编辑:没有定义规则甚至被禁用)。
局域网客户端上的ARP表显示云服务器IP/MAC条目。
我可以br0
从云端 ping 通,也可以从 LAN 客户端 ping 通云机器tap0
(客户端子网中静态定义的 IP)。
tcpdump
当我在两个接口上执行操作( cloud tap0 and LAN br0
)时,我可以看到 LAN 流量(STP、IP、ARP 等)流动。
事情从这里开始就不再顺利了:我无法访问 LAN 上的其他机器(当我 ping LAN 网关时,我收到“目标主机不可达”的提示。当我使用其他 LAN 计算机进行测试时,没有得到任何答复)。
PS:不要让我安装 OpenVPN ^^
编辑:
$ bridge link
2: eth0 state UP : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
4: tap0 state UNKNOWN : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.00155da90b0b no eth0
tap0
$ ip link
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP mode DEFAULT group default qlen 1000
link/ether 00:15:5d:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: tap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN mode DEFAULT group default qlen 1000
link/ether 8e:15:41:dc:70:b0 brd ff:ff:ff:ff:ff:ff
11: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 00:15:5d:a9:0b:0b brd ff:ff:ff:ff:ff:ff
答案1
经过这些时间之后,我非常有信心,我所做的事情不会太遥远。
我决定将同一个云实例连接到我家局域网中的新主机。它运行正常,没有任何特殊问题。
我仍然不确定是什么导致了最初的问题(可能是公司网络中的某个昂贵设备?),但至少我知道这不是我造成的:)