我最近阅读了很多关于这个主题的信息——因为我真的不习惯在这样的“低层”工作——但我不能指出我做错了什么。相信我,我试过了;)
我想连接一个云服务器,因为它是我们公司局域网的一部分。
我决定创建一个第 2 层网桥 ( br0
),主要原因是我需要接收来自 LAN 的广播数据包,以便云服务器可以看到设备。
tap0
我在云服务器上创建了一条路由,通过接口引导 LAN 子网。
全部iptables
并且ebtables
有一个默认策略ACCEPT
(编辑:没有定义规则,甚至被禁用)。
LAN 客户端上的 ARP 表显示云服务器 IP/MAC 条目。
我可以br0
从云端 ping,也可以从 LAN 客户端 ping 云机器tap0
(客户端子网中静态定义的 IP)。
当我tcpdump
在两个接口cloud tap0 and LAN br0
(
这就是事情不再美好的地方:我无法访问 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
经过这么多小时后,我非常有信心我正在做的事情不会太远。
我决定将同一个云实例连接到我家 LAN 中的新主机。它没有任何特别的问题。
我仍然不确定是什么导致了最初的问题(可能是公司网络中昂贵的设备?),但至少我知道这不是来自我 :)