-A:新增加一条规则,该规则在原规则的最后面
-p:规定应用于哪种数据包,例如:tcp,udp等
-d:(destination),表示目标IP或网络
-s:(source),表示源IP或网络
-j:后面接动作,例如:ACCEPT,DROP,REJECT等
-i:后面接网卡名,input的缩写,与INPUT链配合
-o:后面接网卡名,output缩写,与output链配合
-L:列出目前的table原则
-n:不进行IP与HOSTNAME的反查
-v:列出更多信息
-F:清楚所有的已定制的规则
-X:清楚所有用户"自定义"的chain或者tables
-Z:将所有的chain的计数与流量统计都归零
注意:
在 -s 参数后面可以增加一个参数 -sport 端口范围(限制来源端口),如:1024:65535
在-d 参数后面可以增加一个参数 -dport 端口范围(限制目标端口)
需要特别注意,这两个参数重点在port上面,并且仅有TCP和UDP数据包具有端口,因此要想使用–dport,–sport时需要加上-p tcp或者 -p udp才会成功
常用用法:
来自192.168.100.10的就接受,来自192.168.100.11就抛弃
iptables -A INPUT -i eth0 -s 192.168.100.10 -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.100.11 -j DROP
iptables -I INPUT -i eth0 -s 192.168.100.0/24 -j ACCEPT
丢弃所有想要链接本机21端口的数据包
iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP
禁止某个IP访问80端口
iptables -A INPUT -s "IP" -p tcp --dport 80 -j DROP
只要来自192.168.1.0/24的1024:65535端口的数据包,且想要连接的本机的ssh port就阻挡
iptables -A INPUT -i eth0 -p tcp -s 192.168.1.0/24 --sport 1024:65535 --dport ssh -j DROP
开启常用端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
操作命令
保存防火墙配置
/etc/init.d/iptables save
开机自启动防火墙
chkconfig iptables on
查看运行状态
/etc/init.d/iptables status
未完待续