Linux

通過交換機通過 dd-wrt 路由 RFC1918 地址

  • July 3, 2012

我對我的一個實驗有點卡住了。

我有一個看起來有點像這樣的網路。

       | 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 魔術?

為什麼要做這麼複雜的事情?為什麼不 ;)

另外,不要介意“Internet”可以獲取 RFC1918 流量,它不會出牆。

編輯 1:根據燉肉的提示,我確實得到了正確的 ARP 流動。並添加一個 iptables 規則以允許來自該特定公共 IPd 機器的流量我獲得系統之間的流量!

奇怪的是,我從帶有 pub IP 的伺服器 -> RFC1918 客戶端獲得的速度與將流量路由到 Internet 並返回的速度相同。

編輯 2:好的,斷開外部 Internet 連接仍然會提供相同的、糟糕的傳輸速度。所以它必須是別的東西。

編輯3:好的,我想這個糟糕的速度還有其他原因。結案。:)

您需要 dd-wrt ​​將 arp 請求從一個介面代理到另一個介面。嘗試:

echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/br0/proxy_arp

引用自:https://serverfault.com/questions/404485