Linux实验记录:使用iptables

前言:

本文是一篇关于Linux系统初学者的实验记录。

参考书籍:《Linux就该这么学》

实验环境:

VmwareWorkStation 17——虚拟机软件

RedHatEnterpriseLinux[RHEL]8——红帽操作系统

备注:

防火墙作为公网与内网的屏障,在保障数据安全性方面起着至关重要的作用。

防火墙有软件和硬件之分,但主要功能都是依据策略对穿越防火墙自身的流量进行过滤

iptables和firewalld都不是真正的防火墙,它们都只是用来定义防火墙策略的工具,是一种服务。

这种服务会把配置好的防火墙策略交由Linux系统的内核层面处理。

目录

前言:

备注:

策略与规则链:

基本的命令参数:

正文:

iptables:

实验1:

实验2:

实验3:

实验4:

实验5:

实验6:

实验7:

实验8:

实验9:

最后,如果想让配置的防火墙策略永久生效,执行保存命令:


策略与规则链:

  防火墙会按照从上到下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作去执行匹配项中定义的行为(放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。

iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据包处理位置的不同进行分类:

1.在进行路由选择前处理数据包(PREROUTING)

2.处理流入的数据包(INPUT)

3.处理流出的数据包(OUTPUT)

4.处理转发的数据包(FORWARD)

5.在进行路由选择后处理数据包(POSTROUTING)

 上面是所谓“四表五链”中的五条规则链。

一般来说,从内网向外网发送的流量一般都是可控且良性的,因此使用最多的就是INPUT规则链,该规则链可以增大黑客人员从外网入侵内网的难度。

ACCEPT(允许流量通过)

REJECT(拒绝流量通过)

LOG(记录日志信息)

DROP(拒绝流量通过,不回复)

基本的命令参数:

参数作用
-P设置默认策略
-F清空规则链
-L查看规则链
-A在规则链末尾加入新规则
-I num在规则链头部加入新规则
-D num删除某一条规则
-s匹配来源地址IP/MASK,加叹号“!”,表示这个IP除外
-d匹配目标地址
-i网卡名称匹配从这块网卡流入的数据
-o网卡名称匹配从这块网卡流出的数据
-p匹配协议,如TCP、UDP、ICMP
--dport num匹配目标端口号
--sport num匹配来源端口号

正文:

iptables:

实验1:

在iptables命令后面加-L参数查看已有的防火墙规则链

实验2:

在iptables命令后面加-F参数清空已有的防火墙规则链

实验3:

把INPUT规则链的默认策略设置为拒绝

把INPUT链设置为默认拒绝后,所有流入的数据包都会被默认拒绝。

需要往里面写入允许策略。

如图:使用ping命令ping自己

规则链的默认拒绝动作只能是DROP,而不能是REJECT。 

实验4:

向INPUT链中添加允许ICMP流量进入的策略规则

此时ping自己就可以ping通,用隔壁CentOS8虚拟机也能ping通。

实验5:

删除INPUT规则链中刚刚加入的那条策略:

 这时RHEL8和CentOS8都ping 不通192.168.0.128(RHEL8的IP地址)

 现在把默认策略设置为允许:

再次ping测试:连通

实验6:

将INPUT规则链设置为只允许指定网段的主机访问本机的22端口,

拒绝来自其他所有主机的流量。

使用CentOS 8对RHEL进行ssh连接:

现在对防火墙进行设置:

connection refused 

实验7:

向INPUT规则链中添加拒绝所有人访问本机的12345端口的策略规则:

实验8:

向INPUT规则链中添加拒绝192.168.10.5主机访问本机80端口的策略规则。

实验9:

向INPUT规则链中添加拒绝所有主机访问本机100~1024端口的策略规则。

最后,如果想让配置的防火墙策略永久生效,执行保存命令:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/441122.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DC-Windows备份(23国赛真题)

2023全国职业院校技能大赛网络系统管理赛项–模块B:服务部署(WindowServer2022) 文章目录 题目配置步骤在DC1上备份系统状态到D:\共享文件夹所有用户具有读/写权限验证查看DC1备份成功的截图在InsideCli上查看备份文件(查看文件夹安全属性)题目 在DC1上备份系统状态到D:\,…

【Vue】1-1、webpack的基本使用

一、什么是 Webpack 概念: webpack 是前端项目工程化的具体解决方案。 主要功能: 它提供了友好的前端模块化开发支持,以及代码压缩混淆、处理浏览器端 JavaScript 的兼容性、性能化等强大的功能。 好处: 让程序员把工作重心放到具…

【lesson1】高并发内存池项目介绍

文章目录 这个项目做的是什么?这个项目的要求的知识储备和难度?什么是内存池池化技术内存池内存池主要解决的问题malloc 这个项目做的是什么? 当前项目是实现一个高并发的内存池,他的原型是google的一个开源项目tcmalloc&#xf…

【开发效率|第1篇】多项目自动切换node版本

🚀 作者简介:程序员小豪,全栈工程师,热爱编程,曾就职于蔚来、腾讯,现就职于某互联网大厂,技术栈:Vue、React、Python、Java 🎈 本文收录于小豪的前端系列专栏&#xff0c…

DML的原理:一篇文章让你豁然开朗

推荐阅读 给软件行业带来了春天——揭秘Spring究竟是何方神圣(一) 给软件行业带来了春天——揭秘Spring究竟是何方神圣(二) 文章目录 推荐阅读DML 数据操纵语言INSERT语句UPDATE语句DELETE语句SELECT语句 DML 数据操纵语言 DML是…

网络协议与攻击模拟_11DHCP欺骗防护

开启DHCP 监听 ip dhcp snooping 指定监听vlan ip dhcp snooping vlan 1 由于开启监听后,交换机上的接口就全部变成非信任端口, 非信任端口会拒绝DHCP报文,会造成正常的DHCP请求和响应都无法完成。 现在是请求不到IP地址的,…

C语言——文件操作(看这一篇就够了)

1、为什么使用文件? 我们前面学习结构体,在写通讯录的时候会发现一个问题,我们向通讯录里面录入数据,当程序退出的时候,记录的数据也随之没有了,等下次我们在再调用通讯录时,又得重新录入数据&…

安徽省考报名流程及注意事项,看完就稳了!

2024安徽省考报名入口已开通, 报名易出错的问题图解√ 省考报名时间:1月29日9:00至2月4日20:00 选调生报名时间:1月29日9:00至2月4日17:30 省考资格初审时间:2月6日16:00前 选调生资格初审时间:2月6日12:00前 省考缴费时间:2月8日20:00前 选调生缴费时间:2月8日17:0…

vit细粒度图像分类(六)TransFC学习笔记

1.摘要 从判别局部区域学习特征表示在细粒度视觉分类中起着关键作用。利用注意机制提取零件特征已成为一种趋势。然而,这些方法有两个主要的局限性:第一,它们往往只关注最突出的部分,而忽略了其他不明显但可区分的部分。其次,他们…

矩阵键盘的使用

在定义局部变量时,一定要给该变量赋初值。在这个程序中,给按键按下的返回值变量 KeyNum 赋值为 20 。 矩阵键盘线行扫描法的学习链接:https://www.bilibili.com/video/BV1dv411z7Gd/?spm_id_from333.999.0.0&vd_sourceb91967c499b23106…

使用Docker安装Jenkins,并能够在该Jenkins中使用Docker

1. 构建Dockerfile 试错1 参考https://medium.com/manav503/how-to-build-docker-images-inside-a-jenkins-container-d59944102f30 按照文章里所介绍的,实现在Jenkins容器环境中依然能够调用Docker,需要做到以下几步 下载Jenkins镜像将环境中的docke…

架构整洁之道-价值维度与编程范式

1 设计与架构究竟是什么 结论:二者没有任何区别,一丁点区别都没有。 架构图里实际上包含了所有底层设计细节,这些细节信息共同支撑了顶层的架构设计,底层设计信息和顶层架构设计共同组成了整个架构文档。底层设计细节和高层架构信…