1、查看
iptables -L
Chain
:所属的链(policy ACCEPT)
:该链的缺省规则target
:对应的处理动作prot
:对应的协议opt
:规则对应的选项source
:对应的源 IP 地址或网段destination
:对应的目的 IP 地址或网段
2、增加
2.1 处理动作
- ACCEPT:允许数据包通过。
- DROP:直接丢弃数据包。不回应任何信息,客户端只有当该链接超时后才会有反应。
- REJECT:拒绝数据包。会给客户端发送一个响应的信息 。
- SNAT:源 NAT,解决私网用户用同一个公网 IP 上网的问题。
- MASQUERADE:是 SNAT 的一种特殊形式,适用于动态的、临时会变的 IP 上。
- DNAT:目的 NAT,解决私网服务端,接收公网请求的问题。
- REDIRECT:在本机做端口映射。
- LOG:在 /etc/log/messages 中留下记录,但并不对数据包进行任何操作。
2.2 Options
- -I <CHAIN>:insert,插入,排序在指定链的规则的首位
- -I <CHAIN> #:插入到指定链的第 # 号规则的位置
- -A <CHAIN>:append,追加,排序在指定链的规则的末尾
- -s <S_IP>:指定源 IP
- -j <ACTION>:指定执行的动作,具体动作类型见 3.4.2
例子:
1)iptables -t filter -I INPUT -s 1.1.1.1 -j DROP (插入拒绝1.1.1.1访问的规则到首位)
2)iptables -I INPUT 3 -s 3.3.3.3 -j ACCEPT (插入允许3.3.3.3访问的规则到第三的位置)
3)iptables -A INPUT -s 255.255.255.255 -j ACCEPT (插入允许255.255.255.255访问的规则到末位)
3、删除
Options
-D <CHAIN> <DETAILS>
:根据规则的具体匹配条件与动作进行删除-D <CHAIN> #
:根据规则的编号进行删除-F <CHAIN>
:清空指定链上的所有规则-t <TABLE> -F
:清空某种表在所有链上的规则
例子:
1)iptables -D INPUT -s 1.1.1.1 -j DROP (删除input链的1.1.1.1拒绝访问规则)
2)iptables -D INPUT 5 (删除input链的地5条规则)
iptables -F <CHAIN> # 清空链下的所有规则
iptables -t <TABLE> -F # 清空某个表中、所有链上的规则
4、修改
Options
-R <CHAIN> #:修改指定链中指定序号的规则
iptables -R INPUT 3 -j REJECT (修改input链第三条的处理操作)
可能刚设置完ssh就断了