iptables定义规则的方式大概是这种格式:
iptables [-t table] COMMAND chain CRETIRIA -j ACTION
-t 表名:指定要操作的表
COMMAND:定义策略
chain:指定要操作的链
CRETIRIA:定义匹配的标准(分为多个标准)
-j Target:策略进行的动作
COMMAND
-L:显示所选链的所有策略
-A:在所选择的链最尾部添加一条新的策略
-D:从所选链中删除策略
-R:替换所选中的链里指定的策略
-I:从所选链中指定策略前面插入一条新的策略
-F:清空所选链的策略,如果不指定,清空所有
-Z:将所选链的所有计数器归零。
-N:根据用户指定的名字建立新的链
-L :显示所选链的所有策略
-A:在所选择的链最尾部添加一条新的策略
-D:从所选链中删除策略
-R:替换所选中的链里指定的策略
-I:从所选链中指定策略前面插入一条新的策略
-F:清空所选链的策略,如果不指定,清空所有
-Z:将所选链的所有计数器归零。
-N:根据用户指定的名字建立新的链
-X:删除指定用户自定义链
-E:对自定义链进行重命名
-P:为链设置默认策略
在使用上述操作时还可以配合一下参数使用:
-v:该参数使输出的内容详细化
-x:使-L输出时的计数器显示准确的数值
-n:将IP地址和端口以数值的形式显示
--line-numbers:在显示策略时,输入序号
--modprobe:指定iptables探测并装载使用的模块
CRETIRIA
匹配主机
-s:来源地址 192.168.0.0/24
-d:目标地址 192.168.0.1
网络接口
-i lo 从接口进来的
-o eth1 从接口出去的
反向选择
-i eth0 ‘!’-s 192.168.0.0/24
iptables -A INPUT ‘!’-s 192.168.0.0/24 -j REJECT
接端口并且接协议
-p tcp --dport 80 访问我的目标端口为80的并且协议为tcp
-p udp --sport 53 访问源端口为53的并且协议为udp
动作(target):
ACCEPT:放行
DROP:丢弃
REJECT:拒绝
DNAT:目标地址转换
SNAT:源地址转换
REDIRECT:端口重定向
MASQUERADE:地址伪装
LOG:日志
此出处http://7794482.blog.51cto.com/7784482/1727785