bon*_*nza 9 networking home-server dhcp-server
我已将树莓派与无线接入点连接,并希望在 RPi 上运行 DHCP 服务器以正确分配 IP 和网关。这是因为 RPi 充当 VPN 的网关。不幸的是,接入点还运行一个 DHCP 服务器,由于某种原因我无法停用它。从 RPi 传播到所有 wifi 用户的自动获取正确设置的最佳方法是什么?
Mar*_*iae 13
有趣的问题。基本上,如果您在同一个 LAN 上有两个 DHCP 服务器,就会出现分配地址的竞争,并且您无法确定谁会获胜:您最终可能会得到一些地址由 raspberry 提供,一些由 AP 提供,还有一个单个设备,一旦断开连接,不会重新获得与以前相同的地址。或者,更糟糕的是,您可能有两个地址相同的设备。
因此,阻止两者之一是个好主意。最简单的事情如下:
首先,确保他们绘制地址的范围不重叠:一个是 192.168.1.11-74,另一个是 192.168.1.139-202。至少,这可以防止冲突。
我们现在阻止 AP 为有线客户端提供 IP 地址。假设 AP 插入eth1上的树莓派,那么以下命令将执行:
sudo iptables -A INPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP
sudo iptables -A OUTPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP
Run Code Online (Sandbox Code Playgroud)我们完了。两条评论:
DHCP 在 UDP 协议上使用端口 67 和 68;通过阻止这些通信,您可以阻止来自有线客户端的 DHCP 请求到达 AP 上的 DHCP 服务器;因此,有线客户端将仅由 raspberry 提供服务。
其次,一定要把AP直接插在树莓派上(我知道树莓派只有一个网口,已经用过了:你可以买一个USB转以太网的适配器,你的树莓派会有第二张网卡)。原因是如果您将 AP 插入交换机,那么 DHCP 请求和回复将到达/来自 AP,而不会通过树莓派,因此iptables命令将毫无用处。
编辑:
我忘了说上面的 iptables 规则还阻止了 dhcp 请求从 AP 流向树莓派,因此您现在的情况是 192.168.1.0xx 范围内的 DHCP 地址由树莓派提供给有线客户端,而192.168.1.1xx 范围内的地址由 AP 提供给 wifi 客户端。至少,这是有序的。
归档时间: |
|
查看次数: |
32784 次 |
最近记录: |