我正在寻找的是一座桥梁。 WiFi无法处理正常的桥接,那么如何使用WiFi 路由两个IP以太网? (在Linux下)
如何在Linux下设置IP路由? 它必须转发DHCP,即路由器必须转发广播数据包。
NAT不是一个解决scheme。
更新 :我去WiFi的原因是,我们的networking电缆严重接地。 闪电最近穿过我们的电缆,摧毁了我们的大部分设备,包括电脑和路由器。 这是确保不再发生的最可靠的方法。
解决scheme :由于答案,我已经想出了2个解决scheme。
dhcrelay , parprouted ,并设置ip_forward=1 。 这允许真正的基于IP的路由工作和DHCP工作,因为dhcrelay。 缺点是NetBIOS名称(依赖于广播数据包)没有被中继。 因此,计算机必须通过在Windows \\192.168.1.3\SharedDocuments而不是\\LaptopMain\SharedDocuments的UNCpathIP地址进行访问。 你是正确的无线networking无法处理正常的桥接。 它只适用于某些特定的黑客攻击。
另一个黑客(供应商独立)是http://freshmeat.net/projects/parprouted/ 。 这可以完成像桥接一样的东西。 我用它,但不喜欢它。 我会build议一个经典的路由scheme:一个附加的子网,它自己的dhcpd或中继。
您也可以从STA(wifi桥)隧道到您的路由器,然后通过隧道桥接。
http://lartc.org/howto/对linux的可能性进行了很好的概述。
我使用http://www.pcengines.ch/创build基于Linux的无线客户端,以便能够运行dhcpd,DHCP中继,VPN或任何我需要的。
你能澄清你想要完成什么吗? 根据定义,广播数据包不会被路由。 路由连接和链接的广播域是相互排斥的。 build立一个DHCP帮助器是可能的,但听起来不像你在做什么。
以太网上的IPnetworking和Wi-Fi上的IPnetworking之间没有什么不同,如果需要,它们可以轻松共享广播域; 将它们插入对方。
如果你真正想要在两个networking之间寻找路由,就像在/etc/sysctl.conf中的变化一样简单: net.ipv4.ip_forward=1 。 和dhrelay提供了一个手段来玩DHCP帮手。
当然,那么无线网段的路由器就是一个客户端系统,不能通过接入点直接访问。 不是一件好事。
如果你想“正常”桥接,我build议只是插入一个无线接入点到您的networking,而不是使用Linux和一些无线网卡创build一个过度复杂的设置。
在Linux内核中,有许多使用brctl和大量不同的wifi卡进行接口“正常”桥接的例子 – 像DD-WRT或OpenWRT这样的项目就是其中的一些 – 唯一的先决条件是使wifi接口处于进入点模式。 但是我想,因为您在桥接方面遇到了问题,所以您在客户端模式下使用无线接口,其中接口function(无法切换到混杂模式)或encryption可能会阻碍。
但是,如果你仍然想要路由你的无线stream量(可能有正当的理由这样做 – networking分离出于安全原因是其中之一),您需要在不同的networking中为您的接口configuration不同的IP地址,启用IP转发由Shanebuild议并设置dhcrelay作为BOOTP / DHCP中继,将客户端的DHCP请求转发到预定义的DHCP服务器 – 这反过来需要为您的无线networking定义一个范围。
如果您在具体步骤中需要进一步的问题,则需要提供有关configuration文件/启动参数的详细信息,您的networking接口如何设置以及DHCP服务器configuration的外观。
这可能是一个愚蠢的答案,但…
为了确保完美的电气隔离,只需使用光纤将边框机器连接到networking的其余部分即可。
这避免了wifi的潜在安全问题,延长了延迟,避免了不必要的复杂性。