常用iptables命令整理

常用术语

五个钩子函数(hook functions),也叫五个规则链。
1.PREROUTING (路由前)
2.INPUT (数据包流入口)
3.FORWARD (转发管卡)
4.OUTPUT(数据包出口)
5.POSTROUTING(路由后)

这是NetFilter规定的五个规则链,任何一个数据包,只要经过本机,必将经过这五个链中的其中一个链。

1、查看命令

iptables [-t tables] [-L] [-nv]

选项与参数:
-t :后面接 table ,例如 nat 或 filter ,若省略此项目,则使用默认的 filter
-L :列出目前的 table 的规则
-n :不进行 IP 与 HOSTNAME 的反查,显示讯息的速度会快很多!
-v :列出更多的信息,包括通过该规则的封包总位数、相关的网络接口等

默认列出 filter table 三条链的规则。

2、查看防火墙命令

iptables-save [-t table]

选项与参数:
-t :可以仅针对某些表格来输出,例如仅针对 nat 或 filter 等等

3、清除所有规则

iptables [-t tables] [-FXZ]

选项与参数:
-F :清除所有的已订定的规则
-X :杀掉所有使用者 "自定义" 的 chain (应该说的是 tables)
-Z :将所有的 chain 的计数与流量统计都归零

案例:
cloudtop@toplion:~$ sudo iptables -F
cloudtop@toplion:~$ sudo iptables -X
cloudtop@toplion:~$ sudo iptables -Z
使用注意:

这三个指令会将本机防火墙的所有规则都清除,但却不会改变预设政策 (policy) ,如果你不是在本机下达这三行指令,可能会被墙到服务器外面(若 INPUT 设定为 DROP 时)。

4、预设政策 (policy)设置

iptables [-t nat] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]

选项与参数:
-P :定义政策( Policy )
INPUT:数据包流入口
OUTPUT:输出
FORWARD:转发链
ACCEPT :该封包可接受
DROP :该封包直接丢弃,不会让 client 端知道为何被丢弃。

案例
cloudtop@toplion:~$ sudo iptables -P INPUT ACCEPT
cloudtop@toplion:~$ sudo iptables -P OUTPUT ACCEPT
cloudtop@toplion:~$ sudo iptables -P FORWARD ACCEPT

你可能感兴趣的:(常用iptables命令整理)