前言
对于有公网IP的生产环境VPS,仅仅开放需要的端口,即采用ACL来控制IP和端口(Access Control List).
这里可以使用Linux防火墙netfilter的用户态工具
iptables有4种表:raw–>mangle(修改报文原数据)–>nat(定义地址转换)–>filter(定义允许或者不允许的规则)
每个表可以配置多个链:
* 对于filter来讲一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT
* 对于nat来讲一般也只能做在3个链上:PREROUTING ,OUTPUT ,POSTROUTING
* 对于mangle是5个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
filter表的三个链详解:
* INPUT链: 过滤所有目标地址是本地的数据包
* FORWARD链: 过滤所有路过本机的数据包
* OUTPUT链: 过滤所有由本机产生的数据包
举一反三学习:
【例】:过滤所有的访问:iptables -t filter -A INPUT -s 0.0.0.0/0.0.0.0 -d X.X.X.X -j DROP【例】:对SSH的22端口开放iptables -I INPUT -s 0.0.0.0/0.0.0.0 -d X.X.X.X -p tcp --dport 22 -j ACCEPT【例】:开放80端口iptables -A INPUT -s 0.0.0.0/0.0.0.0 -d X.X.X.X -p tcp --dport 80 -j ACCEPT【例】:来自124的数据禁止通过174 IPiptables -A OUTPUT -p tcp -s 45.32.102.124 -d 157.240.22.174 -j REJECT 【例】打印当前生效的iptables规则(-n显示IP地址)iptables -L -n
评论列表()