我如何从外网访问 dhcp 服务器上的设备

我如何从外网访问 dhcp 服务器上的设备

我在 rpi 上创建了 DHCP 服务器,设置如下:对于接口 eth1:

interface eth1
static ip_address=192.168.1.1/20
static routers=192.168.1.0

以及 dnsmasq.config

interface=eth1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.1.60,192.168.1.70,12h

我还启用了 net.ipv4.ip_forward=1 和

sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE  

sudo iptables -A FORWARD -i wlan0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT  

sudo iptables -A FORWARD -i eth1 -o wlan0 -j ACCEPT

并将其添加到 /etc/rc.local

iptables-restore < /etc/iptables.ipv4.nat

我有一台设备连接到 dhcp 服务器,其 IP 为 192.168.1.64。我的 wlan0(在 rpi 上)IP 为 192.168.14.3。我的电脑 IP 为 192.168.14.4。问题是我如何通过 192.168.14.4 上的电脑访问通过 eth1(IP 为 192.168.1.64)连接到 rpi 的设备?我尝试过 IP 扫描,但设备未显示在 192.168.1.1-254 上,我也无法修改路由器中的设置

我在 rpi 中创建了一个子网,因为这是我看到的唯一可以与 eth1 共享 wlan0 互联网的方法,因此设备和 rpi 都连接到互联网,使用 rpi 也作为 wifi 到以太网的“转换器”,我尝试桥接,但 rpi 上的互联网本身没有连接,但设备已连接

答案1

我看到了一些奇怪的事情。

首先

static ip_address=192.168.1.1/20

为什么在复杂的子网上这样做?这是针对 IP 范围从 192.168.0.1 一直到 192.168.15.254(大约 4000 个主机)并在 192.168.15.255 上广播的情况,除非你非常清楚自己在做什么,否则你可能希望将其更改为

static ip_address=192.168.1.1/24

将 192.168.1.1 到 192.168.1.254 范围置于其中,并在 192.168.1.255 上进行广播

为了让网络设备相互通信,最简单的方法是将它们放在同一个子网中。您的子网可以更宽(例如 /20),但如果您刚开始学习网络,这会使事情变得有点复杂。

其次,我认为你错误配置了 DHCP 范围。在 dns-masq.config 中,你

dhcp-range=192.168.60,192.168.1.70,12h

第一部分缺少一个 1,因此应改为

dhcp-range=192.168.1.60,192.168.1.70,12h

相关内容