表
在配置iptables的时候需要先选表再匹配链
所有的规则都记录在raw、mangle、nat、filter这四张表中
处理的优先级raw>mangle>nat>filter
| 表 | 功能 |
|---|---|
| mangle | 拆解报文做出修改,重新封装 |
| nat | 网络地址转换功能 |
| filter | 过滤功能,防火墙 |
| raw | 可在数据包连接跟踪前进行处理 |
选择表filter并查看规则
iptables -t filter -L
其它表同理,实际使用中默认查看的是filter表,因此查看filter表的规则也可以简写为
iptables -L
命令其它可选参数,-v更详细的规则信息,-n不解析地址
链
简单的说“链”就是对一些特定行为的数据包采用的规则集合
| 链 | 匹配的报文 | 能使用的表 |
|---|---|---|
| INPUT | 需要发到本机上层数据包 | mangle、nat*、filter |
| OUTPUT | 从本机上层发出的数据包 | raw、mangle、nat、filter |
| FORWARD | 非本机需要转发的数据包 | mangle、filter |
| PREROUTING | 进入网卡还未路由的数据包 | raw、mangle、nat |
| POSTROUTING | 即将出网卡的数据包 | mangle、nat |
某些系统规定nat表中的规则不能用于INPUT链
| 常用参数 | 参数 | 用途 |
|---|---|---|
| -L | 查看规则 | |
| -P | 设置默认策略 | |
| -I | 插入规则(默认在第一条) | |
| -A | 添加一条规则在链尾 | |
| -R | 替换某条规则 | |
| -D | 删除某条规则 | |
| -F | 删除所有规则 | |
| -Z | 计数器清零 | |
| -X | 删除自定义链 |
匹配
| 基本匹配规则 | 参数 | 内容 |
|---|---|---|
| -s | 匹配来源IP地址,“!”表示除外 | |
| -d | 匹配目标IP地址 | |
| -i | 匹配流入该网卡的数据包 | |
| -o | 匹配从该网卡流出的数据包 | |
| -p | 匹配协议,如tcp,udp,icmp |
动作
| 参数 | 动作 |
|---|---|
| ACCEPT | 接受 |
| REJECT | 拒绝 |
| DROP | 丢弃数据包 |
| RETURN | 数据包不继续执行该链后面的命令 |
| REDIRECT | 转发(仅用于nat表) |
