IPTable数据包转发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IPTable数据包转发相关的知识,希望对你有一定的参考价值。
我只是在玩iptables,将数据包转发到其他服务器/端口。我想将端口8990的数据包转发到其他IP地址10.209.4.203:27017。但它的行为不符合预期]
/sbin/sysctl -w net.ipv4.ip_forward=1
/sbin/iptables -t nat -N test_dnat
/sbin/iptables -t nat -A OUTPUT -j test_dnat
/sbin/iptables -t nat -A PREROUTING -j test_dnat
iptables -t nat -A test_dnat -p tcp --dport 8989 -j LOG --log-prefix '** XX TO 10.209.4.203 **'
iptables -t nat -A test_dnat -p tcp --dport 8989 -j DNAT --to-destination 10.209.4.203:27017
iptables -t nat -A test_dnat -p tcp --dport 8990 -j LOG --log-prefix '** XX TO 10.209.4.202 **'
iptables -t nat -A test_dnat -p tcp --dport 8990 -j DNAT --to-destination 10.209.4.202:27017
这是我从日志中得到的
Nov 25 11:30:20 mongo2 kernel: ** XX TO 10.209.4.202 **IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=12470 DF PROTO=TCP SPT=59980 DPT=8990 WINDOW=43690 RES=0x00 SYN URGP=0
Nov 25 11:30:21 mongo2 kernel: ** XX TO 10.209.4.202 **IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=12471 DF PROTO=TCP SPT=59980 DPT=8990 WINDOW=43690 RES=0x00 SYN URGP=0
Nov 25 11:30:23 mongo2 kernel: ** XX TO 10.209.4.202 **IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=12472 DF PROTO=TCP SPT=59980 DPT=8990 WINDOW=43690 RES=0x00 SYN URGP=0
请纠正我,如果做错了什么
答案
通常,当数据包进入时,目的地路由是在预路由链中完成的。
iptables -t nat -A **PREROUTING** -p tcp --dport 8990 -j DNAT --to-destination 10.209.4.203:27017
以上是关于IPTable数据包转发的主要内容,如果未能解决你的问题,请参考以下文章