我正在使用 MikroTik 路由器进行非常基本的设置:桥接(哑调制解调器)模式下的 ISP 调制解调器、静态公共 IP、启用了 DHCP 服务器的路由器、LAN。我已遵循制造商的“入门”手册(https://help.mikrotik.com/docs/display/ROS/First+Time+Configuration) 以及阅读手册的 DHCP 服务器部分。一切似乎都正常工作,但我遇到了这个小麻烦:LAN DHCP 客户端从 DHCP 服务器获取两个网关地址 - 一个是路由器的私有 IP 地址(这是我想要的),还有一个烦人的 ISP 的公共 IP 静态地址,这是我不想要的:
ipconfig /all
...
Physical Address. . . . . . . . . : XX-XX-XX-XX-XX-XX
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.0.100(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 1.2.3.4
192.168.0.0
DHCP Server . . . . . . . . . . . : 192.168.0.0
DNS Servers . . . . . . . . . . . : 192.168.0.0
NetBIOS over Tcpip. . . . . . . . : Enabled
此处 1.2.3.4 替代了我的 ISP 网关的实际公共静态 IP 地址,我不希望将其传递给 DHCP 客户端。
值得注意的是,如果我通过仅指定一个默认网关(192.168.0.0)对 LAN 客户端进行静态配置而不是 DHCP,一切仍然有效,所以不,ISP 的默认网关地址是不是LAN 客户端正常运行所必需的。
为了使路由器不向 LAN 上的 DHCP 客户端公开 ISP 的默认网关地址,我在 MikroTik 路由器配置(路由器操作系统版本 7.13.5)中缺少什么?
答案1
我找到了原因,它与路由器无关。原因是,尽管网络适配器的 Windows IPv4 配置已切换到 DHCP 模式,但它仍保留了 ISP 的默认网关地址作为静态设置,这是我之前尝试将单个 LAN 客户端直接连接到 ISP 桥接调制解调器时使用的。
显然,当您在 Windows 10 中从静态配置切换到动态配置时(在其他版本中可能也是如此),操作系统会正确地忘记旧的静态 IP 地址、子网掩码和 DNS 服务器并发出 DHCP 请求,但会以某种方式记住旧的默认网关地址并将其值添加到从 DHCP 收到的新默认网关地址。您可以确认,如果您返回适配器 IPv4 设置并单击“使用以下 IP 设置”单选按钮而不是“自动获取 IP 地址”,您将看到 IP 地址和子网掩码将正确为空白,但默认网关地址将预先填充您的旧值。
您不能直接删除该值并按“确定”,因为 Windows 会抱怨您没有填写 IP 地址和子网掩码,您也不能删除该值然后单击返回“自动获取 IP 地址”选项,因为 Windows 会忽略您在静态配置部分所做的更改。要解决此问题,您需要做的是使用路由器的默认网关地址将 LAN 客户端临时配置回静态模式,然后切换回 DHCP 配置。显然,一旦 Windows 发现旧的静态默认网关地址与从 DHCP 收到的新地址匹配,它就会正确删除静态值,而不是增加默认网关列表。