我有两个带有嵌入式 Linux 的设备。其中一台(机器 A)有两个网络接口:用于将机器连接在一起的 eth 和用于通过 WiFi 连接到路由器的 wlan 接口。第二台机器(B)只有一个 eth 接口。我的目标是在机器 B 上启用对 WiFi 网络的访问。我使用了一些 iptables 规则来过滤从机器 A 到机器 B 的数据包,它可以工作。现在,我需要阻止第一台机器上的 dhcp 流量,这样它就不会到达第二台机器。我一直在寻找一些 iptables 规则来做到这一点,但我发现 iptables 是不可能的。有没有其他方法可以阻止该流量?
预先感谢您的任何帮助。
我相信这或多或少是您设想的设置。A 连接到 WiFi,并获得一个 IP 地址。B 通过以太网连接到 A,并拥有自己的(私有 RFC1918)IP。
您希望 B 访问 WiFi 上的设备。
现在,A 使用 DHCP 在 WiFi 接口上获取 IP。但它不会将 DHCP 转发到不同的接口,除非您运行 DHCP 代理。此外,WLAN 客户端通常不能代表多个 MAC 地址,因此您必须以某种方式为 A 分配一个额外的 IP - 或者让 A 代表 B 在 WiFi 上的流量。
执行此操作的简单方法是创建来自以太网的 NAT 流量,并将其转发到 wifi。这就是你的家庭路由器所做的,它将允许 B 与 WiFi 上的设备(和互联网)交谈。该网络上的设备会认为流量来自 A,因为它们根本看不到 B。
有关如何进行 NAT,请参见例如这个问题。
您不应该尝试克隆地址或任何类似的愚蠢想法。IP 应该是唯一的。