centos6.4 做nat出现tcp二次握手无法正常转译返回问题(icmp,udp可以正常通信)。求解

搞了一个centos6.4做nat。
设置了net.ipv4.ip_forward=1
加了iptables -t nat -A POSTROUTING -s 192.168.3.9  -j SNAT --to ip
用192.168.3.9可以ping通外网。
udp协议的通信都正常
就只有tcp协议无法正常建立连接。
iptables里的默认规则是放行。规则是清空过的。
用软件一直在发tcp连接后执行:cat /proc/net/nf_conntrack
查看端口映射表。发现没有看到任何一条与192.168.3.9 tcp nat有关的记录。
用tcpdump抓eth0(公网接口)能抓到192.168.3.9发送到指定服务器的数据包也能
看到指定服务器发回来的响应包。但响应包到了eth0后不会从eth1转发出去。
反回包没有通过filter的forward链而是到了filter的input连。
也就是服务器的响应只到了eth0就丢失了。
我还把sysctl -a 里的与ipv4.tcp有关的键值与另一台nat功能正常的进行对比没有发现有什么不同。
连接数也不多。
也用iptstate查看了一下。

请问这个问题还能怎么排查?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值