![通过无线网络中的其他主机路由包](https://linux22.com/image/1514820/%E9%80%9A%E8%BF%87%E6%97%A0%E7%BA%BF%E7%BD%91%E7%BB%9C%E4%B8%AD%E7%9A%84%E5%85%B6%E4%BB%96%E4%B8%BB%E6%9C%BA%E8%B7%AF%E7%94%B1%E5%8C%85.png)
我有以下情况:
我有一个无线接入点(192.168.42.1),有 3 个主机(接入点和主机运行 Linux、Debian 发行版)连接到它:
主持人 1:192.168.42.130
主持人 2:192.168.42.101
主持人 3:192.168.42.58
是否可以在任何节点对之间创建路由,这些节点对之间交换的数据包必须经过主机 1?例如:如果主机 2 和主机 3 交换数据包,则数据包除了经过接入点外,还必须经过主机 1。如果可以,我该怎么做?
此致,
肥后。
答案1
route del -net 192.168.42.0/24
答案2
我假设您已使用 配置了网络/24
。在这种情况下,WiFi 网络内的所有主机都处于同一个 中Broadcast Domain
。这意味着您应该使用 L2 解决方案。最好的方法是操纵ARP Cache
。假设这些是您的主机无线接口的 MAC 地址:
主机 1 MAC 地址 = 11:11:11:11:11:11
主机 2 MAC 地址 = 22:22:22:22:22:22
主机 3 MAC 地址 = 33:33:33:33:33:33
运行以下命令主持人 2:
sudo arp -s 192.168.42.58 11:11:11:11:11:11
运行以下命令主持人 3:
sudo arp -s 192.168.42.101 11:11:11:11:11:11
启用IP Forwarding
主持人 1通过发出以下命令:
sudo sysctl -w net.ipv4.ip_forward=1