NAT原理与实验指南:网络地址转换技术解析与实践

NAT实验

NAT(Network Address Translation,网络地址转换):

  1. NAT技术的介绍:

    随着Internet用户的快速增长,以及地址分配不均等因素,IPv4地址(约40亿的空间地址)已经陷入不敷使用的窘境。为了解决这个问题,IETF 提出了 NAT 解决方案。IP地址分为公有地址(Global Address)和私有地址(Private Address)。公有地址由 IANA 统一分配,用于 Internet 通讯;私有地址可以自由分配,用于网络内部通讯。NAT技术的主要作用就是将私有地址转换成共有地址,使私有网络中的主机可以通过共享少量公有地址访问 Internet。

    NAT只是一种过渡技术,从根本上解决地址供需问题的方式是采用支持更大地址空间的下一代IP技术——IPv6 协议。

  2. NAT核心原理:

    • 出方向(私→公):将私网IP+端口映射为公网IP+端口。
    • 入方向(公→私):根据映射表将公网IP+端口还原为私网IP+端口。
    • 关键表项:设备动态维护 NAT Session表(记录映射关系)和 NAT地址池(公网地址资源)。
    • IPv4单播地址预留地址段(Private Address Space):
      • 10.0.0.0/8*(10.0.0.0 ~ 10.255.255.255)*
      • 172.16.0.0/12*(172.16.255.255 ~ 172.31.255.255)*
      • 192.168.0.0/16*(192.168.0.0 ~ 192.168.255.255)*
  3. NAT分类:

    • 静态NAT
      • 原理
        一个私网IP固定绑定一个公网IP(无端口转换),建立双向静态映射。
      • 特点
        • 公网IP永久独占,浪费地址资源
        • 支持入站访问(公网可直接访问私网主机)
        • 无会话超时机制
    • 基本NAT(动态NAT)
      • 原理
        私网IP动态分配公网IP(不转换端口),地址池耗尽时新连接失败。
      • 特点
        • 不支持端口复用,一个私网连接独占一个公网IP
        • 会话超时后地址回收
        • 不支持入站访问
    • NAPT(Network Address Port Translation)
      • 原理
        多个私网IP共享公网地址池,通过端口号区分不同会话(IP+端口同时转换)。
      • 特点
        • 高效利用IP(1个公网IP支持数万并发)
        • 仅支持出站访问
        • 需维护复杂Session表
    • Easy IP
      • 原理
        NAPT的特例,直接使用公网接口的IP作为转换地址(无需地址池)。
      • 特点
        • 节省配置(尤其适合动态获取公网IP的场景)
        • 单IP支撑整个私网出口
        • 家庭宽带/小型企业首选
    • NAT Server
      • 原理
        公网IP的指定端口静态映射到私网服务器的指定端口(支持协议类型)。
      • 特点
        • 精准控制入站流量
        • 支持端口重定向(如公网8080→私网80)
        • 与防火墙策略配合保障安全
  4. 决策图:

    在这里插入图片描述

实验:

一、实验拓扑

在这里插入图片描述

二、实验需求
  1. 按照图示配置 IP地址
  2. 在 R1 和 R3 上配置默认路由指向公网,使私网A、B接入互联网
  3. 私网A按照图示配置 VLAN ,通过R1单臂路由访问互联网
  4. 私网A通过在 R1 上配置 NAPT使 VLAN10 和 VLAN20 都使用 R1 的公网地址访问互联网
  5. 私网B通过在 R3 上配置 EASY IP 访问互联网
  6. 私网A配置 NAT SERVER 把 FTP-A 的 FTP 服务映射到公网,使用 PCB 访问 FTP-A 的 FTP 服务
三、实验步骤
  1. 按照图示配置 IP地址,略

  2. 在 R1 和 R3 上配置默认路由指向公网,使私网A、B接入互联网,略
    静态路由实验:配置简单的高安全低消耗的可控性强路由
    三个静态路由实验:一篇文章教会你怎么配置静态路由

  3. 私网A按照图示配置 VLAN ,通过R1单臂路由访问互联网,略
    单臂路由网络隔离与跨 VLAN 通信实验

  4. 私网A通过在 R1 上配置 NAPT使 VLAN10 和 VLAN20 都使用 R1 的公网地址访问互联网

    [R1]acl basic 2000
    [R1-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
    [R1-acl-ipv4-basic-2000]rule permit source 192.168.2.0 0.0.0.255
    [R1-acl-ipv4-basic-2000]qu
    
    [R1]nat add
    [R1]nat address-group 1
    [R1-address-group-1]address 100.1.1.1 100.1.1.1
    [R1-address-group-1]qu
    
    [R1]int g0/1
    [R1-GigabitEthernet0/1]nat outbound 2000 address-group 1
    [R1-GigabitEthernet0/1]qu
    
  5. 私网B通过在 R3 上配置 EASY IP 访问互联网

    [R3]acl basic 2000
    [R3-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255
    [R3-acl-ipv4-basic-2000]qu
    
    [R3]int g0/0
    [R3-GigabitEthernet0/0]nat ou
    [R3-GigabitEthernet0/0]nat outbound 2000
    [R3-GigabitEthernet0/0]qu
    
  6. 在 FTP-A 上配置 FTP 服务,略
    实验环境下的网络协议比较:FTP文件传输、TELNET远程登录与SSH安全通信

  7. 私网A配置 NAT SERVER 把 FTP-A 的 FTP 服务映射到公网,使用 PCB 访问 FTP-A 的 FTP 服务

    [R1]int g0/1
    [R1-GigabitEthernet0/1]nat server protocol tcp global current-interface 20 21 in
    side 192.168.1.1 20 21
    [R1-GigabitEthernet0/1]qu
    
    <PCB>ftp 100.1.1.1
    Press CTRL+C to abort.
    Connected to 100.1.1.1 (100.1.1.1).
    220 FTP service ready.
    User (100.1.1.1:(none)): wiltjer
    331 Password required for wiltjer.
    Password: 
    530 Login authentication failed
    ftp: Login failed.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> 
    

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

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

相关文章

设计模式之【观察者模式】

目录 观察者模式中的角色 通过一个简单案例来演示观察者模式 被观察者接口 事件类型 up主类作为被观察者 观察者接口 粉丝类作为观察者 测试 测试结果 观察者模式中的角色 被观察者(observable)观察者(observer) 通过一个简单案例来演示观察者模式 被观察者接口 /*…

Linux sudo host权限提升漏洞(CVE-2025-32462)复现与原理分析

免责声明 本文所述漏洞复现方法仅供安全研究及授权测试使用&#xff1b; 任何个人/组织须在合法合规前提下实施&#xff0c;严禁用于非法目的&#xff1b; 作者不对任何滥用行为及后果负责&#xff0c;如发现新漏洞请及时联系厂商并遵循漏洞披露规则。 漏洞简述 Linux sudo是l…

【uni-ui】hbuilderx的uniapp 配置 -小程序左滑出现删除等功能

1.网址&#xff1a;https://ext.dcloud.net.cn/plugin?id181](https://ext.dcloud.net.cn/plugin?id181) 2.csdn讲解&#xff1a;https://blog.csdn.net/qq_40323256/article/details/114337128 3.uni-ui git&#xff1a;https://github.com/dcloudio/uni-ui 4.官方网址文档&…

记一次POST请求中URL中文参数乱码问题的解决方案

POST请求中URL中文参数乱码前言&#xff1a;一个常见的开发痛点一、问题现象与原因深度解析1. 典型问题场景2. 根本原因分析URL编码规范问题&#xff1a;编码解码过程不一致&#xff1a;IE浏览器特殊行为&#xff1a;二、前端解决方案1. 手动编码URL参数&#xff08;推荐&#…

从存储热迁移流程了解 QEMU block layer

文章目录存储热迁移流程总体流程代码路径QEMU Block layer架构简述Block Job结构体设计状态转换Mirror block job拓扑结构构建过程数据结构存储热迁移流程 总体流程 Libvirt migrate 命令提供 copy-storage-all 选项支持存储热迁移&#xff0c;相应地&#xff0c;Libvirt 热迁…

【设计模式】命令模式 (动作(Action)模式或事务(Transaction)模式)宏命令

命令模式&#xff08;Command Pattern&#xff09;详解一、命令模式简介 命令模式&#xff08;Command Pattern&#xff09; 是一种 行为型设计模式&#xff08;对象行为型模式&#xff09;&#xff0c;它将一个请求封装为一个对象&#xff0c;从而使你可以用不同的请求对客户进…

HTML5智能排班日历:动态排班一目了然

这个日历将具备以下功能: 显示一个标准的月度日历视图。可以自由切换上一个月和下一个月。在日历的每一天自动显示当天值班的人员。您可以很方便地在文件中修改值班人员列表和排班的起始日期。包括:动态生成日历网格处理月份切换根据排班规则计算并显示每天的值班人员<!DO…

深度剖析C++生态系统:一门老牌语言如何在开源浪潮中焕发新生?

&#x1f4dd;个人主页&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、前言&#xff1a;C的“长寿秘诀”是什么&#xff1f; C 诞生已超过 40 年。它经历了桌面应用、互联网爆发、移动时代&#xff0c;再…

60个功能OfficeBox 万彩办公大师:PDF 格式转换 OCR识别免费无广告

各位办公小能手们&#xff01;今天给大家介绍个超厉害的免费办公工具套装——OfficeBox万彩办公大师&#xff0c;是广州万彩科技整出来的。软件下载地址安装包 它里面有60多个没广告的绿色组件&#xff0c;简直像个百宝箱&#xff01;涵盖了PDF处理、格式转换、OCR识别、屏幕录…

拥抱主权AI:OpenCSG驱动智能体运营,共筑新加坡智能高地

2025年7月11日&#xff0c;由Linux基金会AI & Data、TikTok及LF Edge联合主办的 【LF AI & Data Day Singapore 2025】 在新加坡TikTok总部盛大启幕。本次大会以“Agent for SWE”为核心议题&#xff0c;汇聚全球顶尖AI开发者、企业领袖及开源社区先锋。作为国家主权AI…

单片机学习笔记.根据芯片数据手册写驱动程序(这里使用的是普中开发版,以DS1302为例)

硬件原理图部分&#xff1a; VCC2:是主电源 VCC1&#xff1a;是备用电源&#xff0c;此处没有使用VCC1 查芯片数据手册的网站&#xff1a; ALLDATASHEETCN.COM - 电子元件和半导体及其他半导体的数据表搜索网站。https://www.alldatasheetcn.com/ 1.由原理图可知对应引脚&…

Capture One24下载与保姆级安装教程!

软件下载 软件名称&#xff1a;Capture One24 软件语言&#xff1a;简体中文 软件大小&#xff1a;1.06G 系统要求&#xff1a;Windows7或更高&#xff0c;32/64位操作系统 硬件要求&#xff1a;CPU2.5GHz&#xff0c;RAM4G或更高 下载通道丨下载&#xff1a;https://too…

微信小程序(数据库)

const dbwx.cloud.database()//连接数据库db.collection("test").doc("b69f67c0626fac9000e123fc1ff07a42&#xff08;为要查询数据的id&#xff09;").get({success:res>{console.log(res)}})或getData(){db.collection("test").doc("&…

Apache CXF 漏洞曝光:存在拒绝服务与数据泄露双重风险

Apache软件基金会近日披露了一个影响多个Apache CXF版本的安全漏洞&#xff08;CVE-2025-48795&#xff09;。Apache CXF是开发者广泛使用的开源Web服务框架&#xff0c;用于构建基于SOAP和REST的应用程序。漏洞双重威胁该漏洞具有双重危害性&#xff1a;一方面可能通过内存耗尽…

Android 应用自动更新:从理论到实战的硬核指南

目录 1. 自动更新的核心逻辑:为什么它对用户体验至关重要? 自动更新的本质 为什么它如此重要? 2. 版本检测:如何优雅地发现“新大陆”? 设计版本检测的逻辑 实现版本检测的 API 请求 用户体验优化 3. 下载新版本:稳妥地获取安装包 下载的两种方式 注意事项 用户…

每日面试题05:ArrayList和LinkedList的底层原理

ArrayList与LinkedList深度解析&#xff1a;从底层原理到实战选择在Java的List接口实现中&#xff0c;ArrayList和LinkedList是最常用的两种选择。面试中“它们的区别”几乎是必问题&#xff0c;但仅仅停留在“数组vs链表”的层面显然不够。本文将从​​底层数据结构、内存布局…

python的慈善捐赠平台管理信息系统

前端开发框架:vue.js 数据库 mysql 版本不限 后端语言框架支持&#xff1a; 1 java(SSM/springboot)-idea/eclipse 2.NodejsVue.js -vscode 3.python(flask/django)–pycharm/vscode 4.php(thinkphp/laravel)-hbuilderx 数据库工具&#xff1a;Navicat/SQLyog等都可以 摘要 本文…

三十二、【核心功能改造】数据驱动:重构仪表盘与关键指标可视化

三十二、【核心功能改造】数据驱动:重构仪表盘与关键指标可视化 前言准备工作第一部分:后端实现 - 统计 API1. 创建 `DashboardStatsView`2. 注册统计 API 路由3. 后端初步测试第二部分:前端实现 - 重构仪表盘页面1. 创建 `api/dashboard.ts` API 服务2. 重构 `HomeView.vue…

神经网络与深度学习Python入门

一、神经网络基础 1. 神经元模型 在神经网络中&#xff0c;最基本的单元是神经元&#xff08;Neuron&#xff09;&#xff0c;也称为节点或单元。它模拟了生物神经系统中的神经元行为。一个典型的神经元模型包含多个输入&#xff08;x1,x2,…,xnx_1, x_2, \ldots, x_nx1​,x2​…

Android System WebView:Android生态的核心组件

在Android生态系统中&#xff0c;Android System WebView&#xff08;简称WebView&#xff09;扮演着至关重要的角色。它是Chrome浏览器的内核&#xff0c;为Android设备提供了强大的网页浏览和Web内容展示功能。无论是日常浏览网页、使用基于Web的应用程序&#xff0c;还是进行…