当前位置: 首页 > news >正文

Linux:iptables防火墙

目录

绪论

1、防火墙

1.1 保护范围

1.2 网络协议划分

1.3 协议:tcp

1.4 四表

1.5 五链

1.6 iptables的规则

1.7 匹配顺序

流入本机:prerouting ------->iuput---------->用户进程(httpd服务)------请求--------响应--------->数据要返回用户流出本机:httpd----------->响应--------->output--------------->postrouting-(地址转换)------------>用户转发:数据包进来,肯定不是同一网段,路由转发-------->forward--------->数据包出去,不允许转发,数据包直接丢弃。1.8 命令格式及管理选项

1.9 匹配条件以及控制类型

1.10 修改规则

1.11 隐藏拓展模块

 1.12 iptables的备份和还原

1.13 自定义链

1.13.1 创建自定义链

1.13.2 自定义链改名

1.13.3 给链添加规则

1.13.4 添加到默认链

1.13.5 删除

1.14 SNAT和DNAT

1.15 linux怎么抓包


绪论

防火墙:隔离功能

部署在网络边缘或者主机边缘。在工作找那个防火墙的主要作用是决定那些数据可以被外网访问以及那些数据可以进入内网访问。在网络层。分为软件防火墙和硬件防火墙

1、防火墙

1.1 保护范围

· 主机防火墙:服务范围就是当前自己的主机

· 网络防火墙:必经之路

实现方式:

· 硬件防火墙:既有专业的硬件来实现防火墙功能,又有软件来进行配给

· 软软件防火墙:代码实现判断

1.2 网络协议划分

网络层:包过滤防火墙

应用层(代理服务器):设置数据的进出

linux防火墙:

firewalld centos7:自带的

iptables:包过滤防火墙

selinux:自带的安全工具

集成在一个内核中:netfilter

iptables:包过滤防火墙,针对数据包进行过滤和限制,属于用户态

过滤数据包:ip地址端口、协议都可在iptables进行配置,可以限制,也可以放行

1.3 协议:tcp

iptables的构成和工作机制

iptables的组成部分:

四表五链组成,(selinux也是一个表,不在讨论范围内)

1.4 四表

· raw表:链接跟踪机制,加快封包速度和穿过防火墙的速度。主要是数据包跟踪

·mangle表:数据标记

· nat:地址转换表

· filter(默认表):过滤规划表,根据规则来定义或者过滤符合条件的数据包

四表的优先级 security----->raw----->mangle---->nat----->filter

表用来存放链,链用来存放规则

1.5 五链

INPUT:处理数据包进入本机的规则

OUTPOT:处理数据包发出的规则,一般不作处理

PREROUTING 处理数据包进入的规则

POSTROUTING 处理数据包离开本机之后的规则  结合地址转换使用

FORWARD 处理数据转发的规则

1.6 iptables的规则

表里面由链,链里面有规则,规则就是自定义的对于数据包的控制命令

1.7 匹配顺序

· 根据表的优先级匹配,在表中从上到下进行检查,找到匹配规则立即停止,不在表中向下继续查找,如果匹配不到规则,按照链的默认规则进行处理

· 报文流向

流入本机:prerouting ------->iuput---------->用户进程(httpd服务)------请求--------响应--------->数据要返回用户
流出本机:httpd----------->响应--------->output--------------->postrouting-(地址转换)------------>用户
转发:数据包进来,肯定不是同一网段,路由转发-------->forward--------->数据包出去,不允许转发,数据包直接丢弃。
1.8 命令格式及管理选项

rpm  -q  iptables

yum  -y  install  iptables  iptables-services

关防火墙安全机制

格式:iptables [ -t 表明](不指定表名,默认是filter)管理选项 [链名] [匹配条件] [-j 控制类型]

管理选项:

-A 在链的末尾追加一条,添加

-I 在链中插入一条新的规则,可以指定序号(后面跟上数字,表示序号)

-P 修改链的默认策略

-D 删除

-R 修改替换规则

-L 查看链中的规则

-vnL

v:显示详细信息  n:把规则以数字形式进行展示

-F 清空链中的所有规则,慎用
 

1.9 匹配条件以及控制类型

匹配条件:

-p 指定匹配的数据包协议类型

s 指定匹配的数据包源ip地址

-d 指定匹配数据包目的ip地址

-i 指定数据包进入本机的网络接口

-o 指定数据包离开本机使用的网络接口

--sport 指定源端口号

--dport 指定目的端口号

控制类型:

ACCEPT:允许数据包通过

DROP: 拒绝,直接丢弃,不给出任何信息回应

REJECT:拒绝,会给个响应信息

SNAT: 修改数据包的源ip地址

DNAT: 修改数据包的目的地址

iptables  -vnl  详细查看链中的规则,默认filter

iptables  -t  nat  -vnl  查看nat表

iptables  -F  清空filter的所有链的规则

eg:iptables  -t  filter  -A  INPUT -p  icmp  -j  REJECT

往filter表中的INPUT链添加icmp的拒绝

eg:

1.10 修改规则

 iptables  -A  INPUT  -p  icmp  -j  ACCEPT

iptables  -R  INPUT  1  -p  icmp  -j  REJECT

在生产中,iptables所有的链的默认规则都是DROP:iptables  -P  input  DROR  此时shell也会挂掉,只能进虚拟机进行恢复

iptables  -vnl  --line-number

iptables  -D  INPUT  1

iptables  -A  INPUT  -p  tcp  --dport  22  -j  ACCEPT:临时策略,禁止22端口传输,重启失效

iptables  -A  INPUT  -s  192.168.233.0/24  -p  tcp  --dport  80  -j  REJECT:整个网段禁止80端口的服务

1.11 隐藏拓展模块

既拒绝22又拒绝80:

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

-p:指定协议时,tcp和udp指明了什么是协议,就不需要再用-m指明扩展模块了,指定多端口可以用冒号的形式,也可以-m隐藏模块来实现

-m:可以用明确的形式指出类型:多端口,mac地址,ip地址数据包的状态

-m multiport指定多端口,使用多端口,多个端口用,隔开 

eg:iptables  -A  INPUT  -p  tcp  -m  multiport  --dp  ort  22,20,443,80  -j  REJECT

-m multiport --dport :指定多端口,多个端口号逗号分开

-m multiport --sport 

ip范围:

-m iprange --src-range 源ip地址的范围

-m iprange --dst-range 目的ip地址的范围

eg:

mac地址:

-m mac --mac-source

 1.12 iptables的备份和还原

· 写在命令行当中的都是临时配置

· 把规则,配置在服务的文件当中形成永久生效

iptables-save   >  /opt/ky30.bak:把当前iptables的全部配置保存到ky30.bak中

 默认配置文件:cat  /etc/sysconfig/iptables  

systemctl  restart  iptables  重启之后还在

1.13 自定义链

1.13.1 创建自定义链

没有-t指定表,默认在filer表中添加一个自定义链

iptables  -N  custom

1.13.2 自定义链改名

iptables  -E  custom  ky30   custom为原链名,ky30为新名

1.13.3 给链添加规则

iptables  -I  ky30  -p  icmp  -j  ACCEPT

1.13.4 添加到默认链

iptables  -I  INPUT  -p  icmp  -j  ky30:把ky30添加到系统的input链中

1.13.5 删除

iptables  -D  INPUT  1

然后还要在自定义链中删除

iptables  -x  ky30  

1.14 SNAT和DNAT

SNAT :源ip地址转换(内网到外网)

DNAT:目标地址转换(外网到内网)

内网到外网转换的是源,从外网到内网转换的是目的

客户端发起请求---> 网关服务器(地址转换)---->网关服务器----->web服务器

web服务器响应请求---->网关服务器----->网关服务器----->客户端

/etc/sysctl.conf中可以修改配置,内核参数永久生效

iptables  -t  nat  -A  PREROUTING  -d  11.0.0.11  -i  ens33  -p  --dport  80  -j  10  NAT  --to  192.168.233.10:80

解释:

-t  nat  :指定表名

-d  :指定目的ip

-p  :指定tcp协议

--dport  80  :指定端口号

-j:控制条件

-j  DNAT  :控制条件做的目标地址转换

--to  192.168.233.10:80  :所有外部来的访问IP地址都变成11.0.0.11来访问内网,目标端口为80,协议是tcp,协议的流量转发到192.168.233.10:80的端口

1.15 linux怎么抓包

tcpdump来实现linux抓包,自带的

 

sz  target.cap

不指定抓包动态处理:

tcpdump  tcp  -i  ens33  -s0  -w  ./ens33.cap  ./表示保存到当前位置

 

 

相关文章:

Linux:iptables防火墙

目录 绪论 1、防火墙 1.1 保护范围 1.2 网络协议划分 1.3 协议:tcp 1.4 四表 1.5 五链 1.6 iptables的规则 1.7 匹配顺序 流入本机:prerouting ------->iuput---------->用户进程(httpd服务)------请求--------响应--------->数据要返…...

MongoDB文档-进阶使用-spring-boot整合使用MongoDB---MongoTemplate完成增删改查

传送门: MongoDB文档--基本概念_一单成的博客-CSDN博客 MongoDB文档--基本安装-linux安装(mongodb环境搭建)-docker安装(挂载数据卷)-以及详细版本对比_一单成的博客-CSDN博客 MongoDB文档--基本安装-linux安装&…...

设计模式十四:责任链模式(Chain of Responsibility Pattern)

责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理该请求。 在责任链模式中,多个处理者对象被连接成一个链。当接收到一个请求时&#xf…...

将商城项目放到docker-centos7中

1、docker pull centos:7 2、docker run -d -it --privileged 仓库名称/shopcentos:1.1 /usr/sbin/init 注意: /usr/sbin/init 必须加,否则没法使用systemctl启动mysql 3、安装mysql教程 安装msyql教程:https://blog.csdn.net/davice_li…...

C# Winform 自动获取 软件版本号

C# Winform如何自动获取版本号 方案一 缺点是不适配,clickones发布的版本 public static string GetVersion() {try {return System.Deployment.Application.ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString();}catch{return System.Ref…...

基于C++实现了最小反馈弧集问题的三种近似算法(GreedyFAS、SortFAS、PageRankFAS)

该项目是一个基于链式前向星存图、boost(boost::hash、asio线程池)以及emhash7/8的非官方实现,实现了最小反馈弧集问题的三种近似算法。该问题是在有向图中找到最小的反馈弧集,其中反馈弧集是指一组弧,使得从这些反馈弧…...

奶牛用餐 优先队列 java

👨‍🏫 奶牛用餐 约翰的农场有 n n n 头奶牛,编号 1 s i m n 1 \\sim n 1simn。 每天奶牛们都要去食堂用餐。 食堂一共有 k k k 个座位,也就是说同一时间最多可以容纳 k k k 头奶牛同时用餐。 已知,第 i i i …...

包管理机制pip3

pip3 安装pip3 安装pip3 apt install python3-pip yum install python3-pip从仓库出发的命令 查询仓库信息 // 获取默认pip3源 pip3 config get global.index-url查询所有软件包 查询已经安装的所有软件包 pip3 list从软件包出发的命令 从软件包名出发查询其他信息 查询…...

liunx在线安装tomcat

1、在线安装 https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.91/bin/apache-tomcat-8.5.91.tar.gz 执行:wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.91/bin/apache-tomcat-8.5.91.tar.gz ps:或者直接把tar.gz扔服务器 2、 编…...

导入示例工程出现error: failed to start ability. Error while Launching activity错误的解决办法

导入华为健康生活应用(ArkTS),使用DevEco Studio打开,运行报错: error: failed to start ability. Error while Launching activity解决办法:修改module.json5里面exported的值,由false改为tr…...

【深入了解PyTorch】PyTorch分布式训练:多GPU、数据并行与模型并行

【深入了解PyTorch】PyTorch分布式训练:多GPU、数据并行与模型并行 PyTorch分布式训练:多GPU、数据并行与模型并行1. 分布式训练简介2. 多GPU训练3. 数据并行4. 模型并行5. 总结PyTorch分布式训练:多GPU、数据并行与模型并行 在深度学习领域,模型的复杂性和数据集的巨大规…...

linux 下 网卡命名改名

Linux 操作系统的网卡设备的传统命名方式是 eth0、eth1、eth2等,而 CentOS7 提供了不同的命名规则,默认是网卡命名会根据网卡的硬件信息,插槽位置等有关;来分配。这样做的优点是命名全自动的、可预知的,缺点是比 eth0、…...

6.2.0在线编辑:GrapeCity Documents for Word (GcWord) Crack

GrapeCity Word 文档 (GcWord) 支持 Office Math 函数以及转换为 MathML GcWord 现在支持在 Word 文档中创建和编辑 Office Math 内容。GcWord 中的 OMath 支持包括完整的 API,可处理科学、数学和通用 Word 文档中广泛使用的数学符号、公式和方程。以下是通过 OMa…...

为什么需要智能指针?

为什么需要智能指针&#xff1f; 解决忘记释放内存导致内存泄漏的问题。解决异常安全问题。 #include<iostream> using namespace std;int div() {int a, b;cin >> a >> b;if (b 0)throw invalid_argument("除0错误");return a / b; } void Func(…...

《华为认证》L2TP VPN配置

配置接口ip地址&#xff0c;并且将防火墙的接口加入对应的安全区域 。 LNS的G1/0/0 IP为202.1.1.1 1、配置LNS的缺省路由&#xff1a; ip route-static 0.0.0.0 0.0.0.0 202.1.1.2 2、通过WEB 界面配置防火墙的 L2TP VPN 浏览器输入&#xff1a; https://202.1.1.1:8443/def…...

【JVM】JVM垃圾收集器

文章目录 什么是JVM垃圾收集器四种垃圾收集器&#xff08;按类型分&#xff09;1.串行垃圾收集器(效率低&#xff09;2.并行垃圾收集器(JDK8默认使用此垃圾回收器&#xff09;3.CMS&#xff08;并发&#xff09;垃圾收集器(只针对老年代垃圾回收的&#xff09; 什么是JVM垃圾收…...

StarGANv2: Diverse Image Synthesis for Multiple Domains论文解读及实现(一)

StarGAN v2: Diverse Image Synthesis for Multiple Domainsp github:https://github.com/clovaai/stargan-v2 1 模型架构 模型主要架构由四部分组成 ①Generator、②Mapping network、③Style encoder、④Discriminator Generator&#xff1a;G网络 生成模型G将输入图片x转换…...

Go Gin 中使用 JWT

一、JWT JWT全称JSON Web Token是一种跨域认证解决方案&#xff0c;属于一个开放的标准&#xff0c;它规定了一种Token实现方式&#xff0c;目前多用于前后端分离项目和OAuth2.0业务场景下。 二、为什么要用在你的Gin中使用JWT 传统的Cookie-Sesson模式占用服务器内存, 拓展性…...

AWS中Lambda集成SNS

1.创建Lambda 在Lambda中&#xff0c;创建名为AWSSNSDemo的函数 use strict console.log(loading function); var aws require(aws-sdk); var docClient new aws.DynamoDB.DocumentClient(); aws.config.regionap-southeast-1;exports.handler function(event,context,cal…...

Mac下⬇️Git如何下载/上传远程仓库

使用终端检查电脑是否安装Git git --version 通过此文章安装Git ➡️ ​​​​​​​传送门&#x1f310; 方式1⃣️使用终端操作 1.下载——克隆远程仓库到本地 git clone [远程地址] 例&#xff1a;git clone https://gitee.com/lcannal/movie.git​ 2.编…...

微信小程序saveFile报错?别慌,手把手教你排查‘tempFilePath file not exist‘的三大元凶

微信小程序saveFile报错深度排查指南&#xff1a;从tempFilePath file not exist到完美解决 最近在开发微信小程序时&#xff0c;不少开发者都遇到了一个令人头疼的问题&#xff1a;saveFile:fail tempFilePath file not exist。这个报错看似简单&#xff0c;背后却隐藏着多种可…...

5分钟快速上手:Bulk Crap Uninstaller批量卸载工具完全指南

5分钟快速上手&#xff1a;Bulk Crap Uninstaller批量卸载工具完全指南 【免费下载链接】Bulk-Crap-Uninstaller Remove large amounts of unwanted applications quickly. 项目地址: https://gitcode.com/gh_mirrors/bu/Bulk-Crap-Uninstaller Bulk Crap Uninstaller&a…...

从Python打包exe到逆向分析:一次搞定pyinstxtractor和uncompyle6的使用

Python逆向工程实战&#xff1a;从打包exe到源码还原的完整指南 逆向分析Python打包的exe文件是一项兼具挑战性和实用性的技能。无论是安全研究人员、开发者还是技术爱好者&#xff0c;掌握这项技术都能让你在面对未知Python程序时游刃有余。本文将带你深入探索Python逆向工程的…...

Razor组件热重载失效、断点不命中、CSS隔离丢失——Blazor开发工具链2026年最新兼容性黑洞清单(VS 17.12+ Rider 2026.1实测)

第一章&#xff1a;Razor组件热重载失效、断点不命中、CSS隔离丢失——Blazor开发工具链2026年最新兼容性黑洞清单&#xff08;VS 17.12 Rider 2026.1实测&#xff09;核心现象复现路径 在 VS 17.12.0&#xff08;Build 34982.212&#xff09;与 JetBrains Rider 2026.1.1&…...

3步诊断与修复:为什么你的Windows任务栏透明工具开机不启动?

3步诊断与修复&#xff1a;为什么你的Windows任务栏透明工具开机不启动&#xff1f; 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB Tran…...

【AI面试临阵磨枪】解释 AI Agent 与普通 Chatbot、自动化脚本的本质区别

一、面试题目你好&#xff0c;随着AI技术的发展&#xff0c;AI Agent、普通Chatbot和自动化脚本经常被提及&#xff0c;能否请你详细解释一下&#xff0c;这三者之间的本质区别是什么&#xff1f;核心差异体现在哪些方面&#xff0c;不用展开过多细节&#xff0c;但要抓住核心要…...

墨语灵犀效果对比评测:AI翻译中‘文气’‘留白’‘韵律’三大维度拆解

墨语灵犀效果对比评测&#xff1a;AI翻译中‘文气’‘留白’‘韵律’三大维度拆解 1. 评测背景与工具介绍 在AI翻译工具层出不穷的今天&#xff0c;大多数产品仍停留在"准确传达语义"的层面。然而&#xff0c;真正的文学翻译需要更多——它需要保留原文的韵味、节奏…...

告别硬编码!用Qt Linguist和qsTr优雅管理你的Qml应用多语言文案

工程化多语言管理&#xff1a;用Qt Linguist构建可维护的Qml应用 当你的Qml应用从demo阶段走向产品化时&#xff0c;那些散落在各个文件中的文本字符串会逐渐成为维护的噩梦。想象一下这样的场景&#xff1a;产品经理突然要求为法语用户添加支持&#xff0c;而你需要在几十个Qm…...

2026年GEO排名优化服务商实力测评,看完不踩坑

伴随生成式AI搜索的普遍推广&#xff0c;GEO&#xff08;生成引擎优化&#xff09;已然成为企业数字营销的全新战场&#xff0c;它与传统SEO有所不同&#xff0c;GEO着重于使品牌内容在GPT&#xff0c;&#xff0c;等多种AI模型的回应里得到优先推荐&#xff0c;面对市场上不断…...

从YouTube视频到姿态估计:MPII数据集背后的数据清洗与标注实战避坑指南

从YouTube视频到姿态估计&#xff1a;MPII数据集构建全流程实战解析 当我们需要训练一个能够精准识别人体姿态的AI模型时&#xff0c;高质量的数据集就是一切的基础。MPII Human Pose Database作为计算机视觉领域的标杆数据集&#xff0c;其构建过程远比我们想象中复杂——从Yo…...