热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

NAT网络地址转换(含ensp代码解释)

NAT网络地址转化文章目录NAT网络地址转化NAT实现方法和工作过程NAT的特性NAT的工作原理:NAT功能:动态NAT随着Internet的发展和网络

NAT网络地址转化


文章目录

  • NAT网络地址转化
    • NAT实现方法和工作过程
    • NAT的特性
    • NAT的工作原理:
    • NAT功能:
      • 动态NAT



随着Internet的发展和网络应用的增多,IF4地址枯竭已经成为制约网络发展的瓶颈。尽管IPv6可以从根本上解决IPv4地址空间不足的问题,但目前众多的网络设备和网络应用仍是基于IPv4的,因此在IPv6广泛应用之前,一些过渡技术的使用是解决这个问题的主要技术手段。

网络地址转换技术NAT(Network Address Translation)主要用于实现位于内部网络的主机访问外部网络的功能。当局域网内的主机需要访问外部网络时,通过NAT技术可以将其私网地址转换为公网地址,并且多个私网用户可以共用一个公网地址,这样既可保证网络互通,又节省了公网地址。

应用场景:

img


  • 企业或家庭所使用的网络为私有网络,使用的是私有地址;运营商维护的网络为公共网络,使用的是公有地址。私有地址不能在公网中路由。
  • NAT一般部署在连接内网秘外网的网关设备上。

image-20220426171847837

image-20220426172103907

image-20220426172219279


NAT实现方法和工作过程

image-20220426172635782

image-20220426173309223


NAT的特性

image-20220426173442967

优点:节省公有合法工P地址、处理地址重叠、增强灵活性、安全性
缺点:延迟增大、配置和维护的复杂性、不支持某些应用(比如VPN)


NAT的工作原理:


  • NAT用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信

  • NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发

    跨2个不同网络可以存在重复地址


NAT功能:

NAT不仅能解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的入侵,隐藏并保护网络内部的计算机。
1.宽带分享:这是NAT主机的最大功能
2.安全防护:NAT之内的Pc联机到Internet.上面时,他所显示的IP是NAT主机的公网IP,所以client端的Pc就具有一定程度的安全
了,外界在进行portscan(端口扫描)的时候,就侦测不到源client端的Pc。

静态NAT
静态NAT实现私网地址和公网地址的一对一转换。有多少个私网地址就需要配置多少个公网地址。静态NAT不能节约公网地址,但可以起到隐藏内部网络的作用。

内部网络向外部网络发送报文时,静态NAT将报文的源IP地址替换为对应的公网地址:外部网络向内部网络发送响应报文时,静态NAT将报文的目的地址替换为相应的私网地址。

有2种配置方法:

image-20220427154410610

第一种:
全局模式下设置静态NAT
[R1]nat static global 30.0.0.5 inside 192.168.10.10
[R1]intg0/0/1###外网口
[R1-GigabitEthernet0/0/1]nat static enable
###在网口上启动nat static enable.功能

第二种:直接在接口上声明nat static
[R1]intg0/0/1###外网口
[R1-GigabitEthernet0/0/1]nat static global 30.0.0.7 inside 192.168.10.10
[R1-GigabitEthernet0/0/1]undo shut
[R1]dis nat static
###查看NAT静态配置信息

动态NAT

image-20220427094928293

二、动态NAT一PAT(多个内网地址对多个公网地址)

image-20220427165616839

image-20220427102146678

image-20220427162854656

R1
u t m
Info:Current terminal monitor is off.
sys
Enter system view,return user view with Ctrl+Z.
[Huawei]sys r1
[r1]intg0/0/0
[r1-GigabitEthernet0/0/0]ip add 192.168.1.1 24
[r1-GigabitEthernet0/0/0]undo shutdown
Info:Interface GigabitEthernet0/0/0 is not shutdown.
[r1-GigabitEthernet0/0/0]q
[r1]intg0/0/1
[r1-GigabitEthernet0/0/1]ip add 202.10.100.1 24
[r1-GigabitEthernet0/0/1]undo shutdown
Info:Interface GigabitEthernet0/0/1 is not shutdown.
[r1-GigabitEthernet0/0/1]q#nat 分组(映射的外网IP范围)
[r1]nat address-group 1 200.10.100.10 200.10.100.20
#ACL访问控制
[r1]ac1 2000
#PS:ac1 (2000-2999):只能匹配源ip地址
[r1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255
[r1-acl-basic-2000]q
[r1]intg0/0/1
[r1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1
[r1-GigabitEthernet0/0/1]display nat outbound

小结:

映射出去的地址池(范围段)

ACL规则,允许哪些主机出去

需要确定在哪个网络接口(路由接口)应用这个规则

判断是出口方向还是进口方向

Easyip(多个内网地址对一个接口)

image-20220427172837660

sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys r1[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 192.168.1.1 24
[r1-GigabitEthernet0/0/0]undo shutdown
Info: Interface GigabitEthernet0/0/0 is not shutdown.
[r1-GigabitEthernet0/0/0]int g0/0/1
[r1-GigabitEthernet0/0/1]ip add 202.10.100.1 24
[r1-GigabitEthernet0/0/1]undo shutdown
Info: Interface GigabitEthernet0/0/1 is not shutdown.
[r1-GigabitEthernet0/0/1]q[r1]acl 2000
[r1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255 ##定义规则
[r1-acl-basic-2000]q
[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]nat outbound 2000 ## 指向出去位置
[r1-GigabitEthernet0/0/1]display nat outbound NAT Outbound Information:--------------------------------------------------------------------------Interface Acl Address-group/IP/Interface Type--------------------------------------------------------------------------GigabitEthernet0/0/1 2000 202.10.100.1 easyip --------------------------------------------------------------------------Total : 1

静态PAT(一对一,但是外网口IP和服务映射网内网服务器的IP和服务)

image-20220502102628050

R1
u t m
Info: Current terminal monitor is off.
sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname r1[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]ip add 192.168.1.1 24
[r1-GigabitEthernet0/0/0]undo shutdown
Info: Interface GigabitEthernet0/0/0 is not shutdown.
[r1-GigabitEthernet0/0/0]int g0/0/1
[r1-GigabitEthernet0/0/1]ip add 200.10.100.1 24
[r1-GigabitEthernet0/0/1]undo shutdown
Info: Interface GigabitEthernet0/0/1 is not shutdown.
[r1-GigabitEthernet0/0/1]q
[r1]ip route-static 0.0.0.0 0 200.10.100.2##配置一个静态路由(因为跨网段了)
[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]at server protocol tcp global 200.10.100.254 21 inside 200.10.100.2 21
###映射一个服务 TCP协议 在全局模块中
[r1-GigabitEthernet0/0/1]display nat serverNat Server Information:Interface : GigabitEthernet0/0/1Global IP/Port : 200.10.100.254/21(ftp) Inside IP/Port : 200.10.100.2/21(ftp)Protocol : 6(tcp) VPN instance-name : ---- Acl number : ----Description : ----Total : 1
[ar1-GigabitEthernet0/0/1]
[r1-GigabitEthernet0/0/1]q
[r1]nat alg all enable
#FTP服务默认数据端口没有开启,需要手动去开:R2
[ISP]int g0/0/0
[ISP-GigabitEthernet0/0/0]ip add 202.10.100.3 24
Info: Interface GigabitEthernet0/0/0 is not shutdown.
[ISP-GigabitEthernet0/0/0]q
[ISP]ip route-static 15.0.0.10 32 202.10.100.1AR1
ftp 200.10.100.254
Connected to 200.10.100.254
220 FtpServerTry FtpD for free
Uger(200.10.100.254:(none):
331 Password required for
Enter password:
230 User logged in progeedls ##查看当前目录下的文件

小结:
NAT 是对内网IP/PORT 转换为外网IP/PORT 的一种映射的技术
NAT 的作用:
① 节省ipv4地址(跨2个网络环境的IP就可以借助于NAT的技术来支持重复IP)
② 安全性(让外网网络设备无法直接获取内网的IP/PORT)
③ 灵活性

NAT 常用的方式:

​ ① EasyIP ——》EIP : 一组内网地址映射为一个外网接口IP
​ 场景:常规企业的公网IP 例如www.baidu.com 域名对应的IP
​ ② 静态NAT
​ ③ 静态PAT
​ ④ 动态NAT-PAT
​ 2 - 4 主要用于公司内部进行划分
NAT 配置:
两种方式:一种在系统视图模式配置
​ 一种在接口模式中配置

如果想要可以ping 通来交互,那么需要配置ACL
ACL 范围:
基本acl (2000-2999) :只能匹配源ip地址。 (与接口中的outbound 和inbound(方向)来配合)
高级acl (3000-3999) :可以匹配源ip、目标ip、源端口、目标端口等三层和四层的字段和协议。
二层ACL(4000-4999):根据数据包的源MAC地址、目的MAc地址、802.1q优先级、二层协议类型等二层信息制定规则。

小结:
NAT是对内网IP/PORT转换为外网IP/PORT的一种映射的技术


  • NAT的作用:
    节省ipv4地址(跨2个网络环境的IP就可以借助于NAT的技术来支持重复IP)

  • 安全性(让外网网络设备无法直接获取内网的IP/PORT)

  • 灵活性

NAT常用的方式:

①EasyIP-》
EIP:一组内网地址映射为一个外网接口IP
场景:常规企业的公网IP例如www.baidu.com域名对应的IP
②静态NAT
③静态PAT
④动态NAT-PAT
2-4主要用于公司内部进行划分

ACL范围:
基本acl(2000-2999):只能匹配源ip地址。(与接口中的outbound和inbound(方向)来配合)
高级acl(3000-3999):可以匹配源ip、月标ip、源端口、月标端口等三层和四层的字段和协议。
三层ACL(4000-4999):根据数据包的源MAc地址、目的MAc地址、802.1q优先级、二层协议类型等二层信息制定规则。


推荐阅读
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 在分析Android的Audio系统时,我们对mpAudioPolicy->get_input进行了详细探讨,发现其背后涉及的机制相当复杂。本文将详细介绍这一过程及其背后的实现细节。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 如何在PHP中准确获取服务器IP地址?
    如何在PHP中准确获取服务器IP地址? ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 深入解析C#中app.config文件的配置与修改方法
    在C#开发过程中,经常需要对系统的配置文件进行读写操作,如系统初始化参数的修改或运行时参数的更新。本文将详细介绍如何在C#中正确配置和修改app.config文件,包括其结构、常见用法以及最佳实践。此外,还将探讨exe.config文件的生成机制及其在不同环境下的应用,帮助开发者更好地管理和维护应用程序的配置信息。 ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 本文深入解析了通过JDBC实现ActiveMQ消息持久化的机制。JDBC能够将消息可靠地存储在多种关系型数据库中,如MySQL、SQL Server、Oracle和DB2等。采用JDBC持久化方式时,数据库会自动生成三个关键表:`activemq_msgs`、`activemq_lock`和`activemq_ACKS`,分别用于存储消息数据、锁定信息和确认状态。这种机制不仅提高了消息的可靠性,还增强了系统的可扩展性和容错能力。 ... [详细]
author-avatar
我的老公是个兵
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有