一 、基本操作
查看 iptables 版本
rpm -q iptables
或
iptables -V (注意:V是大写字母V)
查看当前 iptables 规则
1. service iptables status
2. iptables -L --line-numbers
3. cat /etc/sysconfig/iptables
4. iptables --list
5. iptables-save
关闭\启动\重启 iptables
service iptables stop
service iptables start
service iptables restart
保存 iptables
方法1. service iptables save
方法2. /etc/rc.d/init.d/iptables save
查看帮助
iptables --help
二、 iptables 规则中各指令(command)的含义
-A –append 添加
-D –delete 删除
-I –insert 插入
-R –replace 替换
-L –list 列表
-S –list-rules
-F –flush 清空
-Z –zero 清空包及字节的计数器
-N –new 创建新连接
-X –delete-chain 删除用户自定义规则 (不影响 INPUT OUTPUT FORWARD)
-P –policy 改变 chain 的策略为 target。
-E –rename-chain 将 old-chain 名称更改为 new-chain。这样做可以使所有引用 old-chain 的规则失效。
三、iptables 规则中各参数的含义
-P 代表协议(PROTOCOL)
~指明当前规则针对的传输协议(如:tcp udp icmp)
~可能的参数值有:tcp udp icmp all
~all 所有协议 不指定参数时默认为all
~-p参数可以用名称tcp 或 协议对应的数值
-S 代表源地址 (SOURCE)
~指定数据包的源地址
~可以是IP 或 网络地址 或 主机名 如:-s 192.168.1.101 特定的Ip
~对于网络掩码,使用/mask 如:-s 192.168.1.0/24 表示掩码为255.255.255.0 的所有192.168.1.x地址都匹配
~如果不指定 -s参数,默认匹配所有源地址
-D 代表目地地址(DESTINATION)
与 -S 方法相同
-J 代表跳转(TARGET)
~j 的意思是 “jump”(跳转) 到目标
~指定当某个数据包满足该规则的时候的就跳转到的下一个处理规则,而不再顺序执行后面的规则判断
~可能的值有:ACCEPT, DROP, QUEUE, RETURN,分别表示接受、丢弃、进入队列,返回(跳出,通常是从某个 chain 中跳回到调用该 chain 的上层 chain)
~也可以跳转到某个自定义的 chain 中,使用该 chain 的名称做为跳转目标
-I 代表 IN INTERFACE(入站接口)
~i 表示 “input interface”(输入接口,即,指定网络数据处理的网卡,一般 eth0 即表示第一块有线网卡的外网接口,lo 表示局域网接口)
~可以直接理解为 “-i” 表示接口。不过,-i 和 -o 都表示接口,-i 表示输入时的接口,而 -o 特指输出用的接口。
~指定数据包进入 INPUT、FORWARD 和 PREROUTING 链时经由的接口。
~例如:-i eth0 表示该规则应该针对从 eth0 接口进来的数据包。
~如果不指定 -i 参数,则经由系统中所有可用的接口进入的数据包都可以匹配该规则。
~也可以使用长参数 –in-interface
-O 代表 OUT INTERFACE(出站接口)
~o 表示 “output interface”(出站经由接口)
~指定发送出去的数据包进入 INPUT、FORWARD 和 PREROUTING 链时经由的接口。
~如果不指定 -o 参数,则经由系统中所有可用的接口发出的数据包都可以匹配该规则。
~也可以使用长参数 –out-interface
名词解释:
PREROUTINT 路由前
FORWARD 转发
POSTROUTING 路由后
NAT Network Address Translate
四表:
filter 表 :负责过虑
nat 表:负责网络地址转换
mangle表:拆解报文 做出修改并重新封闭
raw表:关闭nat表上启动的连接追踪机制
五链
PREROUTING : raw mangle nat
INPUT: mangle filter
FORWARD: mangle filter
OUTPUT: raw mangle nat filter
POSTROUTING: mangle nat
动作
ACCETP :允许数据包通过
DROP:直接丢弃数据包,不做任何回应信息,请求超时才会有反应
REJECT:拒绝数据过通过,必要时会给数据发送端一个响应信息,发送端刚请求就会收到拒绝信息
SNAT: 源地址转换,解决内网用户共用同一个公网IP
MASQUERADE:是SANT的一种特殊形式,适用于动态的临时会变IP
DANT: 目的IP转换
REDIRECT:在本机做端口映射
LOG:在/var/log/message 文件中,只记录,不做任何动作