ZBLOG

LVS DR 模式,RS中使用tcpdump抓包有收到49:51.288645 IP (tos 0x0, ttl 112, id 0, offset 0, flags [DF], proto IPIP (4), length 72) 172.22.132.131 > 10.26.211.160: IP (tos 0x0, ttl 118, id 12657, offset 0, flags [DF], proto TCP (6), length 52) 121.35.103...

这是一个典型的LVS DR模式网络问题。从抓包分析看,RS收到了IPIP封装的SYN包,但没有响应。以下是系统性的排查步骤:

1. 检查RS的网络配置

查看RS的VIP配置

# 检查VIP是否正确配置在lo接口
ip addr show lo
# 应该看到类似:inet 172.22.132.134/32 scope global lo

# 检查arp_ignore和arp_announce设置
sysctl -a | grep arp | grep -E "(all|eth0|你的网卡)"

验证RS内核参数

# 确保以下参数设置正确
echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.all.arp_announce = 2" >> /etc/sysctl.conf  
echo "net.ipv4.conf.lo.arp_ignore = 1" >> /etc/sysctl.conf
echo "net.ipv4.conf.lo.arp_announce = 2" >> /etc/sysctl.conf
sysctl -p

2. 检查路由和防火墙

查看RS的路由表

ip route show table local | grep 172.22.132.134
# 应该显示:local 172.22.132.134 dev lo proto kernel scope host src 172.22.132.134

# 检查默认路由
ip route show

检查防火墙规则

# RS上检查iptables
iptables -L -n -v
iptables -t nat -L -n -v

# RS上临时关闭防火墙测试(生产环境谨慎)
systemctl stop firewalld   # CentOS/RHEL
# 或
ufw disable                # Ubuntu/Debian

# LVS上同样检查防火墙规则,确保转发正常  
iptables -L FORWARD -n -v  

##3.验证服务监听状态

###在RS上确认服务监听在VIP上

#确认443端口在VIP上监听  
netstat-tlnp|grep443  
ss-lntp|grep443  

#或者使用更精确的方式  
ss-lntp'sport=:443'  

#测试本地连接(重要)  
telnet172.22.132.134443localhost  

curl-khttps://172.22.132.134  

如果本地无法连接,说明服务配置有问题  

##4.数据包流向分析

###在RS上进行更详细的抓包分析
”`bash
#同时抓取进入和出去的包
tcpdump-i any-nn host121.35.103.108

#特别关注lo接口的流量(DR模式响应通过lo口出去)
tcpdump-i lo-nn port443

#查看是否有SYN-ACK发出
tcpdump-i any-nn’tcp port443 and(tcp[tcpflags]&(tcp-syn|tcp-ack)!=0)’

如果在lo口抓到SYN-ACK但在物理网卡没看到,说明路由/防火墙问题;如果完全没SYN-ACK,说明应用层问题。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=8497

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?