我有点坚持我的实验。
我有一个看起来有点像这样的网络。
| Internet |
|
---- |Switch| ----
| |
Server w/pub IP | DD-WRT router 192.168.1.1 |
|
RFC1918 clients 192.168.1.0/24
我想要的是让 RFC1918 客户直接相互交谈。
在具有公共 IP 的服务器上,我有这条路由:192.168.1.0/24 dev eth0 scope link
并且可以看到数据包实际上到达了 192.168.1.1 的 dd-wrt 路由器,即使我没有得到回答。
尝试从公共 IP 服务器访问其中一个 RFC1918 客户端将不会得到任何结果,因为 dd-wrt 路由器没有在其外部接口上宣布该网络(arp who-has 192.168.1.107 tell xxx.xxx.xxx.xxx
,但没有应答)。
作为 WLAN dd-wrt 路由器的路由器当然有大量路由、VLAN 和接口:
xxx.xxx.xxx.1 dev vlan2 scope link
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.244
84.215.64.0/18 dev vlan2 proto kernel scope link src xxx.xxx.xxx.xxx
169.254.0.0/16 dev br0 proto kernel scope link src 169.254.255.1
127.0.0.0/8 dev lo scope link
0.0.0.0 via xxx.xxx.xxx.1 dev vlan2
xxx.xxx.xxx.xxx
是公共 IP,并且xxx.xxx.xxx.1
是公共 IP 的默认路由。
我不知道在哪里继续这个。我会发现我都需要在 dd-wrt 路由器上进行路由,以及一些 iptables 魔法?
为什么要做这么复杂的事情?为什么不 ;)
另外,不要介意“互联网”可以获得 RFC1918 流量,它不会走出墙外。
编辑 1:根据 stew 的提示,我确实得到了正确的 ARP 流。并添加一个 iptables 规则以允许来自该特定公共 IPd 机器的流量我在系统之间获得流量!
奇怪的是,我从服务器 w/pub IP -> RFC1918 客户端获得的速度与将流量路由到 Internet 并返回一样。
编辑 2:好的,断开外部 Internet 连接仍然会产生同样糟糕的传输速度。所以它必须是别的东西。
编辑 3:好的,我想这种糟糕的速度还有其他原因。结案。:)
您需要 dd-wrt 将 arp 请求从一个接口代理到另一个接口。尝试: