我很难找到我正在开发的系统的网络配置。首先我要声明我不是网络专家,所以对于一些没有得到很好解释的事情,我深表歉意。
我正在开发一个由 3 个 Linux 设备组成的系统。其中一个是 HTTP 服务器。到目前为止,所有 3 个 Linux 设备都配置为具有固定 IP(192.168.1.20/24 - 192.168.1.21/24 - 192.168.1.22/24)。这样,网络中的任何计算机(用户)都可以访问 HTTP 服务器。
现在我尝试将我的系统集成到第三方设备中。问题就来了。
- 该设备需要访问 HTTP 服务器。
- 该设备具有固定 IP 235.*.*.*。
- 此设备有 DHCP 服务器
- 此设备为可选设备。有时在网络中存在,有时不存在。
- 我的 HTTP 服务器需要通过 DHCP 获取 IPv4 地址(从第三方设备)
- HTTP服务器需要通过多播DNS将HTTP服务通告给第三方设备。
我可以通过配置 HTTP 服务器从 DHCP 服务器 (235.*.*.*) 获取动态 IP 来使该系统工作。但是这样:
- 网络上的用户无法访问 HTTP 服务器。
- 当我将我的系统连接到路由器和第三方设备时,会出现问题(因为现在我的系统连接到 2 个 DHCP 服务器 - 路由器和第三方设备)。
- 当路由器和第三方设备均未连接时,网络中就没有 DHCP 服务器,我无法访问 HTTP 服务器。
我尝试过但无法使其发挥作用的可能的解决方案:
- HTTP 服务器中有多个 IP(一个固定 IP,一个动态 IP)。当有 2 个 DHCP 服务器时会出现问题。
- 通过主机名访问(用户无需知道系统 IP 即可访问)-> 这样我就可以拥有动态 IP。我认为这种解决方案可能会在其他网络中带来问题。
有人知道 HTTP 服务器和其他 2 个 Linux 设备的网络设置是什么吗?
我还会在这里留下一个网络图(我不知道它做得好不好但它可能会有所帮助):
https://i.stack.imgur.com/eit8j.png
灰色的东西并不总是存在于网络中。
如果有什么解释不清楚的地方,请直接询问。我是新来的 :)
答案1
HTTP 服务器可以有两个静态 IP:来自 192.168.1.0/24 网络和 235。。.* 到服务器“第三方设备”的请求。我不知道它上面是哪种 Linux,但为了测试,您可以将接口添加到同一网络设备:
$ sudo ip addr add 235.0.0.2/24 dev eth0