在双栈网络环境中,IPv4 和 IPv6 协议栈虽然共享相同的物理链路,但在地址分配、邻居发现、路由转发等关键环节采用完全独立的技术实现。当出现 IPv4 全协议栈访问失败而 IPv6 完全正常的现象时,我们需要理解这两种协议栈的关键差异点:
这种协议差异使得故障可能仅存在于 IPv4 协议栈的某个环节。根据多年网络运维经验,这类故障主要分布在四个关键环节:DHCPv4 地址分配、ARP/VLAN 二层连通性、IPv4 路由/PBR 策略、以及安全策略/NAT 处理。
在故障终端上执行以下命令收集关键信息:
bash复制# IPv4 信息收集
ip -4 addr show
ip -4 route show
cat /etc/resolv.conf | grep -v '^#'
# IPv6 信息收集
ip -6 addr show
ip -6 route show
cat /etc/resolv.conf | grep -v '^#'
重点关注以下异常现象:
bash复制# IPv4 基础连通性
ping -4 网关IP
ping -4 8.8.8.8
# IPv6 基础连通性
ping -6 网关IP
ping -6 2001:4860:4860::8888
bash复制# HTTP访问测试
curl -4 http://example.com
curl -6 http://example.com
# DNS解析测试
dig +short example.com A
dig +short example.com AAAA
关键提示:测试时必须明确指定协议版本(-4/-6 参数),避免操作系统自动选择协议导致误判。
bash复制# Cisco DHCP 服务器检查
show ip dhcp pool
show ip dhcp binding
# Linux dhcpd 检查
cat /var/lib/dhcp/dhcpd.leases
journalctl -u isc-dhcp-server -n 50
bash复制tcpdump -i eth0 -vvn port 67 or port 68 -w dhcp.pcap
分析抓包文件时关注:
bash复制# 终端侧检查
arp -an
# 网关侧检查(Cisco)
show arp | include <终端IP>
bash复制# MAC 地址表检查
show mac address-table | include <终端MAC>
# 接口状态检查
show interface gig1/0/1
bash复制traceroute -4 8.8.8.8
traceroute -6 2001:4860:4860::8888
bash复制# Linux 路由器
ip -4 route show
ip -6 route show
# Cisco 路由器
show ip route
show ipv6 route
bash复制# Linux PBR
ip rule list
ip route show table all
# Cisco PBR
show route-map
bash复制# Cisco ASA
show conn | include <终端IP>
# Linux iptables
iptables -nvL
conntrack -L
bash复制# Cisco NAT 检查
show ip nat translations
# Linux NAT 检查
iptables -t nat -nvL
地址获取层:
二层连通层:
三层路由层:
安全策略层:
bash复制# 交换机镜像端口
monitor session 1 source interface gig1/0/1 both
monitor session 1 destination interface gig1/0/24
# tcpdump 高级过滤
tcpdump -i eth0 -vvn 'icmp or (port 53) or (tcp port 80)'
bash复制# Linux 流量标记
iptables -t mangle -A PREROUTING -p icmp -j MARK --set-mark 1
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 2
# 查看标记流量统计
tc -s filter show dev eth0
协议栈矩阵测试:
| 测试类型 | IPv4 测试命令 | IPv6 测试命令 |
|---|---|---|
| 网络层 | ping -4 8.8.8.8 | ping -6 2001:4860:4860::8888 |
| 传输层 | nc -zv 8.8.8.8 53 | nc -zv 2001:4860:4860::8888 53 |
| 应用层 | curl -4 http://example.com | curl -6 http://example.com |
设备状态验证要点:
配置管理建议:
监控指标建议:
常见故障模式:
在实际网络运维中,双栈网络的故障排查需要建立系统化的分析框架。建议运维团队:
通过结构化的排障方法和经验积累,可以显著提高双栈网络问题的解决效率。