SNAT和DNAT

SNAT和DNAT

  • 一、SNAT策略及应用
    • 1.1SNAT策略概述
    • 1.2开启SNAT的命令
      • 1.2.1 临时打开
      • 1.2.2永久打开
    • 1.3SNAT转换1:固定的公网IP地址
    • 1.4SNAT转换2:非固定的公网IP地址(共享动态IP地址)
    • 1.5SNAT案例
      • 1.5.1实验准备
      • 1.5.2配置网关服务器(12.0.0.1)的配置网关
      • 1.5.3配置内置网服务器(192.168.11.11)相关配置
      • 1.5.4配置外网服务器(12.0.0.10)的相关配置
      • 1.5.5开启SNAT
  • 二、DNAT策略与应用
    • 2.1DNAT应用环境
    • 2.2DNAT原理
    • 2.3DNAT转换前提条件
  • 三、tcpdump--Linux抓包

一、SNAT策略及应用

1.1SNAT策略概述

  • SNAT原理

    • 源地址转换
    • 修改数据包的源地址
  • SNAT转换前提条件
    1.局域网各主机已正确设置ip地址,子网掩码,默认网关地址
    2.Linux网关开启ip路由转发

1.2开启SNAT的命令

1.2.1 临时打开

1.echo 1>/proc/sys/net/IPv4/ip_forward
2.sysctl -w net.ipv4.ip  forward=1

1.2.2永久打开

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1     #将此行写入配置文件
sysctl  -p      # 读取修改后的配置

1.3SNAT转换1:固定的公网IP地址

#配置SNAT策略,实现snat功能,将所有192.168.100.0这个网段的ip的源ip改为10.0.0.1
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to 10.0.0.1可换成单独IP   出站外网网卡            外网IP
或
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to-source 10.0.0.1-10.0.0.10内网IP   出站外网网卡                    外网IP或地址池

1.4SNAT转换2:非固定的公网IP地址(共享动态IP地址)

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

1.5SNAT案例

1.5.1实验准备

  • web服务器ip:192.168.11.11(nat1)、关闭防火墙和selinux、开启http服务
  • 网关服务器内网ip:192.168.11.12(nat1);外网ip:12.0.0.1(nat2)、关闭防火墙和selinux,开启http服务
  • win7客户端ip:12.0.0.10(nat2)
  • vmware的虚拟网络编辑器中默认nat模式网段:192.168.11.0,nat2模式网段:12.0.0.0

在这里插入图片描述

1.5.2配置网关服务器(12.0.0.1)的配置网关

1.添加一块虚拟网卡,并自定义

在这里插入图片描述

2.复制并修改ens36网卡

在这里插入图片描述

#切换至网卡配置文件所在目录
[root@localhost network-scripts]#cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens38

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.修改ens36网卡

在这里插入图片描述
4.重启网卡并看下是否重启成功

在这里插入图片描述

在这里插入图片描述
5.ping12.0.0.1是否能ping通

在这里插入图片描述

6.网关开启ip路由转发
在这里插入图片描述

在这里插入图片描述

1.5.3配置内置网服务器(192.168.11.11)相关配置

1.修改ens33网卡

在这里插入图片描述

2.重启网络服务

在这里插入图片描述

3.ping网关测试

在这里插入图片描述

1.5.4配置外网服务器(12.0.0.10)的相关配置

1.修改 ens33网卡模式为仅主机模式

在这里插入图片描述

3.修改ens33网卡(临时)

在这里插入图片描述

4.ping网关测试

在这里插入图片描述

1.5.5开启SNAT

1.此时主机2,ping不通主机3IP地址12.0.0.10

在这里插入图片描述
2.查看网关服务器的iptables规则并清除

在这里插入图片描述

2.添加SNAT转换:固定的公网IP地址

在这里插入图片描述
3.再去主机2,ping主机3IP地址12.0.0.10

在这里插入图片描述

二、DNAT策略与应用

2.1DNAT应用环境

在internet中发布位于局域网内的服务器

2.2DNAT原理

修改数据包的目的地址

2.3DNAT转换前提条件

1.局域网的服务器能够访问internet
2.网关的外网地址有正确的DNS解析记录
3.Linux网关开启IP路由转发

vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1 
sysct1 -p

1.在主机2发布内网web服务

在这里插入图片描述
2.在主机3上curl 12.0.0.1
在这里插入图片描述

3.在主机1上curl192.168.11.12

在这里插入图片描述

4.添加DNAT转换

在这里插入图片描述

5.此时在主机3上curl 12.0.0.1

在这里插入图片描述

三、tcpdump–Linux抓包

tcpdump tcp-i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

(1)tcp∶ ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型

(2)-i ens33 ∶只抓经过接口ens33的包

(3)-t ∶不显示时间戳

(4)-s 0 ∶ 抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据包

(5)-c 100 ∶只抓取100个数据包

(6)dst port ! 22 ∶不抓取目标端口是22的数据包

(7)src net 192.168.1.0/24 ∶数据包的源网络地址为192.168.1.0/24。Net:网段,host:主机

(8)-w ./target.cap ∶ 保存成cap文件,方便用ethereal (即wireshark)分析

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

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

相关文章

Redis之zset(sorted set)类型解读

目录 基本介绍 常用命令 ZADD key score1 member1 [score2 member2] ZRANGE key start stop [WITHSCORES] ZCARD key ZCOUNT key min max ZREM key member [member ...] ZSCORE key member 基本介绍 Redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字…

IDEA启动报错【java.sql.SQLSyntaxErrorException: ORA-00904: “P“.“PRJ_NO“: 标识符无效】

IDEA报错如下: 2023-08-17 11:26:15.535 ERROR [egrant-biz,b48324d82fe23753,b48324d82fe23753,true] 24108 --- [ XNIO-1 task-1] c.i.c.l.c.RestExceptionController : 服务器异常org.springframework.jdbc.BadSqlGrammarException: ### Error queryin…

PDF怎么转成PPT文件免费?一个软件解决

随着科技的不断发展和进步,电子文档已经成为我们日常工作和学习中不可或缺的一部分。PDF作为一种跨平台的文件格式,以其可靠性和易读性而备受推崇。然而,在某些情况下,我们可能需要PDF怎么转成PPT文件免费,以便更好地展…

Day 56

Day 56 583. 两个字符串的删除操作 dp[i][j]:以i-1为结尾的字符串word1,和以j-1位结尾的字符串word2,想要达到相等,所需要删除元素的最少次数。 当word1[i - 1] 与 word2[j - 1]相同的时候,dp[i][j] dp[i - 1][j - 1];当word1…

apache配置安全证书https踩坑记录

apache配置安全证书有如下几步 一、申请证书 这个网上有很多免费的,我用的是阿里云的服务器,在阿里云后台就可以申请免费证书。 二、上传证书 申请好证书后,根据服务器用的什么软件,是apache还是ngnix,下载相应的证书…

六大需求管理工具:满足您的需求管理需求

在项目开发和产品设计中,需求管理是确保项目成功的关键所在。通过使用专业的需求管理工具,团队可以更好地追踪、记录和分析需求,提高工作效率并确保项目按时完成。 市场上有许多需求管理工具可供选择,当下有什么好用的需求管理工…

FlashAttention算法详解

这篇文章的目的是详细的解释Flash Attention,为什么要解释FlashAttention呢?因为FlashAttention 是一种重新排序注意力计算的算法,它无需任何近似即可加速注意力计算并减少内存占用。所以作为目前LLM的模型加速它是一个非常好的解决方案&…

拒绝摆烂!C语言练习打卡第五天

🔥博客主页:小王又困了 📚系列专栏:每日一练 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、选择题 📝1.第一题 📝2.第二题 &#x1f4d…

Linux的基础指令

目录 1、ls指令 .和..意义 2、pwd指令 3、cd指令 ①cd ~ ②cd - 关于cd ..的用法 绝对路径和相对路径 4、touch指令 5、mkdir指令 tree指令 6、rmdir指令 7、rm指令 * 8、man指令 9、cp指令 nano: 10、mv指令 11、cat指令 12、more指令 13、less…

0009Java程序设计-jsp在线学习平台设计与实现

摘 要目 录系统实现开发环境 摘 要 在线学习平台,是一个利用因特网作为平台传送教学内容,实施网上教学,进行网上交流和学习的信息系统。构建在线学习系统平台,可以克服传统课堂教育的局限性,形成一种主动的、协作的、…

[线程/C++]线程同(异)步和原子变量

文章目录 1.线程的使用1.1 函数构造1.2 公共成员函数1.2.1 get_id()1.2.2 join()2.2.3 detach()2.2.5 joinable()2.2.6 operator 1.3 静态函数1.4 call_once 2. this_thread 命名空间2.1 get_id()2.2 sleep_for()2.3 sleep_until()2.4 yield() 3. 线程同步之互斥锁3.1 std:mute…

c#中lambda表达式缩写推演

Del<string> ml new Del<string>(Notify);//泛型委托的实例化&#xff0c;并关联Nofity方法 Del<string> ml new Del<string>(delegate (string str) { return str.Length; });//将Nofity变更为匿名函数 Del<string> ml delegate(string str)…

Ubuntu软件源、pip源大全,国内网站网址,阿里云、网易163、搜狐、华为、清华、北大、中科大、上交、山大、吉大、哈工大、兰大、北理、浙大

文章目录 一、企业镜像源1、阿里云2、网易1633、搜狐镜像4、华为 二&#xff1a;高校镜像源1、清华源2、北京大学3、中国科学技术大学源 &#xff08;USTC&#xff09;4、 上海交通大学5、山东大学6、 吉林大学开源镜像站7、 哈尔滨工业大学开源镜像站8、 西安交通大学软件镜像…

【数据结构OJ题】用栈实现队列

原题链接&#xff1a;https://leetcode.cn/problems/implement-queue-using-stacks/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 用两个栈实现&#xff0c;一个栈进行入队操作&#xff0c;另一个栈进行出队操作。 出队操作&#xff1a; 当出队的栈…

Jmeter对websocket进行测试

JMeterWebSocketSampler-1.0.2-SNAPSHOT.jar下载 公司使用websocket比较奇怪&#xff0c;需要带认证信息进行长连接&#xff0c;通过websocket插件是请求失败&#xff0c;如下图&#xff0c;后面通过代码实现随再打包jar包完成websocket测试 本地实现代码如下&#xff1a; pa…

C++学习笔记总结练习:C++完美转发

完美转发 1 概念 首先解释一下什么是完美转发&#xff0c;它指的是函数模板可以将自己的参数“完美”地转发给内部调用的其它函数。所谓完美&#xff0c;即不仅能准确地转发参数的值&#xff0c;还能保证被转发参数的左、右值属性不变。 template<typename T> void fu…

前馈神经网络解密:深入理解人工智能的基石

目录 一、前馈神经网络概述什么是前馈神经网络前馈神经网络的工作原理应用场景及优缺点 二、前馈神经网络的基本结构输入层、隐藏层和输出层激活函数的选择与作用网络权重和偏置 三、前馈神经网络的训练方法损失函数与优化算法反向传播算法详解避免过拟合的策略 四、使用Python…

【HCIP】08.ISIS中间系统

链路状态协议&#xff0c;传递LSA信息ISIS基于数据链路层封装在OSI时&#xff0c;也有自己的网络层地址和自己的路由协议&#xff0c;即ISIS。之前的ISIS支持OSI的网络层地址&#xff0c;是为OSI中的CLNP&#xff08;无连接网络协议&#xff09;网络设计的路由协议&#xff0c;…

情人节特别定制:多种语言编写动态爱心网页(附完整代码)

写在前面案例1&#xff1a;HTML Three.js库案例2&#xff1a;HTML CSS JavaScript案例3&#xff1a;Python环境 Flask框架结语 写在前面 随着七夕节的临近&#xff0c;许多人都在寻找独特而令人难忘的方式来表达爱意。在这个数字时代&#xff0c;结合创意和技术&#xff0…

Ubuntu22.04编译Nginx源码

执行如下命令 # ./configure --sbin-path/usr/local/nginx/nginx --conf-path/usr/local/nginx/nginx.conf --pid-path/usr/local/nginx/nginx.pid输出结果&#xff0c;出现如下&#xff1a; Configuration summary using system PCRE2 library OpenSSL library is not used …