netfilter, nf_conntrack问题
路由器配置了一条DNAT规则修改目的IP, WAN侧抓包, TCP三次握手正常完成, 目的地址, 源地址均作了替换。 但之后的HTTP链接只替换了目的地址, 没有替换源地址。 请问问题可能出在何处?规则: iptables -t nat -p tcp-d 192.168.1.1 --dport 80 -j DNAT --to-destination 10.10.10.10:80
WAN侧 正常抓包(TCP): ip.src == 10.10.10.14(路由器WAN侧IP), ip.dest == 10.10.10.10
WAN侧 错误抓包(HTTP): ip.src == 192.168.1.18(LAN侧PCIP地址, 源地址没有替换成路由器WAN侧IP), ip.dest == 10.10.10.10 回复 1# stillfarmer
你的描述别人很难看懂你在说什么。。。。
先把网络拓扑图画整上来吧。
的确,你应该说你出你的datapath怎么样走的,从pc到路由器到server吗 iptables -t nat -p tcp-d 192.168.1.1 --dport 80 -j DNAT --to-destination 10.10.10.10:80?这句话可以执行? 因为你没有给出组网拓扑,我从你问题中看出你有一些理解错误的地方
1、从wan侧看,DNAT只能替换目的IP地址,不能替换源IP地址。
WAN侧 正常抓包(TCP): ip.src == 10.10.10.14(路由器WAN侧IP), ip.dest == 10.10.10.10
这是你路由器发给wan侧的报文,被你抓到了,肯定不是经过DNAT替换后的报文。
WAN侧 错误抓包(HTTP): ip.src == 192.168.1.18(LAN侧PCIP地址, 源地址没有替换成路由器WAN侧IP), ip.dest == 10.10.10.10
这个才是正常的经过DNAT后的报文。
一般网络重定向没必要替换源IP为路由IP的,要是想替换,可以使用SNAT。
页:
[1]