一、概念

1.1 五表五链
五表
filter表:过滤规则表,默认表。
nat表:地址转换规则表。
mangle表:修改数据标记位规则表。
raw表:关闭启用的链接跟踪机制,加快封包穿越防火墙速度。
security表:用于强控制访问(MAC)网络规则,由Linux安全模块如Selinux实现。

优先级
security > raw > mangle > nat > filter

五链
INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING
iptables-netfilter.png

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到30

2.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匹配来源端口号

标签: iptables, Firewall

添加新评论