Linux防火墙-案例(一)filter表

news2024/10/11 2:23:04

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们经过上小章节讲了Linux的部分进阶命令,我们接下来一章节来讲讲Linux防火墙。由于目前以云服务器为主,而云服务器基本上就不会使用系统自带的防火墙,而是使用安全组来代替了防火墙的功能,可以简单理解安全组就是web版的防火墙,我们主要从以下几个方面来讲解Linux防火墙:

Linux防火墙-什么是防火墙

Linux防火墙-4表5链

Linux防火墙-filter表

Linux防火墙-nat表

Linux防火墙-常用命令

Linux防火墙-案例(一)

Linux防火墙-案例(二)

Linux防火墙-小结

前面讲了防火墙原理,概念,今天我们就用真实案例需求来设计真实可用的规则。

图片

客户端(普通人):只能访问服务器的web服务,也就是80和443

客户端(运维人员):可以访问服务器的ssh端口和备份端口

客户端(dba):只能访问数据库3306端口

服务端配置如下图

图片

现在我们就需要通过iptables规则来实现以上目的。

1.添加80和443端口允许访问

iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
#-m state --state NEW,ESTABLISHED 也可用不加,加了会更严谨。

2.添加运维的访问ssh端口允许访问

iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -s 192.168.179.108 -j ACCEPT
iptables -A INPUT -p tcp --dport 873 -m state --state NEW,ESTABLISHED -s 192.168.179.108 -j ACCEPT

3.添加dba访问数据库端口允许访问

iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -s 192.168.179.109 -j ACCEPT

4.添加本地回环允许访问

这个规则是所有linux的标配,因为你不能只允许外面的人访问,自己反而不能访问。

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#OUTPUT不加也可以的

5.添加允许已经建立连接的请求(可选)

如果不添加该规则,执行了下面默认拒绝规则,如果配置错误,可能导致和服务器失去连接。

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

6.除了允许通过规则,其他全部拒绝

iptables -P INPUT DROP

7.测试连接

dba测试:只能连接3306,不能连接22

图片

运维测试:只能连接22,不能连接3306

图片

总结

1.添加允许,后加拒绝。

2.添加拒绝所有,要考虑是否会把自己给屏蔽掉。

3.lo端口必须要全部放通,否则会出现业务不可用。

4.这里的规则并没有持久化,重启就会丢失。

5.这里的端口可根据自己的需求更换。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

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

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

相关文章

51单片机的水位检测系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块水位传感器继电器LED、按键和蜂鸣器等模块构成。适用于水位监测、水位控制、水位检测相似项目。 可实现功能: 1、LCD1602实时显示水位高度 2、水位传感器采集水位高度 3、按键可设置水位的下限 4、按键可手动加…

动手学大模型应用开发之大模型简介

动手学大模型应用开发之大模型简介 主要学习目标什么是大语言模型大模型的能力和特点涌现能力作为基座模型支持多元应用的能力支持对话作为统一入口的能力大模型特点 常见大模型ChatGpt通义千问 LangChainLangChain的核心模块 总结相关学习链接 主要学习目标 学习如何进行大模…

【AI知识点】激活函数(Activation Function)

激活函数(Activation Function) 是神经网络中的一个关键组件,负责将输入的线性组合转化为非线性输出。它赋予神经网络模型以复杂的表达能力,使其能够处理非线性问题,比如分类、图像识别和自然语言处理等任务。 1. 激活…

【redis-06】redis的stream流实现消息中间件

redis系列整体栏目 内容链接地址【一】redis基本数据类型和使用场景https://zhenghuisheng.blog.csdn.net/article/details/142406325【二】redis的持久化机制和原理https://zhenghuisheng.blog.csdn.net/article/details/142441756【三】redis缓存穿透、缓存击穿、缓存雪崩htt…

Spring Boot:医院管理的数字化转型

5系统详细实现 5.1 医生模块的实现 5.1.1 病床信息管理 医院管理系统的医生可以管理病床信息,可以对病床信息添加修改删除操作。具体界面的展示如图5.1所示。 图5.1 病床信息管理界面 5.1.2 药房信息管理 医生可以对药房信息进行添加,修改,…

今日指数day8实战补充用户管理模块(下)

ps : 由于前端将userId封装为BigInt类型 , 导致有精度损失, 传入的userId不正确 , 部分功能无法正确实现 , 但是代码已经完善 1.4 更新用户角色信息接口说明 1)原型效果 2)接口说明 功能描述:更新用户角色信息 服务路径:/user/…

基于FPGA的ov5640摄像头图像采集(二)

之前讲过ov5640摄像头图像采集,但是只包了的摄像头驱动与数据对齐两部分,但是由于摄像头输入的像素时钟与HDMI输出的驱动时钟并不相同,所有需要利用DDR3来将像素数据进行缓存再将像素数据从DDR3中读出,对DDR3的读写参考米联客的IP…

别再为日期时间头疼了!Python datetime模块助你高效搞定一切时间问题,让你的代码从此与时间赛跑,快人一步!

博客主页:长风清留扬-CSDN博客系列专栏:Python基础专栏每天更新大数据相关方面的技术,分享自己的实战工作经验和学习总结,尽量帮助大家解决更多问题和学习更多新知识,欢迎评论区分享自己的看法感谢大家点赞&#x1f44…

花半小时用豆包Marscode 和 Supabase免费部署了一个远程工作的导航站

以下是「 豆包MarsCode 体验官」优秀文章,作者谦哥。 🚀 项目地址:remotejobs.justidea.cn/ 🚀 项目截图: 数据处理 感谢开源项目:https://github.com/remoteintech/remote-jobs 网站信息获取&#xff1…

MyBatis 操作数据库入门

目录 前言 1.创建springboot⼯程 2.数据准备 3.配置Mybatis数据库连接信息 4.编写SQL语句,进行测试 前言 什么是MyBatis? MyBatis是⼀款优秀的 持久层 框架,⽤于简化JDBC的开发 Mybatis操作数据库的入门步骤: 1.创建springboot⼯程 2.数…

SOMEIP_ETS_171: SD_Unicast_FindService

测试目的: 验证DUT能够响应Tester发送的多个单播FindService消息,并至少回复一个单播OfferService消息。 描述 本测试用例旨在确保DUT能够正确处理单播FindService消息请求,并为请求的服务提供至少一个单播OfferService消息作为响应。 测…

SpringBootWeb快速入门!详解如何创建一个简单的SpringBoot项目?

在现代Web开发中,SpringBoot以其简化的配置和快速的开发效率而受到广大开发者的青睐。本篇文章将带领你从零开始,搭建一个基于SpringBoot的简单Web应用~ 一、前提准备 想要创建一个SpringBoot项目,需要做如下准备: idea集成开发…

亲身经历告诉你该如何自学编程

我2016年硕士毕业后,从一个纯机械学生开始转行做软件开发,其中少不了要自学编程,这其中经历的到现在看来还历历在目。 我曾经写过一些关于我转行做软件开发经历的文章,如果你感兴趣,可以点击这里的链接(我…

国庆期间的问题,如何在老家访问杭州办公室的网络呢

背景:国庆期间的问题,如何在老家访问杭州办公室的网络呢 实现方案:异地组网 实现语言:Java 环境:三个网络,一台拥有公网IP的服务器、一台杭州本地机房内服务器、你老家所在网络中的一台电脑(…

【Git】TortoiseGitPlink提示输入密码解决方法

问题 克隆仓库,TortoiseGitPlink提示输入密码 解法 1、打开TortoiseGit 下的puttygen工具 位置:C:\Program Files\TortoiseGit\bin\ 2、点击【Load】按钮,载入 C:\Users\Administrator\.ssh\ 文件夹下的id_rsa文件。 3、点击save private …

Python数据分析-远程办公与心理健康分析

一、研究背景 随着信息技术的飞速发展和全球化的推进,远程工作(Remote Work)成为越来越多企业和员工的选择。尤其是在2020年新冠疫情(COVID-19)爆发后,全球范围内的封锁措施使得远程工作模式迅速普及。根据…

Mysql数据库--JDBC编程

文章目录 1.JDBC编程基础2.驱动程序下载3.新建项目3.1导入java包3.2转换为库 4.开始创作4.1准备数据库4.2创建DataSource4.3和数据库建立连接4.4构造sql,准备发送到服务器4.5发送sql,执行sql4.6释放系统资源4.7自行输入的设置4.8插入数据完整源代码4.9查…

JavaEE之多线程进阶-面试问题

一.常见的锁策略 锁策略不是指某一个具体的锁,所有的锁都可以往这些锁策略中套 1.悲观锁与乐观锁 预测所冲突的概率是否高,悲观锁为预测锁冲突的概率较高,乐观锁为预测锁冲突的概率更低。 2.重量级锁和轻量级锁 从加锁的开销角度判断&am…

OJ在线评测系统 微服务 用分布式消息队列 RabbitMQ 解耦判题服务和题目服务 手搓交换机和队列 实现项目异步化

消息队列解耦 项目异步化 分布式消息队列 分布式消息队列是一种用于异步通信的系统,它允许不同的应用程序或服务之间传递消息。消息队列的核心理念是将消息存储在一个队列中,发送方可以将消息发送到队列,而接收方则可以在适当的时候从队列中…

Vue2电商平台(六)、注册登录,请求头配置token,token持久化存储;导航守卫(重点);组件内守卫、路由独享守卫

文章目录 一、注册1. 获取注册验证码2. 完成注册用户 二、登录1. 登录获取token2. Home首页携带token获取用户数据3. 持久化存储token4. 退出登录5. 导航守卫 (牛)6. 路由独享守卫beforeEnter7. 组件内守卫(用的很少) 一、注册 1. 获取注册验证码 本系…