从同一网络的子网外部访问一个 IP

从同一网络的子网外部访问一个 IP

我有一个网络,例如,子网为 172.20.1.0/24。在这个网络上,我有一个嵌入式设备试图访问http://192.168.1.1,这是硬编码的。在不对网络进行物理更改的情况下,我希望该设备能够收到响应。

我尝试在该设备上添加静态路由

$ route add -host 192.168.1.1 dev eth0
$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.20.1.0      *               255.255.255.0   U     0      0        0 eth0
192.168.1.1     *               255.255.255.255 UH    0      0        0 eth0

然后在网络上配置一台 PC,使其另外拥有该静态 IP 地址。现在,我可以从我的设备 ping 它,但不幸的是,只有当我明确指定接口时才能:

ping 192.168.1.1          # doesnt work
ping -I eth0 192.168.1.1  # works

我仍然无法访问该 PC 上的网络服务器。如何在不引入路由器的情况下使该 IP 地址可访问?

答案1

您需要192.168.1.1/24为配置的同一接口添加 IP 别名172.20.1.0/24。内核将自动添加直连路由。然后,您需要配置一个 Web 服务器nginx,例如apachelightttpd以便能够在 上提供网页http://192.168.1.1

相关内容