防火墙----iptables

防火墙是位于内部网和外部网之间的屏障,他按照系统管理员预先定义好的规则来控制数据包的进出

一、iptables简介

防火墙会从以上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。
iptables 服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类。
1、规则链
  • 规则的作用:对数据包进行过滤或处理
  • 链的作用:容纳各种防火墙规则
  • 链的分类依据:处理数据包的不同时机

5种规则链

  • INPUT:处理进入本机的数据包
  • OUTPUT:处理从本机出去的数据包
  • FORWARD:处理转发数据包
  • POSTROUTING链:在进行路由选择后处理数据包
  • PREROUTING链:在进行路由选择前处理数据包
2、规则表
  • 表的作用:容纳各种规则链
  • 表的划分依据:防火墙规则的作用相似

4个规则表

  • raw表:确定是否对该数据包进行状态跟踪
  • mangle表:为数据包设置标记(修改数据包的头部信,拆解报文,做出修改,并重新封装)
  • nat:用于网络地址转换,修改数据包中的源、目标IP地址或端口
  • filter表:确定是否放行该数据包(过滤),iptables的默认表

 

四表五链总结:最终定义防火墙规则,都会添加规则到其中一张表,所以实际操作是对表的操作 

 规则表的作用∶容纳各种规则链

规则链的作用∶容纳各种防火墙规则

表里有链,链里有规则

 

 3、规则链之间的匹配顺序:
  • 入站数据(来自外界的数据包,且目标地址是防火墙本机)∶ PREROUTING --> INPUT --> 本机的应用程序
  • 出站数据(从防火墙本机向外部地址发送的数据包)∶ 本机的应用程序 --> OUTPUT --> POSTROUTING网络型防火墙∶
  • 转发数据(需要经过防火墙转发的数据包)∶ PREROUTING --> FORWARD --> POSTROUTING
4、规则链内的匹配顺序
  • 自上向下按顺序依次进行检查,找到相匹配的规则即停 止 (LoG策略例外, 表示记录相关日志)
  • 若在该链内找不到相匹配的规则,则按该链的默认策略处理(未修改的状况下,默认策略为允许)

 

 

5.iptables的处理动作 
  • 当规则链匹配后应采用以下几种动作来处理匹配流量:
  • ACCEPT:允许流量通过
  • REJECT:拒绝流量通过,拒绝后回复拒绝信息
  • LOG:记录日志信息
  • DROP:拒绝流量通过,流量丢弃不响应

二、iptables的配置 

rhel默认使用firewalld防火墙,没有安装iptables, 若想使用iptables防火墙。必须先关闭firewalld防火墙,再安装iptables。

1.准备工作
[root@server ~]# systemctl disable firewalld.service 
[root@server ~]# systemctl mask firewalld.service 

[root@server ~]# yum install iptables  iptables-services -y
[root@client ~]# systemctl start iptables.service
2.iptables格式
iptables -t 表名 <-A/I/D/R> 规则链名 [ 规则号 ] <-i/o 网卡名 > -p 协议名 <-s IP/ 源子网 >
--sport 源端口 <-d 目标 IP/ 目标子网 > --dport 目标端口 -j 控制动作
-t    对指定的表进行操作, table 必须是 raw nat filter mangle 中的一个,默认是 filter
  -A  在规则链的末尾加入新规则
-I  在规则链的 头部 加入新规则
-D  删除指定规则
-R  替换/ 修改第几条规则
-F   清空所有规则(F:flush 冲洗、冲掉 的意思 )
-p   指定要匹配的数据包协议类型,例如TCP、UDP、ICMP等,参看: /etc/protocols
-s   匹配源地址IP/MASK ,若有!表示取反
-d   匹配目的地址IP/MASK  
3.控制动作: 
选项用法
ACCEPT允许数据包通过
DROP直接丢弃数据包,不给出任何回 应信息
REJECT拒绝数据包通过,必要时会给数据发送端一个响应信息
4. 示例:
查看已有的防火墙规则链:
[root@server ~] # iptables -nvxL --line
# -n 显示源 -v 详细信息 -x 自动转换为 KB\MB 等单位 -L 写在最后列出所有规则 --line 增加行
# num :规则的编号(行号)
# pkts :数据包的数量
# bytes :数据包的字节数
# target :动作(放行、拒绝)
# port :端口
# in :入站的网卡
# out :出站网卡
清空规则:
[root@server ~] # iptables -F # 清空规则
[root@server ~] # iptables -nL # 查看规则链
[root@server ~] # systemctl restart iptables
[root@server ~] # iptables -nL # 由于未保存,则恢复原状
[root@server ~] # iptables -F # 再次尝试清空规则链
[root@server ~] # service iptables save # 保存服务状态
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
[root@server ~] # systemctl restart iptables # 重启服务
[root@server ~] # iptables -nL # 查看

三、iptables实验 

1.搭建web服务器,设置任何人都能通过80端口访问http

2.禁止所有人使用ssh进行远程登录

3.禁止某主机(192.168.48.131 ssh远程登录,允许访问web服务

测试: 允许访问web页面: 

4.禁止192.168.48.131 网段的地址进行ping

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【CSS】absolute定位的默认位置

position: absolute; 属性会使元素脱离正常的文档流&#xff0c;并相对于最近的非 static 定位祖先元素进行定位。如果没有这样的祖先元素&#xff0c;则相对于初始包含块&#xff08;通常是视口&#xff09;进行定位。 但是当top和left没有指定具体值时&#xff0c;元素的在上…

(一)机器学习、深度学习基本概念简介

文章目录 机器学习、深度学习基本概念简介一、什么是机器学习&#xff08;一&#xff09;举例&#xff08;二&#xff09;不同类型的函数&#xff08;三&#xff09;机器是怎么找这个函数的&#xff08;1&#xff09;Function with Unknown Parameters&#xff08;2&#xff09…

CentOS8 启动错误,enter emergency mode ,开机直接进入紧急救援模式,报错 Failed to mount /home 解决方法

先看现场问题截图&#xff1a; 1.根据提示 按 ctrld 输入 root 密码&#xff0c;进入系统。 2. 在紧急模式下运行&#xff1a;journalctl -xe &#xff0c;查看相关日志&#xff0c;找到关键点&#xff1a; Failed to mount /home 3.接着执行修复命令&#xff1a; xfs_repa…

mysql 大数据查询

基于 mysql 8.0 基础介绍 com.mysql.cj.protocol.ResultsetRows该接口表示的是应用层如何访问 db 返回回来的结果集 它有三个实现类 ResultsetRowsStatic 默认实现。连接 db 的 url 没有增加额外的参数、单纯就是 ip port schema 。 @Test public void generalQuery() t…

智能零售柜商品识别

项目源码获取方式见文章末尾&#xff01; 600多个深度学习项目资料&#xff0c;快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【基于CNN-RNN的影像报告生成】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…

【ArcGIS微课1000例】0128:ArcGIS制作规划图卫星影像地图虚化效果

文章目录 一、效果展示二、加载数据三、效果制作四、注意事项一、效果展示 二、加载数据 订阅专栏后,从csdn私信查收完整的实验数据资料,从中选择并解压,加载0128.rar中的卫星影像及矢量范围数据,如下所示: 三、效果制作 1. 创建掩膜图层 新建一个矢量图层,因为主要是…

【Goland】——Gin 框架简介与安装

文章目录 1. Gin 框架概述1.1 什么是 Gin 框架&#xff1f;1.2 为什么选择 Gin&#xff1f;1.3 使用场景 2. 安装 Go 与 Gin 框架2.1 安装 Go 语言环境2.2 初始化 Go 项目2.3 安装 Gin 框架 3. 编写第一个 Gin 应用3.1 Gin 最小化示例代码代码解读3.2 运行程序3.3 测试服务 4. …

【新华妙笔-注册/登录安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

【SpringBoot】公共字段自动填充

问题引入 JavaEE开发的时候&#xff0c;新增字段&#xff0c;修改字段大都会涉及到创建时间(createTime)&#xff0c;更改时间(updateTime)&#xff0c;创建人(craeteUser)&#xff0c;更改人(updateUser)&#xff0c;如果每次都要自己去setter()&#xff0c;会比较麻烦&#…

对称加密与非对称加密:密码学的基石及 RSA 算法详解

对称加密与非对称加密&#xff1a;密码学的基石及 RSA 算法详解 在当今数字化的时代&#xff0c;信息安全至关重要。对称加密和非对称加密作为密码学中的两种基本加密技术&#xff0c;为我们的数据安全提供了强大的保障。本文将深入探讨对称加密和非对称加密的特点、应用场景&…

用go语言后端开发速查

文章目录 一、发送请求和接收请求示例1.1 发送请求1.2 接收请求 二、发送form-data格式的数据示例 用go语言发送请求和接收请求的快速参考 一、发送请求和接收请求示例 1.1 发送请求 package mainimport ("bytes""encoding/json""fmt""ne…

微服务day09

DSL查询 快速入门 GET /items/_search {"query": {"match_all": {}} } 叶子查询 GET /items/_search {"query": {"match_all": {}} }GET /items/_search {"query": {"multi_match": {"query": "脱…

鸿蒙NEXT应用示例:切换图片动画

【引言】 在鸿蒙NEXT应用开发中&#xff0c;实现图片切换动画是一项常见的需求。本文将介绍如何使用鸿蒙应用框架中的组件和动画功能&#xff0c;实现不同类型的图片切换动画效果。 【环境准备】 电脑系统&#xff1a;windows 10 开发工具&#xff1a;DevEco Studio NEXT B…

(02)ES6教程——Map、Set、Reflect、Proxy、字符串、数值、对象、数组、函数

目录 前言 一、Map Maps 和 Objects 的区别 Map的迭代 forEach() Map对象的操作 二、Set Set 中的特殊值 三、Reflect 四、Proxy 五、字符串 六、数值 七、对象 八、数组 九、函数 参考文献 前言 一、Map Map 对象保存键值对。任何值(对象或者原始值) 都可以…

【动手学电机驱动】 STM32-FOC(7)MCSDK Pilot 上位机控制与调试

STM32-FOC&#xff08;1&#xff09;STM32 电机控制的软件开发环境 STM32-FOC&#xff08;2&#xff09;STM32 导入和创建项目 STM32-FOC&#xff08;3&#xff09;STM32 三路互补 PWM 输出 STM32-FOC&#xff08;4&#xff09;IHM03 电机控制套件介绍 STM32-FOC&#xff08;5&…

Flume1.9.0自定义Sink组件将数据发送至Mysql

需求 1、将Flume采集到的日志数据也同步保存到MySQL中一份&#xff0c;但是Flume目前不支持直接向MySQL中写数据&#xff0c;所以需要用到自定义Sink&#xff0c;自定义一个MysqlSink。 2、日志数据默认在Linux本地的/data/log/user.log日志文件中&#xff0c;使用Flume采集到…

Transformer学习笔记(一)

Transformer学习笔记 基于 3B1B 可视化视频 自注意力机制 1.每个词的初始嵌入是一个高维向量&#xff0c;只编码该单词含义&#xff0c;与上下文没有关联 2.对初始向量进行位置编码&#xff0c;在高维向量中编码进位置信息&#xff08;单词在语言序列中的位置信息&#xff…

.netcore + postgis 保存地图围栏数据

一、数据库字段 字段类型选择(Type) 设置对象类型为&#xff1a;geometry 二、前端传递的Json格式转换 前端传递围栏的各个坐标点数据如下&#xff1a; {"AreaRange": [{"lat": 30.123456,"lng": 120.123456},{"lat": 30.123456…

【ArcGIS微课1000例】0127:计算城市之间的距离

本文讲述,在ArcGIS中,计算城市(以地级城市为例)之间的距离,效果如下图所示: 一、数据准备 加载配套实验数据包中的地级市和行政区划矢量数据(订阅专栏后,从私信查收数据),如下图所示: 二、计算距离 1. 计算邻近表 ArcGIS提供了计算点和另外点之间距离的工具:分析…

【数据库系列】 Spring Boot 集成 Neo4j 的详细介绍

Spring Boot 提供了对 Neo4j 的良好支持&#xff0c;使得开发者可以更方便地使用图数据库。通过使用 Spring Data Neo4j&#xff0c;开发者可以轻松地进行数据访问、操作以及管理。本文将详细介绍如何在 Spring Boot 应用中集成 Neo4j&#xff0c;包括基本配置、实体定义、数据…