iptables 防火墙
Posted 贪吃小松鼠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables 防火墙相关的知识,希望对你有一定的参考价值。
防火墙netfilter/iptables
一、Linux防火墙基础
1.1 ptables的表、链结构
1.1.1 Linux包过滤防火墙概述
1.2 数据包控制的匹配流程
数据包到达防火墙时,规则表之间的优先顺序:
raw > mangle > nat > filter
1.2.1 四表
1.2.2 五链
1.2.3 四表五链总结
1.2.4 规则链之间的匹配顺序
1.2.5 规则链内的匹配顺序∶
二、编写防火墙规则
准备工作:
2.1 基本语法、控制类型
2.1.1 iptables防火墙的配置方法∶
- 使用iptables 命令行。
- 使用system-config-firewall
2.1.2 iptables 命令行配置方法∶
命令格式
iptables [-t 表名 ] 管理选项 [ 链名 ] [ 匹配条件 ] [-j 控制类型 ]
2.1.3 常用的控制类型∶
2.1.4 常用的管理选项∶
2.2 添加、查看、删除规则
2.2.1 添加新的规则∶
2.2.2 查看规则列表∶
2.2.3 设置默认策略∶
2.2.4 删除规则∶
2.2.5 清空规则∶
2.3 规则的匹配条件
2.3.1 通用匹配
2.3.2 隐含匹配
要求以特定的协议匹配作为前提,包括端口、TCP标记、ICMP类型等条件。
端口匹配∶ --sport 源端口、–dport 目的端口
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables-I FORWARD -d 192.168.80.0/24 -p tcp --dport 24500:24600 -j DROP
2.3.4 TCP标记匹配∶ --tcp-flags TCP标记
2.3.5 ICMP类型匹配∶–icmp-type ICMP类型
2.3.6 显式匹配
2.3.7 IP范围匹配∶ -m iprange --src-range IP范围
iptables -A FORWARD -p udp -m iprange--src-range 192.168.80.100-192.168.80.200-j DROP
#禁止转发源地址位于192.168.80.100-192.168.80.200的udp数据包
2.3.6=8 MAC地址匹配∶-m mac --mac-source MAC地址
iptables -A FORWARD -m mac --mac-source xx:xx:xx:xx:xX:xx-j DROP
#禁止来自某MAC 地址的数据包通过本机转发
2.3.8 状态匹配∶-m state_–state 连接状态
iptables -A FORWARD -m state --state NEW -p tcp !--syn -j DROP
- 1
#禁止转发与正常 TCP 连接无关的非–syn 请求数据包(如伪造的网络攻击数据包)
iptables -I INPUT -p tcp -m multiport --dport 80, 22,21,20,53 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -m state --state ESTABLISHED, RELATED -j ACCEPT
以上是关于iptables 防火墙的主要内容,如果未能解决你的问题,请参考以下文章