NAT网络地址转换详情

 更新时间:2021年08月31日 14:58:28   作者:小小考拉123  
这篇文章主要以NAT作用和NAT的应用方向及网络配置等多个知识点描述网络地址转换的过程,需要的朋友可以参考下面文章

网络地址转换

一、概述

NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这样,所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
另外,这种通过使用少量的全球IP地址(公网IP地址)代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭。

1、NAT作用

将内部(私有)地址转换成外部(公有)地址

2、NAT应用方向

没有足够的公网IP连接到internet
当更换ISP需要重新编址
合并两个使用重叠地址空间的内部网络
使用单个IP地址支持基本的负载分担

3、NAT优点

节省了公网IP地址
能够处理编址方案重叠的情况
网络发生改变时不需要重新编址
隐藏了真正的IP地址

二、实例

1.静态NAT(一个内网地址对一个公网地址)

(1)、PC配置

  • PC1:IP:192.168.1.10 子网掩码:255.255.255.255 网关:192.168.1.1  //配置PC1,设置IP:192.168.1.10 子网掩码:255.255.255.255,网关指向192.168.1.1
  • PC2:IP:192.168.1.20 子网掩码:255.255.255.255 网关:192.168.1.1    //配置PC2,设置IP:192.168.1.20 子网掩码:255.255.255.255,网关指向192.168.1.1

(2)、R1配置:

[R1]int g0/0/0 //进入接口g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24  //配置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/0]undo shut//开启物理接口
[R1-GigabitEthernet0/0/0]int g0/0/1 //进入接口g0/0/1
[R1-GigabitEthernet0/0/1]ip add 202.10.10.1 24 //配置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/1]undo shut//开启物理接口 
[R1-GigabitEthernet0/0/1]nat static global 15.0.0.10 inside 192.168.1.10 netmask 255.255.255.255 //添加PC1到15.0.0.10的IP映射
[R2]ip route-static 0.0.0.0 32 202.10.10.2 //配置默认路由,下一跳入接口 202.10.10.2
[R1-GigabitEthernet0/0/1]display nat static //查看NAT映射情况

(3)、ISP配置:

[R2]int g0/0/0  //进入接口g0/0/0
[R2-GigabitEthernet0/0/0]undo shut //开启物理接口 
[R2-GigabitEthernet0/0/0]ip add 202.10.10.2 24 //配置IP地址及子网掩码长度
[R2]ip route-static 15.0.0.10 32 202.10.10.1 //NAT回指一条指向公司出口网关

(4)、测试:

PC1ping 202.10.10.2//能ping通

PC2 ping 202.10.10.2//不能ping通

2.动态NAT——PAT(多个内网地址对多个公网地址)

(1)、PC配置

  • PC1:IP:192.168.1.10 子网掩码:255.255.255.255 网关:192.168.1.1   //配置PC1,设置IP:192.168.1.10 子网掩码:255.255.255.255,网关指向192.168.1.1
  • PC2:IP:192.168.1.20 子网掩码:255.255.255.255 网关:192.168.1.1   //配置PC2,设置IP:192.168.1.20 子网掩码:255.255.255.255,网关指向192.168.1.1

(2)、R1配置

[R1]int g0/0/0 //进入接口g0/0/0
[R1-GigabitEthernet0/0/0]undo shut undo shut//开启物理接口
[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24  //配置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/0]int g0/0/1  //进入接口g0/0/1
[R1-GigabitEthernet0/0/1]undo shut //开启物理接口
[R1-GigabitEthernet0/0/1]ip add 202.10.10.1 24  //配置IP地址及子网掩码长度
[R1]nat address-group 1 15.0.0.10 15.0.0.11 //配置NAT外网地址池
[R1]acl 2000 //创建标准访问控制列表2000 
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255 //配置ACL抓取内网地址段
[R1-acl-basic-2000]int g0/0/1 //进入接口g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1 //在外网口调用acl2000 
[R1]ip route-static 0.0.0.0 32 202.10.10.2  // 配置默认路由,下一跳入接口 202.10.10.2
[R1-GigabitEthernet0/0/1]display nat outbound //查看是否成功

(3)、ISP配置:

[ISP]int g0/0/0 //进入接口g0/0/0 
[ISP-GigabitEthernet0/0/0]undo shut //开启物理接口
[ISP-GigabitEthernet0/0/0]ip add 202.10.10.2 24 //配置IP地址及子网掩码长度
[ISP]ip route-static 15.0.0.0 24 202.10.10.1  //NAT回指一条指向公司出口网关

(4)、测试:

PC1ping 202.10.10.2//能ping通

PC2 ping 202.10.10.2//能ping通

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

(1)、PC配置

  • PC1:IP:192.168.1.10 子网掩码:255.255.255.255 网关:192.168.1.1//配置PC1,设置IP:192.168.1.10 子网掩码:255.255.255.255,网关指向192.168.1.1
  • PC2:IP:192.168.1.20 子网掩码:255.255.255.255 网关:192.168.1.1//配置PC2,设置IP:192.168.1.20 子网掩码:255.255.255.255,网关指向192.168.1.1

(2)、R1配置

[R1]int g0/0/0 //进入接口g0/0/0  //进入接口g0/0/0
[R1-GigabitEthernet0/0/0]undo shut  //开启物理接口
[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24 //配置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/0]int g0/0/1 //进入接口g0/0/1
[R1-GigabitEthernet0/0/1]undo shut  //开启物理接口
[R1-GigabitEthernet0/0/1]ip add 202.10.10.1 24 //配置IP地址及子网掩码长度
[R1]acl 2000 //创建标准访问控制列表2000   
[R1-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255 //配置ACL抓取内网地址段
[R1-acl-basic-2000]int g0/0/1  //进入接口g0/0/1 
[R1-GigabitEthernet0/0/1]nat outbound 2000 //在外网口打下此命令
[R1-GigabitEthernet0/0/1]display nat outbound//查看是否成功

(3)、ISP配置

[ISP]int g0/0/0 //进入接口g0/0/0 
[ISP-GigabitEthernet0/0/0]undo shut  //开启物理接口
[ISP-GigabitEthernet0/0/0]ip add 202.10.10.2 24 //配置IP地址及子网掩码长度

(4)、测试:

PC1ping 202.10.10.2//能ping通

PC2 ping 202.10.10.2//能ping通

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

(1)、客户机配置

  • server:IP:192.168.1.10 子网掩码:255.255.255.255 网关:192.168.1.1//配置FTP server,设置IP:192.168.1.10 子网掩码:255.255.255.255,网关指向192.168.1.1

开启ftp服务器功能

  • PC2:IP:192.168.1.20 子网掩码:255.255.255.255 网关:192.168.1.1//配置PC2,设置IP:192.168.1.20 子网掩码:255.255.255.255,网关指向192.168.1.1

(2)、R1配置

[R1]int g0/0/0 //进入接口g0/0/0
[R1-GigabitEthernet0/0/0]undo shut  //开启物理接口
[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24 //配置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/0]int g0/0/1 //进入接口g0/0/1
[R1-GigabitEthernet0/0/1]undo shut  //开启物理接口
[R1-GigabitEthernet0/0/1]ip add 202.10.100.1 24  //配置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/1]nat server protocol tcp global 15.0.0.10 21 inside 192.168.1.10 21
//在外网接口下打nat server 协议为tcp,global 自己设定公网地址 ftp/21 inside 目的IP地址192.168.1.10 ftp/21
[R1]ip route-static 0.0.0.0 0 202.10.10.2 //配置默认路由,下一跳入接口 202.10.10.2
[R1]display nat server //查看地址映射是否成功

(3)、ISP配置

[ISP]int g0/0/0 //进入接口g0/0/0
[ISP-GigabitEthernet0/0/0]undo shut //开启物理接口
[ISP-GigabitEthernet0/0/0]ip add 202.10.100.2 24  //配置IP地址及子网掩码长度
[ISP]ip route-static 15.0.0.10 32 202.10.100.1 //配置静态路由,目的网段15.0.0.10,掩码长度32,下一跳入接口202.10.100.1
[ISP]nat alg ftp enable//开启ftp服务器功能
<ISP>ftp 15.0.0.10 //访问ftp服务器
[ISP-ftp]ls //列出文件夹
[ISP-ftp]get test.txt //下载文件

(4)、在ISP上验证

可以成功登录ftp服务器,并下载文件。

<ISP>ftp 15.0.0.10 //访问ftp服务器
[ISP-ftp]ls //列出文件夹
[ISP-ftp]get test.txt //下载文件

注意:

出口路由器上必须配置默认路由

以上就是NAT网络地址转换详情的详细内容,更多关于NAT网络地址转换的资料请关注脚本之家其它相关文章!,希望大家以后多多支持脚本之家!

相关文章

  • .Net执行SQL存储过程之易用轻量工具详解

    .Net执行SQL存储过程之易用轻量工具详解

    这篇文章主要为大家介绍了.Net执行SQL存储过程之易用轻量工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • ASP.NET Core使用功能开关控制路由访问操作(续)

    ASP.NET Core使用功能开关控制路由访问操作(续)

    这篇文章主要介绍了ASP.NET Core使用功能开关控制路由访问操作的(续),上一篇文章我们已经介绍过一部份该相关内容,​​在本文,我们可以判断当前路由地址是否为调试地址,让评估返回真,需要的小伙伴可以参考一下
    2022-02-02
  • C#与.net高级编程 C#的多态介绍

    C#与.net高级编程 C#的多态介绍

    封装、继承、多态,面向对象的三大特性,前两项理解相对容易,但要理解多态,特别是深入的了解,对于初学者而言可能就会有一定困难了
    2012-11-11
  • 为什么ASP.NET Core 数据库连接串的值和appsettings.json配的不一样?

    为什么ASP.NET Core 数据库连接串的值和appsettings.json配的不一样?

    这篇文章主要介绍了为什么数据库连接串的值和appsettings.json配的不一样?下面我们就带着疑问阅读下文,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-02-02
  • .Net Core HttpClient处理响应压缩详细

    .Net Core HttpClient处理响应压缩详细

    .Net Core作为后起之秀直接将HttpClient扶正,并且在此基础上改良了HttpClientFactory,接下来我们就来探究一下在.Net Core中使用HttpClient处理响应压缩的机制。,需要的朋友可以参考下面文章的具体内容
    2021-09-09
  • 使用Asp.net Mvc3 Razor视图方式扩展JQuery UI Widgets方法介绍

    使用Asp.net Mvc3 Razor视图方式扩展JQuery UI Widgets方法介绍

    jquery easyui grid或者extjs grid,jtable的代码非常简洁、对于grid功能要求不是很复杂的情况下,强烈推荐大家使用
    2012-11-11
  • 在 ASP.NET Core 中自动启用 CAP 事务详情

    在 ASP.NET Core 中自动启用 CAP 事务详情

    本篇文章旨在描述如何在 ASP.NET Core项目中并以一种简便的方式启用CAP事务,因为在我们的示例中都是直接演示比较直观的方式,没有进行封装,有些初学者同学不太会,找到问我如何封装,本篇文章主要基于 Entity Framework 来进行演示
    2021-10-10
  • C#中string与byte[]的转换帮助类-.NET教程,C#语言

    C#中string与byte[]的转换帮助类-.NET教程,C#语言

    在写c#程序时,string和byte[]之间的转换比较烦,在移植一些老程序时感觉很不好。我在c#中使用des和tripledes时移植一块老代码时也遇到了同样的情况。为了下次不为同样的事情烦恼,就写了下面的帮助类。
    2008-03-03
  • ASP.NET Core Web API 教程Project Configuration

    ASP.NET Core Web API 教程Project Configuration

    本文将介绍 Startup 类中的配置方法以及如何通过这些方法来设置应用程序。除此之外,还将介绍如何注册服务以及如何通过扩展方法来实现注册,需要的朋友可以参考下面文章内容
    2021-09-09
  • 认识ASP.NET配置文件Web.config

    认识ASP.NET配置文件Web.config

    Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中
    2006-07-07

最新评论