我在同一个网络上有两个互联网连接和三个独立的无线路由器。两个 dlink 路由器为一个互联网连接提供服务,speedport 为另一个互联网连接提供服务。
我的问题是,当我通过 wifi 连接到我的第一个 dlink 路由器时,它会获取 speedport 路由器的 DHCP 服务器。我希望连接的路由器的 DHCP 服务器能够赢得 DHCP 请求广播竞赛。我能做些什么来实现这一点?
连接到第二个 dlink 路由器(较新的路由器)时,它会正确获取其 DHCP 服务器。也许将第一个 dlink 路由器更改为另一个 dlink 的型号可以解决问题,在此型号的固件更新更改日志中没有任何与 DHCP 相关的内容...
重要的是,网络上有一个本地服务器,无论连接到哪个 wifi 都必须可以访问 - 这就是为什么我不想为路由器提供单独的子网。
笔记:我知道这个主题已经以同一网络上的多个 DHCP 服务器的形式存在,但在这里我有一个关于 wifi 路由器的 DHCP 竞争条件的具体问题。如果路由器设置中有一个选项可以让路由器的 DHCP 服务器赢得 DHCP 响应竞争,或者验证较新的路由器是否按预期处理此问题。
答案1
看起来你要求的东西与你真正需要的东西完全不同。我从你的问题中了解到,你有一些独立的路由器连接到不同的 ISP,只要它们不相互连接,网络就可以按预期工作。
现在,您希望每个网络都能访问一台服务器,因此您尝试加入所有路由器的 LAN 端,以便该服务器位于所有 LAN 上。如果您非常小心地进行配置,那么这种方法是可行的,但对于您要实现的目标来说,这种方法过于复杂。
相反,不要将 LAN 连接在一起。而是通过在服务器本身中安装足够的网络接口,或者在此服务器和路由器之间安装支持 VLAN 的交换机,将服务器连接到所有 LAN。
为了使其可靠地工作,每个路由器的 LAN 端必须使用不同的 IP 地址,否则服务器将不知道每个客户端属于哪个 LAN。如果您使用的是 IPv6,则任何符合标准的路由器都保证可以满足这一部分。如果您使用的是 IPv4,则很可能必须手动配置每个路由器 LAN 端的 IP 前缀,使其不重叠。如果您在所有路由器上使用双栈,则可以通过使用 IPv6 配置服务器来省去一些麻烦。
如果出于某种原因您需要服务器在所有客户端上都使用相同的 IP 地址,那么也可以实现。选择分配给此服务器的其中一个 IP 地址作为规范。在所有其他路由器上,在路由表中配置一个条目,指定服务器的 IP 地址作为到服务器规范 IP 地址的网关。
例如,如果服务器连接到三个 LAN,其 IP 地址分别为172.16.0.7
、172.17.0.7
和172.18.0.7
。您可以选择使用172.16.0.7
客户端应该使用的规范 IP 地址。直接连接到的路由器172.16.0.7
不需要任何额外的路由。但连接到的路由器172.17.0.7
会认为它172.16.0.7
在 WAN 上。要解决该问题,请创建一个路由表条目,指示有一条172.16.0.7
用作172.17.0.7
网关的路由。在最后一个路由器上,创建一条172.16.0.7
用作172.18.0.7
网关的路由。