是什么?
Linux防火墙。用户可高度定制自己的防火墙策略,更可配置转发、路由、网关等。
技术支持及下载地址:
写在最前面——表、链和规则
规则即用户自定义的访问控制规则。规则添加到链中,多条链组成表。链可以由用户自己创建,表由程序内置。
iptables内置了filter,nat和mangle三张表。如果不指定表,则默认为filter表。
filter表负责过滤数据包,是最常用的表。包括的规则链有,INPUT,OUTPUT和FORWARD。
INPUT匹配目的IP是本机的数据包,OUTPUT匹配源IP是本机的数据包,FORWARD匹配流经本机的数据包。
命令格式(对大小写敏感)——iptables [-t 表名] 命令 [链名] [选项] [-j 策略]
范例:iptables -t filter -A INPUT -p tcp --dport 80 -j DROP
解析:
-t filter //指定表名。如不指定则默认为filter表
-A //命令。-A表示在链的末尾添加一条规则
INPUT //链名。是命令操作的对象
-p tcp --dport 80 //选项。
-j DROP //策略
常用命令:
-A -append
在所指定链的末尾添加规则。
-D -delete
从指定链中删除规则。有两种选择待删除规则的方式:一种是使用规则的序号;一种是列出规则的详情。
-R -replace
从指定链中取代一条规则。一般用规则的序号标识待取代的规则。
-I -insert
根据给出的规则序号向指定链中插入一规则。不指定序号时,默认在头部插入。
-L -list
显示所选链的所有规则。
-F -flush
清空所选链。这等于把所有规则一个个的删除。
--Z -zero
把所有链的包及字节的计数器清空。
-N -new-chain
根据给出的名称建立一个新的用户定义链。这必须保证没有同名的链存在。
-X -delete-chain
删除指定的用户自定义链。这个链必须没有被引用,如果被引用,在删除之前你必须删除或者替换与之有关的规则。如果没有指定链名,这条命令将试着删除每个非内建的链。
-P -policy
设置链的策略。即默认情况下的规则。
-E -rename-chain
根据用户给出的名字对指定链进行重命名。
-h Help.
帮助。给出当前命令语法非常简短的说明。
常用选项:
-p --proto
指定要匹配的协议 eg:-p tcp
-s
指定要匹配的源地址 eg:-s 192.168.0.10
--sport
指定要匹配的源端口 eg:--sport 22
-d
指定要匹配的目标地址
--dport
指定要匹配的目标端口 eg:--dport 80
常用策略:
ACCEPT 接受匹配到的包
DROP 丢弃匹配到的包
REJECT 拒绝匹配到的包,并通知发送方
ps:完整的命令、选项和策略可参见百度百科,后续也会有详细介绍