问题描述:
接口机与服务器通过三层交换机跨网段通信,测试发现接口机与服务器网络不通,但与服务器所在网段其他设备网络正常
接口机 xx.xx.13.0 xx.xx.13.254
服务器 xx.xx.11.0 xx.xx.11.1
问题定位:
通过tcpdump抓包抓不到到服务器的icmp包,使用traceroute跟踪无效
分析抓包数据发现大量接口机探测xx.xx.13.1(无对应物理设备)的arp包,而且都无法与服务器正常通信
怀疑与服务器路由被重定向到非网关设备,
修改一台接口机的ip为xx.xx.13.1,并启动抓包,可以看到很多应该发到服务器的网络包, 证实了是因为到服务器的路由被篡改,没有选择默认网关导致网络异常
问题恢复:
ip route flush cache 清理内核下一跳路由缓存,网络正常
ip route get serverip, 可以看到被串改的路由信息
icmp重定向
icmp redirect包是一种icmp差错报文,用于网关设备通知主机网络环境中有其他路由节点到达目标节点链路更少,主机接收到icmp redirect包后,使用新的网关作为到达目标主机的下一跳地址
通过伪造icmp重定向包可以定向攻击网络设备,网络窃听,网络瘫痪
禁用icmp redirect
sysctl -w net.ipv4.conf.all.accept_redirects=0
sysctl -w net.ipv4.conf.default.accept_redirects=0
sysctl -w net.ipv4.conf.eth0.accept_redirects=0