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

snat、dnat和firewalld

目录

概述

SNAT源地址转换

DANT目的地址转换

抓包

firewalld

端口管理


概述

snat :源地址转换

内网——外网 内网ip转换成可以访问外网的ip

也就是内网的多个主机可以只有一个有效的公网ip地址访问外部网络

DNAT:目的地址转发

外部用户,可以通过一个公网地址访问服务内部的私网服务

也就是私网的IP和公网IP做一个映射

SNAT源地址转换

步骤:

1.修改路由器ens33的IP地址,改成内网网关

2.修改路由器ens36的IP地址,改成外网网关

3.修改外网的IP地址和网关

4.修改内网的网关

5.配置路由器的内核参数文件

6.设置nat表的规则

-t nat 指定表为nat表

-A POSTROUING 离开本机   -A添加

-s 指定源IP

-o 指定输出网络设备

-j 控制类型 

--to 指定整个网段192.168.233.0/24 从ens36出去时,做源地址转换,转换成10.0.0.10

7.重启网卡 systemctl restart network

8.查看外网的日志

DANT目的地址转换

1.路由器设置规则

-d 11.0.0.11  指定做为目的地址转换的IP地址

-i 从指定的设备进入本机

-p指定协议

-j DNAT  使用目的地址转换

--to 192.168.233.10 

外网想要访问内网的192.168.233.10:80的这个web服务,只需要访问11.0.0.11就可以访问内网的web服务

iptables -t nat -A PREROUTING -d 10.0.0.10 -i ens36 -p tcp --dport 80 -j DNAT --to 20.0.0.10:80

抓包

在Linux当中如何抓包

tcpdump就是Linux自带的抓包工具(最小化安装时不带的,需要额外安装)

静态

tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.233.0/24 -w /opt/target.cap

tcp 指定抓包的协议  udp icmp 第一个参数,可以不指定协议

-i  只抓经过指定设备的包

-t  不显示时间戳

-s0  抓完整的数据包

-c 10   指定抓包的目的端口

dst port  指定抓包的目的端口

src net 192.168.233.0/24  指定抓包的IP地址

net  网段

host 主机(IP地址)

-w 保存指定路径

tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 20.0.0.0/24 -w /opt/target.cap

动态 

tcpdump -i ens33  -s0 -w /opt/ens33.cap

如果要用wireshark对数据包进行分析,tcpdump在抓包时,要使用-s0抓取完整格式,否则wireshark无法分析

tcpdump -i ens33 

firewalld

ubantu的不同  ufw  ubantu firewalld开启防火墙  ufw ubantu firewalld 关闭防火墙

它是按照区域来划分的

firewall-config

public:公共区域,默认配置了ssh以及DHCPv6预定服务是放通的,其他全部都是拒绝,默认区域

trusted:信任区域,允许所有的数据包放通

block:限制区域,拒绝所有

drop:丢弃区域,丢弃所有数据包

dmz:非军事区域,默认只运行ssh通过

home:家庭区域。默认只允许ssh通过

internal:内部区域,和home一模一样

external:外部区域,也是默认允许ssh通过,其他全部拒绝

work:工作区域,默认允许ssh通过

firewall-cmd 命令行工具

firewall-cmd --get-default-zone  查看当前系统的默认区域

firewall-cmd --list-all 查看当前区域设定的规则

firewall-cmd --set-default-zone=block  切换区域

firewall-cmd --list-services  查看区域内允许访问的服务

dhcpv6-client 获取ipv6的地址

interfaces: ens33 该区域默认使用的网卡设备

firewall-cmd --zone=pulic --change-interface=ens36 修改区域使用的网卡设备

firewall-cmd --add-service=http --zone=pulic  添加服务

firewall-cmd --add-servicr={ftp,nfs,http} --zone=pulic --permanent 添加多个服务并且永久生效

firewall-cmd --remove-servicr={ftp,nfs,http} --zone=pulic --permanent 删除多个服务

firewall-cmd --reload 重启

查看当前系统的默认区域

firewall-cmd --get-default-zone

查看当前区域设置的规则

firewall-cmd --list-all

切换当前系统的默认区域

firewall-cmd --set-default-zone=block
firewall-cmd --set-default-zone=drop

查看区域内允许访问的服务

firewall-cmd --list-service
firewall-cmd --list-services
#两个都行,效果一样

修改区域默认使用的网络设备

firewall-cmd --zone=public --change-interface=ens36
firewall-cmd --zone=home --remove-interface=ens36

添加服务到默认域中

firewall-cmd --add-service=http --zone=public

多个服务,永久添加

firewall-cmd --add-service={ftp,nfs,http} --zone=public --permanent
#--permanent 永久添加

删除服务

firewall-cmd --remove-service=http --zone=public

重新加载

firewall-cmd --reload

端口管理

firewall-cmd --zone=pulic --add-port=80/tcp 添加端口

firewall-cmd --zone=pulic --add-port=80/tcp  --permanent 永久生效 

fierwall-cmd --add-source=192.168.233.20  添加源地址 

添加端口到默认域中

firewall-cmd --zone=public --add-port=80/tcp

添加端口并指定协议,端口在前协议在后,用 / 分割

firewall-cmd --zone=public --add-port={80,21,3306,22}/tcp

删除端口

firewall-cmd --zone=public --remove-port=80/tcp

添加源IP

firewall-cmd --zone=block --add-source=192.168.233.20
firewall-cmd --get-active-zone

相关文章:

snat、dnat和firewalld

目录 概述 SNAT源地址转换 DANT目的地址转换 抓包 firewalld 端口管理 概述 snat :源地址转换 内网——外网 内网ip转换成可以访问外网的ip 也就是内网的多个主机可以只有一个有效的公网ip地址访问外部网络 DNAT:目的地址转发 外部用户&#…...

[数据集][目标检测]鸡蛋缺陷检测数据集VOC+YOLO格式2918张2类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2918 标注数量(xml文件个数):2918 标注数量(txt文件个数):2918 标注…...

前后端防重复提交

数据重复提交是一个大忌,会带来无效数据,应该在前端和后端都建议检测防范。 前端一般是按钮按下触发数据提交,如果用户鼠标操作习惯不好,或者鼠标或系统设置问题会导致鼠标连击,如果前端不做相关处理,可能会…...

JVM专题八:JVM如何判断可回收对象

在JVM专题七:JVM垃圾回收机制中提到JVM的垃圾回收机制是一个自动化的后台进程,它通过周期性地检查和回收不可达的对象(垃圾),帮助管理内存资源,确保应用程序的高效运行。今天就让我们来看看JVM到底是怎么定…...

binary_cross_entropy_with_logits函数的参数设定

binary_cross_entropy_with_logits 该函数参数: logits (Tensor) - 输入预测值。其数据类型为float16或float32。 label (Tensor) - 输入目标值,shape与 logits 相同。数据类型为float16或float32。 weight (Tensor,可选) - 指定每个批次二…...

Python 面试【★★★★★】

欢迎莅临我的博客 💝💝💝,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

C# StringBuilder

以下是一些基本的 StringBuilder 使用方法:创建 StringBuilder 实例:追加字符串:插入字符串:删除字符串:替换字符串:清空 StringBuilder:转换 StringBuilder 为字符串:使用容量&…...

4个文章生成器免费版分享,让文章创作更轻松便捷

在当今这个信息飞速传播的时代,文章创作的重要性愈发凸显。无论是从事内容创作的专业人士,还是偶尔需要撰写文章的普通大众,都希望能更高效地完成文章创作任务。而在实际操作中,我们常常会遇到思路卡顿、没有创作灵感的问题。今天…...

redis-cluster(集群模式搭建)

redis中间件版本: redis-5.0.5环境介绍 这里使用服务器数量3,分别为172.0.0.1,172.0.0.2,172.0.0.3,每台机器redis节点数量2个,共6个redis节点构成redis-cluster模式。编译安装包 在172.0.0.1的机器上进入安装目录 cd …...

使用vite官网和vue3官网分别都可以创建vue3项目

问: npm init vitelatest 和 npm create vuelatest创建的vue3项目有什么区别? 回答: npm init vitelatest 和 npm create vuelatest 分别是使用 Vite 和 Vue CLI 工具创建 Vue 项目的两种方式,它们之间有几个主要区别: 1. **构建工具:** …...

PDF处理篇:如何调整 PDF 图像的大小

将视觉效果无缝集成到 PDF 中的能力使它们成为强大的通信工具。然而,笨拙的图像大小会迅速扰乱文档的流程,阻碍清晰度和专业性。幸运的是,GeekerPDF 和Adobe Acrobat等流行的应用程序提供了用户友好的解决方案来应对这一挑战。这个全面的指南…...

STM32 HAL库里 串口中断回调函数是在怎么被调用的?

跟着正点原子学习的HAL库写串口接收程序的时候一直有困惑,使用HAL_UART_Receive_IT开启接收中断后,为啥处理函数要写在HAL_UART_RxCpltCallback里,中断发生的时候是怎么到这个回调函数里去的? void MX_USART1_UART_Init(void) {h…...

音视频入门基础:H.264专题(5)——FFmpeg源码中 解析NALU Header的函数分析

音视频入门基础:H.264专题系列文章: 音视频入门基础:H.264专题(1)——H.264官方文档下载 音视频入门基础:H.264专题(2)——使用FFmpeg命令生成H.264裸流文件 音视频入门基础&…...

RT-Thread ENV-Windows v2.0.0安装教程

前言 前几天RT-Thread官方更新了env工具,开源仓库的Kconfig的写法都不大一样了;如果继续用原来的env工具,拉新代码之后很多示例都编译不了 在最新的env工具中menuconfig全面采用kconfiglib,升级env脚本和python版本,改…...

[HBM] HBM TSV (Through Silicon Via) 结构与工艺

依公知及经验整理,原创保护,禁止转载。 专栏 《深入理解DDR》 全文 3300 字。 1 概念 1.1 什么是HBM TSV 使用 TSV 堆叠多个DDR DRAM成为一块HBM, 成倍提高了存储器位宽, 一条位宽相当于高速公路的一条车道, 车道越多&#xff…...

基于STM32的温湿度检测TFT屏幕proteus恒温控制仿真系统

一、引言 本文介绍了一个基于STM32的恒温控制箱检测系统,该系统通过DHT11温湿度传感器采集环境中的温湿度数据,并利用TFT LCD屏幕进行实时显示。通过按键切换页面显示,通过按键切换实现恒温控制箱的恒温控制。为了验证系统的可靠性和稳定性&…...

【Qt+opencv】编译、配置opencv

文章目录 前言下载opencv编译opencvmingw版本 总结 前言 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它包含了超过2500个优化的算法。这些算法可以用来检测和识别面部,识别对象&#x…...

RDMA建链的3次握手和断链的4次挥手流程?

文章目录 基础信息建链 3次握手断链4次挥手建联状态active端passive端 报文结构函数关系其他后记 基础信息 CM: Communication Management 通信管理 连接管理SIDR: Service ID Resolution Protocol. 作用: enables users of Unreliable Datagram service to locate …...

实验4 图像空间滤波

1. 实验目的 ①掌握图像空间滤波的主要原理与方法; ②掌握图像边缘提取的主要原理和方法; ③了解空间滤波在图像处理和机器学习中的应用。 2. 实验内容 ①调用 Matlab / Python OpenCV中的函数,实现均值滤波、高斯滤波、中值滤波等。 ②调…...

独辟蹊径:我是如何用Java自创一套工作流引擎的(下)

作者:后端小肥肠 创作不易,未经允许严禁转载。 姊妹篇:独辟蹊径:我是如何用Java自创一套工作流引擎的(上)_java工作流引擎-CSDN博客 1. 前言 在上一篇博客中,我们详细介绍了如何利用Java语言从…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类&#xff1a;块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...