
| filter | 过滤(数据过滤,默认) | INPUT/OUTPUT/FORWARD |
| nat | 转换(地址转换) | PREROUTING/POSTROUTING/OUTPUT |
| mangle | 校正(数据包打标记) | INPUT/OUTPUT/FORWARD/PREROUTING/POSTROUTING |
| raw |
|
INPUT | 接受,发送方不一定是你,但接收方一定是你 |
| OUTPUT | 发送,接受方不一定是你,但发送方一定是你 |
| FORWARD | 转发,接受方和发送方都不是你 |
| PREROUTING | 路有前,指定在决定去向前处理 |
| POSTROUTING | 路由后,指定在决定去向后处理 |


| 不考虑链 | mangle>nat>filter |
| 不考虑表 | PREROUTING>INPUT>(FORWARD)>OUTPUT>POSTROUTING |
centos7 iptables 替换firewalld
#systemctl stop firewalld
#systemctl disable firewalld
#yum -y install iptables*
#systemctl start iptables
#systemctl enable iptables
| iptables | -t filter | -A INPUT | -p tcp --dport 23 | -j REJECT |
| 命令 | 4表 | 5链 | 数据描述 | 处理方式 |
| -L |
查看规则(内建链,自带表(原本自带的)) #iptables -L INPUT 查看链 #iptables -L 查看表 #iptablse -L -v 查看详细,查看数据流量 #iptables -L -vx 查看精确流量 #iptables -L -n 查看数字 #iptables -L --lin(--line-numbers) 查看规则序号 |
| -A |
在所选的链末尾添加规则 #iptables -A INPUT -p tcp --dport 22 -j ACCEPT #iptables -A INPUT -p tcp --dport 22:80 -j ACCEPT |
| -I |
插入(不指定编号默认第1条) #iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT |
| -R |
替换 #iptables -R INPUT 7 -p tcp --dport 80 -j ACCEPT |
| -D |
删除 #iptables -D INPUT -p tcp --dport 80 -j ACCEPT #iptables -D INPUT 7 |
| -N |
新建链 #iptables -N pikachu #iptables -N PIKACHU #iptables -A INPUT -p tcp --dport 60000 -j pikachu #iptables -A INPUT -p tcp --dport 60001 -j PIKACHU |
| -E |
改链的名 #iptables -E pikachu pokemon |
| -X |
删除链(0 references才能删除) #iptables -X pokemon |
| -F |
清空 #iptables -F INPUT 清空链 #iptables -F 清空表 |
| -P |
修改默认规则 #iptables -P INPUT ACCEPT #iptables -P INPUT DROP |
| -Z |
清空计数器 #iptables -Z INPUT |
|
|

| -p |
匹配协议 tcp、udp、icmp、all #iptables -A INPUT ! -p tcp |
| -s |
匹配来源地址 #iptables -A INPUT -s 192.168.146.201 |
| -d | 匹配目的地址 |
| -i |
匹配包进入的接口 #iptables -A INPUT -i ens33 |
| -o |
匹配包送出的接口 #iptables -A OUTPUT -o ens33 |
端口扫描
#nmap 192.168.146.201
#namp 192.168.146.201 -Pn
| sport | 匹配来源端口 |
| dport | 匹配目的端口 |
| tcp-flags |
匹配tcp的封包标记 SYN/ACK/FIN/RST/URG/PSH #iptables -A INPUT -p tcp --tcp-flags syn,ack,fin syn -j ACCEPT #iptables -A INPUT -p tcp --syn -j ACCEPT |
| syn | 第二次不需要认证 |
| sport | 匹配来源端口 |
| dport |
匹配目的端口 |
| multiport | 不连续多端口匹配 |
--source-port --destination-port --port #iptables -A INPUT -p tcp -m multiport --port 22,25 -j ACCEPT |
| owner | 匹配所有 |
--uid-owner --gid-owner --pid-owner |
| state | 匹配包的状态 | --state |
| ESTABLISHED | 已连接的数据包 |
| NEW | 新数据包 |
| RELATED |
相关联数据包 |
| INVALID | 错误的数据包 |
| ACCEPT | 允许 | |
| REJECT | 拒绝且返回错误信息 | |
| DROP | 丢弃不返回错误信息 |
|
| LOG | 记录到/var/log/messages | |
| DNAT | 目标地质转换 | --to-destination |
| MASQUERADE | 伪装 | --to-ports |
| SNAT | 来源地址转换 | --to-source |
| REDIRECT | 重定向 | --to-ports |
| RETURN | 返回 | 返回上级 |
永久保存
#iptables-save > /etc/sysconfig/iptables
常用iptables规则
#iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -p tcp --syn -m state --state NEW --dport 80 -j ACCEPT
#iptables -A INPUT -p tcp --syn -m state --state NEW --dport 25 -j ACCEPT
#iptables -A INPUT -p tcp --syn -m state --state NEW --dport 110 -j ACCEPT
#iptables -A INPUT -p tcp --syn -m state --state NEW --dport 22 -j ACCEPT
#iptables -A INPUT -p tcp --syn -m state --state NEW --dport 23 -j ACCEPT
4413

被折叠的 条评论
为什么被折叠?



