# iptables 基础知识
[TOC]
******
>[info] #### 常用
~~~
iptables -nL 查看
~~~
>[info] #### 参数选项
~~~
-A 在指定链的末尾添加(append)一条新的规则
-D 删除(delete)指定链中的某一条规则,可以按规则序号和内容删除
-I 在指定链中插入(insert)一条新的规则,默认在第一行添加
-R 修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L 列出(list)指定链中所有的规则进行查看
-E 重命名用户定义的链,不改变链本身
-F 清空(flush)
-N 新建(new-chain)一条用户自己定义的规则链
-X 删除指定表中用户自定义的规则链(delete-chain)
-P 设置指定链的默认策略(policy)
-Z 将所有表的所有链的字节和数据包计数器清零
-n 使用数字形式(numeric)显示输出结果
-v 查看规则表详细信息(verbose)的信息
-V 查看版本(version)
-h 获取帮助(help)
~~~
>[info] #### 处理数据包的四处方式
~~~
ACCEPT 允许数据包通过
DROP 直接丢弃数据包,不给任何回应信息
REJECT 拒绝数据包通过,必要时会给数据发送端一个响应的信息。
LOG在/var/log/messages文件中记录日志信息,然后将数据包传递给下一条规则
~~~
>[info] #### 规则链
1. INPUT——进来的数据包应用此规则链中的策略
2. OUTPUT——外出的数据包应用此规则链中的策略
3. FORWARD——转发数据包时应用此规则链中的策略
4. PREROUTING——对数据包作路由选择前应用此链中的规则
(记住!所有的数据包进来的时侯都先由这个链处理)
5. POSTROUTING——对数据包作路由选择后应用此链中的规则
(所有的数据包出来的时侯都先由这个链处理)
>[info] #### 保存
~~~
iptables-save > /etc/sysconfig/iptables
或
service iptables save
~~~
>[info] #### 删除一条规则
~~~
#iptables -nL --line-number
#iptables -D INPUT 1
~~~
>[info] #### 插入一条新规则
~~~
iptables -I INPUT -p icmp -j ACCEPT
iptables -I INPUT 3 -p tcp --dport 8080 -j ACCEPT # 插入指定位置,可以使用iptables -nL --line-number查看位置
~~~
>[info] #### 追加一个新规则
~~~
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
~~~
>[info] #### 清理规则
~~~
iptables -L 列出iptables规则
iptables -F 清除iptables内置规则
iptables -X 清除iptables自定义规则
~~~