没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
写在前面
大家好,我是 JackTian。
95后,北漂多年,混过外企、银行单位,现某科技创新百强单位,运维工程师,公众号博主,CSDN 博
客专家,掘金优秀作者;
曾获 CSDN 首届 "GEEK+" 技术人原创博主一等奖荣誉、CSDN 2020 年度优秀创作者荣誉、腾讯云+社区
2020 年度优秀作者荣誉、infoQ 写作平台 2021 年度 TOP 5 人气作者、掘金平台连续多月入选后端作者
榜单;
运营公众号:杰哥的IT之旅,互联网 IT 领域个人原创公众号,目前已经有近 3.3 万+ 粉丝关注了他,持
续分享 IT 相关内容干货,欢迎您的关注!
从创办起至今累积输出原创文章 200+ 篇,原创文章被转载次数超 300+ 余次,曾被互联网 IT 领域的多
个头部公众号所转载,刷新多次阅读量破万新纪录;
线上带领过朋友做自媒体,一年时间积累粉丝超 2 万+,变现收益超 20 万+。
这是我的联系方式:
微信号:Hc220066 或 Hc220088
(扫描下方二维码,添加时请备注来源,待通过后并希望您能做一个简单的自我介绍,谢谢!)
邮箱:1142433581@qq.com
写在前面
一、Linux 防火墙 - iptables
二、iptables 的表、链结构
2.1 规则表
2.2 规则链
三、数据包过滤的匹配流程
3.1 规则表之间的顺序
3.2 规则链之间的顺序
3.3 规则链内部各条防火墙规则之间的顺序
3.4 链内的过滤原则
四、编写防火墙规则
4.1 iptables 的基本语法命令格式
4.2 iptables 防火墙最常用的控制类型
4.3 iptables 防火墙的最常用基本操作
4.4 添加新的规则
4.5 查看规则列表
4.6 删除、清空规则
4.7 设置默认策略
五、规则的匹配条件
5.1 协议匹配
5.1.1 地址匹配
5.1.2 网络接口匹配
5.1.3 端口匹配
5.1.4 ICMP 匹配
5.2 显示匹配
5.2.1 多端口匹配
5.2.2 IP 范围匹配
5.2.3 MAC 地址匹配
5.2.4 状态匹配
六、SNAT 策略
6.1 只开启路由转发,未设置地址转换的情况
6.2 开启路由转发,并设置 SNAT 转换的情况
七、SNAT 策略应用
7.1 共享固定 IP 地址上网
7.2 共享动态 IP 地址上网
八、DNAT 策略
九、DNAT 策略应用
9.1 发布企业内部的 web 服务器
9.2 发布企业内部的 OpenSSH 服务器
十、防火墙规则的备份及还原
10.1 iptables-save 命令
10.2 iptables-restore 命令
十一、使用 iptables 服务
11.1 自动启用防火墙规则
11.2 清空所有防火墙规则
十二、防火墙脚本的组成
12.1 定义基本变量
12.2 加载内核模块
12.3 调整 /proc 参数
12.4 设置具体的 iptables 规则
12.4.1 清理已有的规则
12.4.2 设置规则链的默认策略
12.4.3 设置 nat 表中的各种规则
12.4.4 设置 filter 表中的各种规则
写在最后
杰哥的赞赏码
微信赞赏码
支付宝赞赏码
一、Linux 防火墙 - iptables
Linux防火墙 主要工作在网络层,针对 TCP/IP 数据包实施过滤和限制,典型的包过滤防火墙,基于内
核编码实现,具有非常稳定的性能和高效率。
iptables :用来管理 Linux 防火墙的命令程序,位于 /sbin/iptables 目录下,属于 用户空间 的
防火墙管理体系。
netfilter:Linux 内核中实现包过滤防火墙的内部结构,一般 不以程序 或 文件 的形式存在,属
于 内核空间 的防火墙管理体系。
iptables 的作用 :为包过滤机制的实现提供规则,通过各种不同的规则,来告诉 netfilter 对来自某
些源以及前往某些目的或具有某些协议特征的数据包是如何进行处理的。
二、iptables 的表、链结构
每个 规则表 ,其实就相当于一个内核空间的容器,按照 规则集 的不同用途进行划分为默认的四个表,在
每个 规则表 中包含不同的 规则链 ,处理数据包的不同时机分为 五种链 ,决定是否过滤或处理数据包的各
种规则并按照先后顺序存放在 各规则链 中。
规则的作用:对数据包进行过滤或处理;
链的作用:容纳多种防火墙规则;
2.1 规则表
iptables 管理着四个不同的规则表,分别由独立的内核模块实现。
filter 表 :用来对数据包进行过滤,具体的规则要求决定如何处理一个数据包。
对应的内核模块为: iptable_filter ,其表内包括三个链: input 、 forward 、 output ;
nat 表 :nat 全称:network address translation 网络地址转换, 主要用来修改数据包的 IP 地
址、端口号信息 。
对应的内核模块为: iptable_nat ,其表内包括三个链: prerouting 、 postrouting 、
output ;
mangle 表 :主要用来修改数据包的 服务类型 , 生存周期 ,为数据包设置标记,实现流量整形、策
略路由等。
对应的内核模块为: iptable_mangle ,其表内包括五个链: prerouting 、 postrouting 、
input 、 output 、 forward ;
raw 表 :主要用来决定是否对数据包进行状态跟踪。
对应的内核模块为: iptable_raw ,其表内包括两个链: output 、 prerouting ;
2.2 规则链
input 链 :当收到访问防火墙本机地址的数据包时,将应用此链中的规则;
output 链 :当防火墙本机向外发送数据包时,将应用此链中的规则;
forward 链 :当收到需要通过防火中转发给其他地址的数据包时,将应用此链中的规则;
prerouting 链 :在对数据包做路由选择之前,将应用此链中的规则;
postrouting 链 :在对数据包做路由选择之后,将应用此链中的规则;
input 链 和 output 链主要用在主机型防火墙,是针对服务器本机进行保护的防火墙;
forward 链、prerouting 链、postrouting 链主要用在网络型防火墙,是针对公司内网与 Internet
之间进行安全控制。
三、数据包过滤的匹配流程
3.1 规则表之间的顺序
当数据包到达防火墙时,如果对应的链内有规则存在,将按照顺序依次从 raw 表 → mangle 表 → nat
表 → filter 表 。
3.2 规则链之间的顺序
入数据流向 :如果是外边的数据包到达防火墙后,要先通过 prerouting 链 :对数据包做路由选择
之后,将应用此链中的规则,然后将进行路由选择,确认数据包的目标地址是否是防火墙本机,结
合内核传送给 input 链做处理,确认通过之后,便可以交给服务器端来进行响应。
转发数据流向 :如果是外边的数据包到达防火墙后,要先通过 prerouting 链 做相关处理,随后进
行路由选择,数据包的目标地址是任何其他地址的话,则将通过内核传给 forward 来进行处理是否
需要通过或直接丢弃,最后将交给 postrouting 链 来查看是否有需要修改的数据包信息来进行处
理。
出数据流向 :出流量,其实就是防火墙本机向外的地址发送数据包,首先被 output 链 处理,然后
选择路由,然后在 postrouting 链 查看是否修改数据包的信息来进行处理。
3.3 规则链内部各条防火墙规则之间的顺序
数据包经过每条规则链时,将按照第一条规则、第二条规则……的顺序进行匹配和处理。
3.4 链内的过滤原则
将按照从 匹配到停止 的方式,如找到一条匹配的规则,将不再执行本链中后续的其他规则;
如果对比整个链也找不到与数据包相匹配的规则时,将按照该规则链的默认策略进行处理;
四、编写防火墙规则
4.1 iptables 的基本语法命令格式
表名 、 链名 :指定 iptables 命令所操作的 表 和 链 ,未指定表名时将默认使用 filter 表;
管理选项 :表示 iptables 规则的操作方式,比如: 插入 、 增加 、 删除 、 查看 等;
iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 控制类型]
剩余25页未读,继续阅读
资源评论
流浪的心
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功