我有以下情况:
Computer
(Windows)带有单个以太网端口,配置如下(*)DeviceA
,配置固定IP 192.168.254.254,单独Computer
通过网线连接。它的工作原理是:我们可以在浏览器中连接设备的 Web 界面http://192.168.254.254
DeviceB
,配置固定 IP 169.254.0.1,单独使用Computer
以太网电缆连接到该设备(当设备 A 未插电时)。
它起作用了:我们也可以连接设备的 Web 界面。注意:此 IP 169.254.xx.xx 位于 亚太裔美国人保护协会范围(自动私有互联网协议寻址)。
现在如果我将两者连接DeviceA
起来DeviceB
到开关(Hirschmann Spider SL 20),连接到 的Computer
以太网端口,则:
DeviceA
作品DeviceB
不起作用(无法访问)我们可以看到Windows上的计算机网络适配器在适配器设置(菜单“属性”)中已经自动配置了192.169.xx.xx。
问题:如何通过交换机让计算机可以访问设备 A 和设备 B?
我以为使用交换机不会改变 IP 地址配置。
使用交换机需要修改设备的静态 IP 配置,这正常吗?
(*)配置:
答案1
我以为使用交换机不会改变 IP 地址配置。
使用交换机需要修改设备的静态 IP 配置,这正常吗?
改变局面的不是开关,而是的存在DeviceA
。
最有可能的情况是这样的:
DeviceA
存在时,Computer
通过 DHCP 接收 IP 地址 192.168.254.x/24来自 DeviceA 的报价并认为自己位于 192.168.254.0/24 子网中。DeviceA
什么时候不是存在,Computer
没有收到 DHCP 提供并通过 APIPA 自动配置 IP 地址 169.254.xx/16 并将其视为自己位于 169.254.0.0/16 子网中。
本地子网(地址加“子网掩码”)告诉计算机哪些其他主机是“本地的”;即,计算机如何确定是否将任何给定的数据包发送到路由器或设备本身。
当
Computer
具有 APIPA 地址并位于 169.254.0.0/16 子网时,它将DeviceB
169.254.0.1 视为“本地” - 通过 ARP 解析其以太网地址并将数据包直接发送到 DeviceB 的 MAC 地址。当
Computer
具有 DHCP 地址并且位于 192.168.254.0/24 子网中时,它才不是将 169.254.0.1 视为“本地”。如果 DHCP 租约提供了“默认网关”,计算机会将数据包发送到网关的MAC 地址(数据包丢失,因为 DeviceA 不知道 169.254.0.1 应该在哪里,或者可能根本没有配置为转发数据包)。
如果没有提供“默认网关”,计算机将放弃并报告“目标网络不可达”。
为了解决这个问题,你可能需要配置Computer
来自两个都子网。(不幸的是,在 Windows 上,这意味着两个地址都需要是静态的 - 它不能执行 DHCP+APIPA,甚至不能执行 DHCP+静态。)
您可以先启用静态配置(选择“使用以下 IP 地址”),然后打开“高级...”并添加两个都将计算机的地址/掩码添加到列表中。然后两个地址都应显示出来ipconfig /all
,计算机将理解这两个子网在同一个接口上都是“本地”的。
插图(OP接受答案后提供):
(另一个有时建议的选项可能是继续使用 DHCP 来获取 192.168.254.x/24 地址,但在计算机上添加静态路由,告诉它 169.254.0.0/16 实际上在本地可用;不幸的是,这种变化只能在一个方向上起作用——很可能的结果是Computer
能够将数据包发送到DeviceB
,但设备仍然无法回复对他们来说,因为从 DeviceB 的角度来看,计算机的地址仍然是非本地的。)
如果将 192.168.xx 设备连接到以太网端口,它不是自动的吗?在这种情况下我总是会得到一个 IP。
如果你将“192.168.xx”设备连接到以太网端口,则表示它是静态地配置为 192.168.xx 设备,因此它并不完全“获取”IP – 它已经拥有该 IP。
如果您连接“自动配置”设备,它不会从任何地方获取 192.168.xx 地址 - 只能从网络上充当 DHCP 服务器并提供该地址的另一台设备获取。
(但是,如果计算机设置为“自动配置”,但在“备用配置”选项卡上有 192.168.xx,则仍然算作静态配置。)
APIPA 地址仅在计算机不是配置为 192.168.xx(意味着它使用 DHCP)并且网络没有 DHCP 服务器。