iptables快速使用指南
一、概念
1.1 五表五链
五表
filter表:过滤规则表,默认表。
nat表:地址转换规则表。
mangle表:修改数据标记位规则表。
raw表:关闭启用的链接跟踪机制,加快封包穿越防火墙速度。
security表:用于强控制访问(MAC)网络规则,由Linux安全模块如Selinux实现。
优先级
security > raw > mangle > nat > filter
五链
INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING
1.2 netfilter配置工具
iptables (CentOS 6及以前)
firewaldd (CentOS 7)
nft (CentOS 8)
二、快速使用
2.1 默认策略——拒绝
除了明确允许的,都拒绝。
iptables -P INPUT DROP
#-P 设置默认策略
#将INPUT(传入)默认设置为DROP(丢弃)2.2 配置放行
放行端口
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
#由上到下匹配,一旦匹配到则不会进行后面的匹配。(因此越靠前优先级越高。)
#-I 在表最前面增加条目(优先级最高,最先匹配)
#-I 3 作为第3条插入链中
#-A 在表最后面增加条目
#-p 匹配协议(TCP/UDP/ICMP等)
#--dport 匹配端口
#-j 指定处理方式(1.ACCEPT允许 2.REJECT拒绝 3.DROP丢弃 4.LOG记录) 放行主机
iptables -I INPUT -s 192.168.3.10/24 -p tcp --dport 22:30 -j ACCEPT
#-s 匹配ip地址与子网掩码
#--dport 22:30 指定端口范围,从22到302.3 删除条目
查看所有条目
iptables -L
#-L 列出规则
#查看所有规则
iptables -vnL --line-numbers
#-v 显示细节
#-n 显示IP
#-L 列出规则
#--line-numbers 显示规则行号
#查看所有规则
iptables -L INPUT
#仅查看INPUT链规则删除条目
iptables -D INPUT 1
#删除INPUT链中的第一条规则
#-D 删除
#INPUT 1 INPUT链中的第一条。
iptables -F
#删除所有规则2.4 保存规则
没有保存的规则,在重启后会失效。
service iptables save
#保存规则
iptables-save > /etc/sysconfig/iptables
#将防火墙规则保存在文件中2.5 查询表支持的链
iptables -t filter -vnL
#查询filter表支持的链2.6 关闭iptables
chconfig iptables off
#关闭iptables三、详细参数
| 参数 | 作用 |
|---|---|
| -P | 设置默认策略 |
| -F | 清空规则链 |
| -L | 查看规则链 |
| -A | 在规则链的末尾加入新规则 |
| -I num | 在规则链的头部加入新规则 |
| -D num | 删除某一条规则 |
| -s | 匹配来源地址IP/MASK,加叹号“!”表示除这个IP外 |
| -d | 匹配目标地址 |
| -i | 网卡名称匹配从这块网卡流入的数据 |
| -o | 网卡名称匹配从这块网卡流出的数据 |
| -p | 匹配协议,如TCP、UDP、ICMP |
| --dport num | 匹配目标端口号 |
| --sport num | 匹配来源端口号 |