Category 职业推荐

先确认是不是 IP 地址冲突

IP 地址冲突怎么解决,第一步是确认症状确实来自冲突,而不是网关或链路问题。冲突的典型表现:

Windows 弹出“检测到 IP 地址冲突”,系统日志里有来源为 Tcpip、事件 ID 4199 的记录,内容会写明与之冲突的硬件地址(MAC);

Linux 默认不弹提示,表现为网络时通时断,ping 丢包呈周期性,或者 ARP 表里同一个 IP 对应的 MAC 反复变化;

交换机日志出现 MAC 地址在两个端口之间漂移的告警;

网关上 display arp 或 show ip arp 看到该地址的 MAC 与登记不符。

最直接的验证方法是 arping。iputils 版本的 arping 向目标地址发 ARP 请求,谁持有这个地址谁就会应答,收到两个不同 MAC 的应答就是冲突:

# 指定发包网卡,发 5 次请求,观察应答里的 MAC

arping -I eth0 -c 5 192.168.10.50

# 重复地址检测模式:退出码 0 表示无人应答(地址空闲),1 表示已被占用

arping -D -I eth0 -c 3 192.168.10.50; echo $?

Debian/Ubuntu 上有两个同名工具:iputils-arping 用 -I 指定网卡;Thomas Habets 版的 arping 用 -i,并且有专门找重复应答的 -d 参数。此外 arp-scan --localnet 会扫描整个网段,重复的地址后面直接标注 (DUP: 2)。

Windows 上用下面的命令查看当前记录的 MAC 和冲突事件:

arp -a | findstr 192.168.10.50

Get-NetNeighbor -IPAddress 192.168.10.50

Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Tcpip'; Id=4199} | Select-Object -First 5

IP 地址冲突的原因

原因

典型场景

识别特征

手工配错

抄错地址、复制另一台机器的网卡配置、克隆的虚拟机镜像带着静态 IP

冲突方 MAC 属于新上线的设备

DHCP 与静态混用

把静态地址配在 DHCP 地址池范围内;设备离线期间租约到期,地址被分给别人,设备回来后冲突

冲突方由 DHCP 获得地址,DHCP 服务器租约表里能查到

客户私自改 IP

托管客户把网卡改成相邻的空闲地址或别人的地址,多见于多 IP 服务器和站群业务

冲突方 MAC 属于另一位客户的服务器

迁移遗留

下架的老机器被重新上电、备用机开机、双网卡两边配了同一个地址

冲突方 MAC 是登记表里“已下架”或“备用”的设备

高可用脑裂

keepalived、Windows 集群等 VIP 方案的两个节点同时认为自己是主节点

两个 MAC 都属于同一业务的服务器

VLAN 错误打通

端口 VLAN 配错或 trunk 放行了不该放的 VLAN,两个原本隔离的网段用了相同的私有地址

冲突方来自另一个 VLAN 或另一台交换机的下联端口

机房里的冲突通常出在前三种,其中“客户私自改 IP”很难靠沟通根治,需要交换机侧的技术手段,后文会讲。

排查步骤:从 ARP 记录到交换机端口

拿到两个 MAC。在受影响的主机或网关上查 ARP 表,或者抓包看谁在应答:

# 只看这个地址的 ARP 报文,应答里会出现两个不同的发送方 MAC

tcpdump -ni eth0 arp and host 192.168.10.50

判断哪个 MAC 是合法的。对照 IP 登记记录(IPAM)里该地址绑定的 MAC,另一个就是占用方。MAC 前三段(OUI)可以查出网卡厂商,有助于猜测设备类型,例如 52:54:00 开头是 KVM 虚拟机,00:50:56 是 VMware。

在交换机上按 MAC 找端口:

# 华为 / H3C

display mac-address 5254-00ab-cdef

display arp | include 192.168.10.50

# 思科 IOS

show mac address-table address 5254.00ab.cdef

show ip arp 192.168.10.50

顺着端口找设备。如果查到的端口是接服务器的接入口,对照机柜和端口登记就能确定是哪台机器;如果是上联口,说明设备在下一台交换机上,重复第 3 步。

紧急止损。找到端口后,如果占用方影响了付费客户的业务,可以先把该端口 shutdown,再联系设备负责人。

改正配置并清理 ARP 缓存。让占用方改回正确地址后,在受害主机和网关上清掉旧的 ARP 记录,否则要等缓存自然老化:

# Linux 主机

ip neigh flush all

# Windows 主机

arp -d *

# 华为交换机(用户视图)

reset arp all

# 思科交换机

clear ip arp 192.168.10.50

让合法主机重新宣告。在合法主机上发一次免费 ARP,刷新所有邻居的缓存:

arping -U -I eth0 -c 3 192.168.10.50

不同原因的处理办法

DHCP 与静态混用:把静态地址集中在地址池之外,并在 DHCP 服务器上排除这段范围。Windows DHCP 在作用域里添加“排除范围”,并在服务器属性里把“冲突检测尝试次数”设为 1 或 2;ISC DHCP 在配置里加 ping-check true;;思科路由器上用 ip dhcp excluded-address 192.168.10.1 192.168.10.100 排除,再用 ip dhcp ping packets 2 让它分配前先探测。

客户私自改 IP:沟通之外,在接入端口做 IP 与 MAC 的静态绑定并开启源地址校验,改了地址的报文直接被交换机丢弃,客户自己就会发现“改了不通”。

! 思科:先在 VLAN 上启用 DHCP snooping(静态绑定也依赖它),再绑定并校验

ip dhcp snooping

ip dhcp snooping vlan 10

ip source binding 5254.00ab.cdef vlan 10 192.168.10.50 interface GigabitEthernet1/0/5

interface GigabitEthernet1/0/5

ip verify source

# 华为 S 系列:静态绑定表项,并在端口开启 IP 源防攻击

system-view

user-bind static ip-address 192.168.10.50 mac-address 5254-00ab-cdef interface GigabitEthernet 0/0/5

interface GigabitEthernet 0/0/5

ip source check user-bind enable

H3C 的命令是接口视图下的 ip source binding ip-address 192.168.10.50 mac-address 5254-00ab-cdef 和 ip verify source ip-address mac-address,思路一致。

迁移遗留:下架流程里加一步“清网卡配置或拔网线”,备用机用独立的临时地址;在网关上给关键地址配静态 ARP(华为 arp static 192.168.10.50 5254-00ab-cdef,思科 arp 192.168.10.50 5254.00ab.cdef arpa),即使有人误配,网关也只认登记的 MAC。

高可用脑裂:先检查两个节点之间的心跳链路和 VRRP 报文是否被交换机过滤(组播 224.0.0.18 或单播),再核对优先级和抢占配置;脑裂期间先停掉一个节点的 keepalived 恢复业务。

VLAN 错误打通:核对端口的 PVID 和 trunk 的 VLAN 放行列表,把误放行的 VLAN 收回。

机房里怎么预防 IP 冲突

处理一次冲突不难,难的是不再发生。IDC 里行之有效的做法有四条:

每个地址有主:所有公网、内网、IPMI 地址都登记在 IPAM 里,写明所属服务器、MAC、客户和状态;分配只能从登记表里取,不允许口头“先用着”。

分配前探测:给客户配地址之前,在同网段的机器上跑一次 arping -D,有应答就说明登记表和现实对不上,先查再分:

if arping -D -I eth0 -c 3 192.168.10.50 >/dev/null; then

echo "空闲,可以分配"

else

echo "已有设备应答,暂停分配并核查"

fi

交换机侧锁定:接入端口做 IP 与 MAC 绑定,开启源地址校验,这样客户改了地址也发不出包,冲突在端口上就被挡住,不会扩散到整个网段。

持续监听:在网关所在的 VLAN 上跑 arpwatch,一旦某个 IP 对应的 MAC 发生变化或来回翻转,立即邮件告警,比等客户投诉早得多。

Toplink DCIM 把前三条合在了一起:IP 地址管理统一登记每个地址的归属,自动分配时排除已占用和已锁定的地址;交换机管理在端口上下发 ARP 绑定与源地址校验,MAC 可以自动学习并绑定,服务器换线迁移时不需要人工重新核对。

Copyright © 2088 炎龙游戏攻略网 - 活动副本全解析 All Rights Reserved.
友情链接
top