Linux之iptables(四)iptables数据包命中规则后的执行动作

Linux之iptables(四)iptables数据包命中规则后的执行动作_第1张图片

如图:4  便是iptables数据包命中规则后的执行动作,用-j选项来指定,后跟具体的动作。

常用的动作:

1.ACCEPT,DROP,REJECT

常用语filter表,用于配置黑白名单

2.SNAT,DNAT

常用于nat表,用于配置nat转换

3.当然还有其他的动作,如LOG,MASQUERADE,REDIRECT等。。。

这些不常用,自己作为开发也不搞运维,了解就好。这里主要总结

SNAT,DNAT两个动作。因为经常开发过程需要配置网络通畅,要么找其他人配置网络设备比较麻烦,要么自己配置代理转发,自己解决,多爽~~~

 

SNAT&DNAT的概念我不详细解释,

iptables -t nat -A POSTROUTING -p tcp --dport 10443 -j SNAT --to-source 172.29.50.12
# 将流过本机的,目标端口为10443的数据包,转换它的源IP为172.29.50.12
# 注意,根据iptables(1)数据流向,可知,改变源IP只能在数据出去的时候改变,也就是配置SNAT只能在POSTROUTING链中配置,在prerouting中配置会报错。


iptables -t nat -A PREROUTING  -p tcp --dport 10443 -j DNAT --to-destination 10.29.4.71:10443
# 将流过本机的,目标端口为10443的数据包转换他的目标IP为10.29.4.71,且转换目标端口为10443.这里加了个:10443就是在转换IP的同时转换目标端口。
# 同理,改变目标IP也只能在PREROUTING ;链中,在postrouting,中配置也会报错。





注意:
想要Linux主机能够转发目标ip非本机的ip,需要配置ipforward。
打开系统的IP转发功能
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
不用重启,立即生效
sysctl -p

记住语法即可,

 

 

你可能感兴趣的:(MY网络基础知识,linux)