iptables 防火墙配置

2023-11-13

iptables 防火墙配置

防火墙就是堵和通的作用。

iptables :包过滤防火墙,是内核防火墙netfilter的管理工具。它可以让系统管理员根据自己的需求定义网络流量的过滤规则,以保护服务器和网络免受潜在的安全威胁。

防火墙是一种位于网络与主机之间的安全屏障,它可以监控和控制进出网络的数据流量。通过 iptables,管理员可以创建一系列规则来控制数据包的流动。每个规则由匹配条件(如源 IP 地址、目标 IP 地址、端口等)和操作指令组成。当数据包经过 Linux 内核时,iptables 会按照预先定义的规则集进行匹配和处理。根据规则的定义,iptables 可以允许、拒绝、丢弃或重定向数据包,以实现对流量的精确控制。

规则链的分类–五链

在进行路由选择前处理的数据包:PREROUTING

处理流入的数据包:INPUT

处理流出的数据包:OUTPUT

处理转发的数据包:FORWARD

在进行路由选择后处理的数据包:POSTROUTING

处理的动作

ACCEPT:允许流量通过。

REJECT:拒绝流量通过,(流量拒绝会通知,会返回流量的拒绝信息)

LOG:记录日志信息。

DROP:拒绝流量通过,丢弃 (直接把流量丢弃,不会返回任何值)

iptables 常用参数和作用

参数 作用
-P 设置默认策略
-F 清空规则链
-L 查看规则链
-A 在规则链的末尾加入新的规则
-I num 在规则链的头部加入新的规则
-D num 删除某一条规则链
-s 匹配来源的ip/MASK
-d 配置目标地址
-i 网卡名称 匹配这块网卡流入的数据
-o 网卡名称 匹配这块网卡流出的数据
-p 匹配协议,例如:TCP,UDP,ICMP
–dport num 匹配目标端口号
–sport num 匹配来源端口号
-j 指定匹配到数据包后的动作,如 ACCEPT、DROP、REJECT等。

实验环境:redhat8 ip:192.168.188.186

在redhat8有iptables和firewalld,这里我们停掉firewalld。

systemctl stop firewalld		# 关闭firewalld防火墙

systemctl status firewalld		# 查看firewalld防火墙状态

在这里插入图片描述

设置firewalld为开启不启动。

systemctl disable firewalld

image-20230910144541377

iptables 防火墙配置

查看规则链

iptables -L

image-20230910144941262

清空规则链

iptables -F

image-20230910145137370

由于我们没有配置规则链,所以本来就是空的。

设置默认规则将流入的流量丢弃

iptables -P INPUT DROP

image-20230910145629008

在输入命令后,发现无法输入命令了已经,因为我是通过SSH连接到redhat8中的,流量属于流入的流量,通过设置默认规则后,将流入的流量全部禁掉了,所以无法使用SSH连接了。

并且主机也无法使用ping命令ping通redhat8了。

image-20230910150011882

允许ICMP协议流量通过

iptables -I INPUT -p icmp -j ACCEPT

image-20230910150819617

source表示源,不管从任何地方来的ICMP协议都允许通过。

测试网络连通性,发现可以ping通。

image-20230910150844452

虽然可以ping通,但是SSH还是无法连接不,因为没有设置允许TCP协议流量通过。(SSH协议用的是TCP协议)

删除默认策略

iptables -D INPUT 1

image-20230910151252103

可以看到模式是DROP

说明1 表示规则的编号,这里指的是第 1 条规则。

允许所以流量通过

iptables -P INPUT ACCEPT

image-20230910151750375

这样SSH就可以连接了

image-20230910152141826

设置将所有流入22端口的流量全部拒绝

iptables -A INPUT -p tcp --dport 22 -j REJECT

image-20230910153138656

命令执行后,SSH就无法连接了。

查看配置的规则

image-20230910153356076

允许指定网段的22端口通过

iptables -I INPUT -s 192.168.188.0/24 -p tcp --dport 22 -j ACCEPT

该命令的含义是进入22端口所有的TCP流量只能允许192.168.188.0网段通过。

image-20230910154457295

注意防火墙的匹配规则是从上往下进行匹配的

说明:流量进入后,先匹配第一个规则,查看是否属于192.168.188.0该网段的,如果属于则同意通过。如果不是192.168.188.0该网段的,就会拒绝所有,也就是匹配到了第二个规则。这里设置的效果和白名单一样。

设置某个端口的流量全部拒绝(UDP,TCP)

iptables -A INPUT -p tcp --dport 80 -j REJECT
iptables -A INPUT -p udp --dport 80 -j REJECT

image-20230910155854397

在input链中添加某个IP拒绝访问某个端口

iptables -A INPUT -p tcp -s 192.168.188.1 --dport 8080 -j REJECT

image-20230910160545834

这样192.168.188.1这个ip地址就无法访问8080端口。

在redhat8中部署http服务

python3 -m http.server 8080

image-20230910161115976

然后在真实机中无法访问

image-20230910161150043

在新开启的kali中可以访问

image-20230910161231173

禁用指定的端口范围内的TCP数据包进入服务器

iptables -A INPUT -p tcp --dport 8000:9000 -j REJECT

image-20230910161912096

保存规则

在重启虚拟机后设置的规则都会消失,所以我们需要保存设置好的规则。

在Redhat8中使用的命令

iptables-save

在Centos7/Redhat7中使用的命令

service iptables save
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iptables 防火墙配置 的相关文章

  • 自定义控件玩套路以及canvas StaticLayout的使用

    遇到自定义控件的时候很苦恼 不知道从哪里下手 鄙人也是新手 记录下开发的思路 我们有时候需要把某一个功能封装成控件 很简单 写好布局 将其inflate出来 必要的属性 就跟普通的activity一样定义即可 context直接调用getC
  • ShuffleNet V1、V2 & EfficientNet & 迁移学习

    一 ShuffleNet V1 ShuffleNet Unit中全是GConv和DWConv 在左侧的网络结构中 对于输入特征矩阵 有串行的GConv1和GConv2 对于普通的组卷积的计算 只针对该组内的channel的信息进行计算 组卷
  • HDU - 1827 Summer Holiday(强连通分量+贪心)

    题目大意 To see a World in a Grain of Sand And a Heaven in a Wild Flower Hold Infinity in the palm of your hand And Eternity
  • 分布式限流之 - Nginx层限流

    写在前面的话 高并发的三驾马车 缓存 降级 限流 这里仅仅说限流 常用的限流算法有 计数器算法 固定窗口算法 滑动窗口算法 漏桶算法 令牌桶算法 每种算法的特点和优缺点这里不展开 比较适用的限流算法基本都会选择令牌桶 并且这里基于Sprin
  • 《Perl语言入门》读书笔记(五)输入与输出

    1 读取标准输入 使用
  • Android Data Binding

    请注明链接 https blog csdn net feather wch article details 79789597 Data Binding 1 DataBinding引入 android compileSdkVersion 23

随机推荐

  • 自动备份脚本linux下,Linux七牛云自动备份脚本

    1 下载七牛云自动备份脚本 目录如下 image png 进入此目录 执行命令 python setup py install 需要python2 7以上 安装完毕 目录如下 image png 2 编写配置文件 备份名称 用于标记 BAC
  • 基于Qt实现分块下载网络文件

    实际开发经常遇到下载网络文件的需求 对于一些比较大的网络文件 如果通过网络接口一次性读取数据后再写入文件 会占用较大的内存 比较好的做法是 先通过QNetworkRequest ContentLengthHeader获取文件的大小 然后设定
  • LED摩托车灯升降压恒流芯片OC4000电路原理图

    LED摩托车灯升降压恒流芯片OC4000是一种可以将不稳定的直流电压转化为稳定的直流电压的电子元件 特别适合用于需要大电流 高电压的LED灯具中 它是一种高精度 高效率的降压型LED恒流驱动控制芯片 可以将电压降至适合LED灯珠的安全范围
  • 综合交易平台API技术开发指南

    综合交易平台API技术开发指南 草稿 第一章 CTP 产品特性 2 第二章 CTP API 技术基础 4 第三章 CTP API 证券交易
  • APP自动化-- 03 adb简介

    文章目录 1 ADB简介 2 adb命令 3 参考资料 4 monkey 1 ADB简介 adb组成 adb adb exe 运行于PC端 包括Linux Windows Mac OS等系统之中 通常是x86架构上 下文中 ADB指整个模块
  • js之匿名函数详解

    1 函数的声明与函数表达式区别 1 1 函数的声明 如下方法 add 就是函数声明的代码结构 function add x y alert x y add 1 2 弹窗显示 3 关于函数声明 它最重要的一个特征就是函数声明提升 意思是执行代
  • 【项目总结】基于SSM+SpringBoot+Redis的个人博客系统项目总结

    文章目录 项目介绍 开发背景 数据库设计 主要使用到的技术点 前端 后端 自定义统一返回对象 自定义拦截器 加盐加密操作 分页功能 session持久化 自定义头像的存储和获取 项目编写过程中遇到的困难点 困难点一 小 困难点二 小 困难点
  • javascript取Date时间的前一天和后一天

    在页面里直接用js Date curDate new Date var preDate new Date curDate getTime 24 60 60 1000 前一天var nextDate new Date curDate getT
  • Python 入门

    python输出 python输出hello world print hello world 变量 print 12 34 print 12 34 2 print 12 34 2 3 a 12 34 b a 2 c b 3 print a
  • 网络安全期末整理

    什么网络安全 网络安全是指网络系统的硬件 软件及其系统中的数据受到保护 不因偶然的或者恶意的原因而遭到破坏 更改或泄露 系统连续 可靠 正常地运行 网络服务不中断 网络安全的特征 保密性 完整性 可用性 可控性 面对威胁网络安全的安全措施
  • 关于深度图像

    深度图像 深度图像 depth image 也被称为距离影像 range image 是指将从图像采集器到场景中各点的距离 深度 作为像素值的图像 它直接反映了景物可见表面的几何形状 深度图像经过坐标转换可以计算为点云数据 有规则及必要信息
  • 泊松曲面重建(基于PCL)

    Possion重建是Kazhdan等2006年提出的网格重建方法 Possion重建的输入是点云及其法向量 输出是三维网格 表面重建流程 1 构建八叉树 采用的是自适应的空间网格划分的方法 根据点云的密度调整网格的深度 根据采样点集的位置定
  • 自动控制原理知识点梳理——8.非线性控制系统分析

    1 非线性控制系统 线性控制系统 由线性元件组成 输入输出具有叠加性和齐次性性质 非线性控制系统 系统中有非线性元件 输入输出间不具有叠加性和齐次性性质 非线性系统的特征 非线性系统的特征 稳定性问题 稳定性问题 频率响应畸变 常见的非线性
  • Elastic-job 启动阻塞“假死”的问题

    问题记录 最近项目引入Elastic Job实现定时任务的分布式调度 引入的版本2 1 5 加入相关的job配置后启动项目 主线程假死 不进行后续逻辑处理和日志输出 输出的日志如下 INFO RMI TCP Connection 2 127
  • 联想拯救者y7000 ALT+TAB卡顿问题

    联想拯救者y7000 ALT TAB卡顿问题 我是2019年买的联想拯救者y7000 能吃鸡中画质也不卡 但是在使用alt tab切屏幕时 总是出现一两秒的卡顿 感觉非常难受 后来解决了问题 在这分享下 方法一 方法二 题主亲测有效 大家可
  • JAVA数组排序之冒泡排序

    冒泡排序 基本思路 从数组中第一个数开始与相邻的数比较 若前一个数大于后一个数则两个数位置进行交换 arr i gt arr i 1 这样的步骤进行多次 直到数组中所有元素按照大小排序 如图所示 int arr 1 99 22 76 24
  • openwrt squashfs固件解包打包与签名方法

    我们有时没有时间重新编译整个固件 但是却又想修改其中的某个功能 这时就涉及到了固件的解包与打包 下面提供一个简单的解包打包脚本 openwrt固件修改 squashfs jffs2格式固件 bin sh sudo echo Starting
  • for in的次数控制

    语法规则 range 初始值 终止值 步长 range函数 a range 1 10 3 生成一个可迭代对象 类型是对象 print a b list a 把可迭代对象转化为一个列表 print b c range 1 5 默认步长为1 p
  • 绝美前端效果之超级无敌酷炫的登录界面!

    第一款 第二款 第三款 这个界面的樱花是会动的 绝美 CSDN上传不了帧数太高的没办法做成gif 第四款 第五款 想要的评论留下邮箱 以上作品均在B站收集而来 下次攒够好看的界面还会分享给大家
  • iptables 防火墙配置

    文章目录 iptables 防火墙配置 规则链的分类 五链 处理的动作 iptables 常用参数和作用 iptables 防火墙配置 查看规则链 清空规则链 设置默认规则将流入的流量丢弃 允许ICMP协议流量通过 删除默认策略 允许所以流