在我们的 LAN 环境(有线和无线)中,IP 地址冲突几乎总是会导致我们的系统瘫痪。
我们有很多设备连接到网络:PC、接入点、RF、称重秤、POS 机。每台设备都有自己定义的 IP 地址范围。但是,IP 是静态分配的。外部供应商离线配置各自的设备。当机器连接到网络时,这几乎经常发生冲突。
我们已经知道如何排除故障并解决冲突。我现在想问的是,如何阻止或防止任何 IP 地址与现有和使用的 IP 冲突的机器/设备进入或连接到我们的网络?
我计划在计划任务中(比如每天凌晨 2 点)运行 LookAtLan,这样我们就可以获得所有使用的 IP 和 Mac 地址的最新列表,然后创建一个程序,该程序将在检测到任何通过交换机端口进入网络的新条目时自动执行验证(IP)(仅适用于有线 - 我没有无线)。
一旦新条目被验证与现有条目相冲突,我的主要问题是:如何防止新条目进入。
我不知道我的计划是否可行。请帮忙。
答案1
由于您使用的是 IPv4,因此可以通过以下方式查找静态 IP 地址的网络冲突免费ARP问题是,这种检测只起作用冲突发生后。
不过,你可以使用某些交换机的安全功能来最大限度地减少 IP 地址冲突的影响,例如Cisco 的动态 ARP 检查按照建议在这个答案中。
DAI 是一种安全功能,可验证网络中的 ARP 数据包。DAI 会拦截、记录和丢弃具有无效 IP 到 MAC 地址绑定的 ARP 数据包。此功能可保护网络免受某些中间人攻击。
基本上在 IPv4 中,你无法防止静态(非 DHCP 分配的)IP 地址冲突,你必须集中精力尽量减少最终冲突对系统的影响,这可以通过使用适当的网络硬件和配置来实现。
如果你使用 IPv6,你将受益于IPv6 的乐观重复地址检测 (DAD)。
使用 IPv4 免费 ARP,ARP 请求消息头中的源协议地址和目标协议地址字段将设置为检测到重复的 IPv4 地址。在 IPv6 DAD 中,邻居请求 (NS) 消息中的目标地址字段将设置为检测到重复的 IPv6 地址。DAD 与地址解析在以下方面有所不同:
- 在DAD NS消息中,IPv6报头中的源地址字段设置为未指定地址(::)。被查询重复的地址不能使用,直到确定没有重复。
- 在对 DAD NS 消息的邻居通告 (NA) 回复中,IPv6 标头中的目标地址设置为链路本地所有节点多播地址 (FF02::1)。NA 消息中的请求标志设置为 0。由于 DAD NS 消息的发送者未使用所需的 IP 地址,因此它无法接收单播 NA 消息。因此,NA 消息是多播的。
- 收到目标地址字段设置为检测到重复的 IP 地址的多播 NA 消息后, 该节点禁用接口上重复的 IP 地址如果节点没有收到捍卫该地址使用的NA消息,它将在接口上初始化该地址。
因此,在 IPv6 中,会在冲突发生之前检测到冲突,并且只有在确定没有重复时才能使用重复的 IP 地址。