wifi网络下linux路由器的iptable和ARP设置

wifi网络下linux路由器的iptable和ARP设置

我的问题是 WiFi 网络下的计算机无法连接到连接到同一 WiFi 的 Linux 热点下的计算机。

我正在 WiFi 网络下设置 Linux 热点,有 10 台计算机连接到热点,热点连接到 WiFi 网络。还有计算机直接连接到 WiFi 网络。由于两个网络共享 ip 192.168.1.xxx,直接连接到 WiFi 的计算机使用 192.168.1.100-199,Linux 热点下的计算机使用 192.168.1.10-99。两者都使用网关 192.168.1.1 现在我已经配置了 Linux 热点的 ARP 和内核 ip 路由表。以下是我在 Linux 热点配置上所做的工作。

net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

假设我有一台计算机将 Linux 热点连接到 192.168.1.20,还有一台计算机直接连接到 WiFi 192.168.1.110,并且 Linux 热点的 IP 地址是 192.168.1.120,Linux 热点的外部 mac 地址是 08:00:27:71:85:BD,内部 mac 地址是 08:00:27:2A:30:14

arp -i wlan0 -s 192.168.1.20 08:00:27:71:85:BD pub
route add -host 192.168.1.20 wlan1
arp -i wlan1 -s 192.168.1.110 08:00:27:2A:30:14 pub
arp -i wlan1 -s 192.168.1.1 08:00:27:2A:30:14 pub

完成这些设置后,我的 Linux 热点下的计算机可以上网并 ping 192.168.1.1,也可以 ping WiFi 网络 192.168.1.110 下的计算机和 Linux 热点 192.168.1.120。但我的问题是,我发现直接连接到 Wifi 的计算机(IP 为 192.168.1.110)无法 ping 192.168.1.20,即 Linux 热点下的计算机。有人能帮帮我吗?非常感谢。

答案1

使用您当前的设置,热点机器无法从您的 LAN 看到,这是很正常的,因为它们是 NATed。您需要桥接连接以允许直接访问它们。

请注意,这肯定会带来安全问题,因为所有热点机器都会直接访问您的 LAN,除非您设置明确的防火墙规则来防范这种情况。

相关内容