图文详解Linux中的火墙策略优化

news2024/9/21 16:24:48

目录

前言

一、火墙管理工具切换

二、iptables 的使用

三、火墙默认策略

四、firewalld的使用 

1、firewalld的开启

2、关于firewalld的域

3、关于firewalld的设定原理及数据存储

4、firewalld的管理命令 

5、firewalld的高级规则

 6、firewalld中的NAT

总结


前言

火墙可以看作内核上的一种过滤插件。netfilter :火墙所开启的策略表格。iptables:管理表格的方法;iptables或者firewalld:提供这种方法的两种服务。

实验环境:

服务器两块网卡,192网段和172网段

客户端

 

一、火墙管理工具切换

 

系统默认使用的时firewalld:
(1)firewalld切换为iptables

dnf install iptables-services -y
systemctl stop firewalld
systemctl disable --now firewalld 
systemctl mask firewalld        %锁住该服务
systemctl enable --now iptables.service

(2)iptales切换为fiewalld 
dnf install firewalld -y
systemctl stop iptables
systemctl disable --now iptables
systemctl mask iptables
systemctl enable --now firewalld

二、iptables 的使用

火墙策略的永久保存

/etc/sysconfig/iptables ##iptables 策略记录文件

永久保存策略
iptales-save > /etc/sysconfig/iptables
service iptables save

三、火墙默认策略

默认策略中的5条链
input ##输入
output ##输出
forward ##转发
postrouting ##路由之后
prerouting ##路由之前


默认的3张表
filter ##经过本机内核的数据(input output forward)
nat ##不经过内核的数据(postrouting,prerouting,input,output)
mangle ##当filter和nat表不够用时使用(input output forward postrouting,prerouting,)

iptables命令

iptables

-t指定表名称
-n不做解析
-L查看
-A添加策略
-p协议
--dport目的地端口
-s来源

-j

        ACCEPT

        DROP

        REJECT
        SNAT
        DNAT

动作

        允许

        拒绝

        源地址转换

        目的地地址转换

        丢弃

-N新建链
-E更改链名称
-X删除链
-D删除规则
-I 插入规则
-R更改规则
-P更改默认规则

 

 

 

 

数据包状态
RELATED         ##建立过连接的
ESTABLISHED         ##正在连接的
NEW         ##新的

可以通过下面的命令来使服务快速正确的通过火墙策略,而不需要遍历所有火墙策略:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT    
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW ! -s 192.168.0.10 -p tcp --dport 22 -j ACCEPT
ptables -A INPUT -m state --state NEW -j REJECT
service iptables  save     %火墙策略永久保存
注意:iptables命令添加策略时优先级是从上至下

sshd httpd iscsi dns 实际上相当于电影院检票

nat表中的dnat snat

ping不同,在另一台主机上做nat表的设定

内网访问外网

 

外网访问内网

 

四、firewalld的使用 

1、firewalld的开启

systemctl stop iptables
systemctl disable iptables
systemctl mask iptables

systemctl unmask firewalld
systemctl enable --now firewalld

2、关于firewalld的域

trusted         ##接受所有的网络连接
home         ##用于家庭网络,允许接受ssh mdns ipp-client samba-client dhcp-client
work         ##工作网络 ssh ipp-client dhcp-client
public         ##公共网络 ssh dhcp-client
dmz         ##军级网络 ssh
block         ##拒绝所有
drop         ##丢弃 所有数据全部丢弃无任何回复
internal         ##内部网络 ssh mdns ipp-client samba-client dhcp-client
external         ##ipv4网络地址伪装转发 sshd

3、关于firewalld的设定原理及数据存储

/etc/firewalld         ##火墙配置目录

/lib/firewalld         ##火墙模块目录

恢复默认设置,删除掉public.xml

4、firewalld的管理命令 

firewall-cmd --state         ##查看火墙状态
firewall-cmd --get-active-zones         ##查看当前火墙中生效的域
firewall-cmd --get-default-zone         ##查看默认域
firewall-cmd --list-all         ##查看默认域中的火墙策略
firewall-cmd --list-all --zone=work         ##查看指定域的火墙策略
firewall-cmd --set-default-zone=trusted         ##设定默认域


firewall-cmd --get-services         ##查看所有可以设定的服务
firewall-cmd --permanent --remove-service=cockpit         ##移除服务
firewall-cmd --reload


firewall-cmd --permanent --add-source=172.25.254.0/24 --zone=block         ##指定数据来源访问指定域
firewall-cmd --reload
firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block         ##删除自定域中的数据来源


firewall-cmd --permanent --remove-interface=ens224 --zone=public         ##删除指定域的网络接口
firewall-cmd --permanent --add-interface=ens224 --zone=block         ##添加指定域的网络接口
firewall-cmd --permanent --change-interface=ens224 --zone=public         ##更改网络接口到指定域 

立即生效apache,但是刷新,重新读取配置文件设定就没了

 

如何设定一直存在

之后刷新,重新读取配置文件

删除同理

指定数据来源访问指定域 

指定接口 

修改默认模块为iptable

5、firewalld的高级规则

想拒绝谁就写谁

firewall-cmd --direct --get-all-rules ##查看高级规则

数据走向,其他人都可以访问ssh,只有20不可以访问

 6、firewalld中的NAT

SNAT

DNAT

总结

火墙的设置策略也是在今后工作和面试中的重点内容,firewalld相对更傻瓜,iptables相对更灵活,希望大家重点掌握! 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软件测试】性能测试面试题分析与回答,你的优势不止这些......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 软件测试这一岗已悄…

Java原型模式以及引用拷贝与对象拷贝问题

目录基本数据类型,引用数据类型,String引用拷贝对象拷贝浅拷贝深拷贝原型模式基本数据类型,引用数据类型,String 这里为了更好的理解栈,堆的指向关系,Java传值,传引用问题,我找来一…

全网最详细地介绍mybatis-plus框架

文章目录1. 简介2. 特性3. 支持数据库4. 框架结构5. 开始使用5.1 数据源5.2 初始化工程6. 总结之前使用mybatis框架时,需要写大量的xml配置文件,维护起来比较繁琐。现在使用mybatis-plus,若是简单的curd操作,可以不用写xml文件&am…

maxwell解析mysql的binlog数据并保存到kafka使用

通过maxwell来实现binlog的实时解析,实现数据的实时同步 1、mysql创建一个maxwell用户 为mysql添加一个普通用户maxwell,因为maxwell这个软件默认用户使用的是maxwell这个用户, 进入mysql客户端,然后执行以下命令,进…

IDEA操作git commit后(push项目失败:Access token is expired),撤销commit,恢复到提交前的状态

1. 在IDEA操作push代码报错 remote: [session-e6423190] Oauth: Access token is expired 原因:这个问题其实就是因为你的本地电脑上安全中心存储Gitee密码过期导致的。 解决此问题可以参考以下链接:本以为修改下IDEA的settings下的Gitee账号密码就可以了…

若依框架文档开发手册----开发中常用功能模块

目录 前端 add.html 时间框 大文本框 Ajax校验 自定义校验 回显选中图片 JS对添加下拉列元素 edit.html 下拉列 回显时间 list.html 搜索栏 时间框 mapper.xml Table表格 格式化时间 前端 表格匹配字典值 表格增加.减少功能项 全局 其他 关闭标签页 输入框…

前端使用vue-pdf、pdf-lib、canvas 给PDF文件添加水印,并预览与下载

前端使用vue-pdf、pdf-lib 给pdf添加水印,并预览与下载效果预览使用第三方插件安装依赖插件import 导入依赖预览添加水印的pdf下载添加水印的pdf预览及下载总结完整代码效果预览 使用第三方插件 安装依赖插件 npm i vue-pdf --save npm i pdf-lib --save npm inst…

java之面向对象基础

1.类和对象1.1什么是对象万物皆对象,只要是客观存在的事物都是对象1.2什么是面向对象1.3什么是类类是对现实生活中一类具有共同属性和行为的事物的抽象类的特点:类是对象的数据类型类是具有相同属性和行为的一组对象的集合1.4什么是对象的属性属性&#…

微信小程序——使用npm包,安装 Vant weapp 组件库安装教程及使用vant组件

一.小程序对 npm 的支持与限制目前,小程序中已经支持使用 npm 安装第三方包,从而来提高小程序的开发效率。但是,在小程序中使用 npm 包有如下3个限制:📜不支持依赖于 Node . js 内置库的包📜不支持依赖于浏…

【软件测试】2023年的软件测试咋样?见鬼,我到底该如何进阶?

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 一谈到进阶&#xf…

Sitecore本地安装详细介绍

一、简介 Sitecore 是一种 CMS(内容管理系统,位于 Web 前端和后端办公系统或流程之间的软件系统),本文已当前最新的 10.2.0 版本为例,介绍如何安装部署。 二、环境准备 Sitecore 依赖于 IIS、SQL Server,在后续 Sitecore 安装之前,这两依赖需要提前安装完成 2.1 II…

【CTF】ctf中用到的php伪协议总结及例题(持续更)

目录 前言 关于文件包含漏洞 php伪协议总结 关于php://协议 参考自: 前言 本篇文章使用的靶场是buuctf上的web题目:[BSidesCF 2020]Had a bad day 进行点击选项得到一个这样的url 这里猜测存在sql注入,没测出来。或者可能有php伪协议读…

excel函数应用:如何写出IF函数多级嵌套公式

说到函数就不得不提起函数中最受欢迎的三大家族:求和家族、查找引用家族、逻辑家族!!!没错!今天我们要介绍的就是三大家族之一逻辑函数家族的领头人:IF函数——很多人难以理解IF函数的多级嵌套使用。其实&a…

shell 函数详解

目录 函数 一,什么是函数 二, 函数的返回值 三,函数语法 示例1: 示例2: 四,函数的调用 示例1: 示例2: 五,函数库文件 六, 递归函数 示例1&#xf…

Node.js 全局对象介绍

在学习 Javascript 之初,会接触一个概念:JS 由三部分组成,DOM BOM ECMAScript。其中前两者是宿主环境,也就是浏览器所提供的能力。后者才是 JS 语言本身的标准。 在上篇文章《Node.js入门(1)&#xff1a…

SpringMVC之响应

目录 一:环境准备 二:响应页面[了解] 三:返回文本数据[了解] 四:响应JSON数据 SpringMVC接收到请求和数据后,进行一些了的处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的…

1月更新!EasyOps® 28+新功能“狂飙”上线~

2023节后,我们就要“搞事情”! 一波新功能已上线,快看是不是你需要的! 持续升级优化全平台产品, 只为成为你数字化变革最值得信赖的合作伙伴! 优维EasyOps全平台28新功能来了! ↓↓↓ 1、H…

Spring的后处理器之BeanFactoryPostProcessor

Spring的后处理器 Spring的后处理器是Spring对外开放的重要扩展点,允许我们介入到Bean的整个实例化流程中来,以达到动态注册BeanDefinition,动态修改BeanDefinition,以及动态修改Bean的作用。Spring主要有两种后处理器&#xff1…

【车载开发系列】StatusOfDTC的解析

【车载开发系列】StatusOfDTC的解析 StatusOfDTC的解析【车载开发系列】StatusOfDTC的解析StatusOfDTC概念StatusOfDTC列表StatusOfDTC状态掩码Bit 0: TestFailedBit 1: testFailedThisOperationCycleBit 2: pendingDTCBit 3: confirmedDTCBit 4: testNotCompletedSinceLastCle…

【操作系统】3、内存管理

文章目录三、内存管理3.1 内存基础3.1.1 内存管理概念3.1.2 程序装入与链接3.1.3 内存保护3.2 内存空间的分配与回收3.2.1 连续分配管理方式3.2.1.1 单一连续分配3.2.1.2 固定分区分配3.2.1.3 动态分区分配3.2.2 动态分区分配算法3.2.2.1 首次适应算法3.2.2.2 最佳适用算法3.2.…