我有由 DHCP 分配的 ipv4 地址 192.168.88.130(不能使用静态 IP)。
我必须通过将适配器设置更改为静态并从 192.168.20.X 分配一些 IP 来访问 192.168.20.X 上的设备,然后我才能访问那里的任何设备。
有没有办法在不改变网络适配器 ipv4 地址的情况下访问其他网络?
答案1
编辑:实际上,除非其他主机也192.168.88.0/24
添加了相应的路由(即),或者网络掩码更短(例如255.255.0.0
),否则此方法不会起作用。此类问题的真正解决方案是使用辅助 IP/网络掩码,这在 Windows 中是可行的。另外,您提到的令人困惑cannot use static IP
,这似乎与您讲述的故事的其余部分相矛盾。
之前我已经通过将适配器设置更改为静态并从 192.168.20.X 分配一些 IP 来完成此操作,然后我就可以访问那里的任何设备
如果您正在谈论更改获取的同一适配器的设置192.168.88.130 assigned by DHCP
,那可能意味着适配器所连接的广播域中的不同主机实际上正在使用多个 IP 子网。
在这种情况下,您只需添加一条直接路线:
route add 192.168.20.0 mask 255.255.255.0 192.168.88.130
请注意,上面给出的命令假定适配器是现在指定 IP 192.168.88.130
。仅通过指定分配的 IP 作为网关参数,您才会添加直接路由(on-link
运行时,该路由将位于网关字段中route print
)。
您可以使用-p
/ /p
(它们都在 Windows 上运行;TIAS)来添加持久路由(据我所知,这意味着您不需要在每次重新启动后运行该命令),但我对 Windows 不够熟悉,无法判断:
- 在执行命令时,Windows 实际上会将网关参数解析为相应适配器的某个标识符
route add
,或者 - (这太愚蠢了)它实际上将地址存储到其路由表中并根据路由决策进行解析。
如果是后者,则意味着一旦适配器分配了不同的 IP,路由将变得无效。如果您实际上始终获得相同的 IP(由于 DHCP 保留等),您可能不必担心这一点。否则,您可能需要在 IP 更改时删除无效路由并重新添加有效路由。
參考文獻:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/route_ws2008