NAT网络地址转换详情

 更新时间:2021年9月22日 09:58  点击:1518

网络地址转换

一、概述

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网络地址转换的资料请关注猪先飞其它相关文章!,希望大家以后多多支持猪先飞!

[!--infotagslink--]

相关文章

  • c#获取本机的IP地址的代码

    c#获取本机的IP地址的代码,需要的朋友可以参考一下...2020-06-25
  • 浅谈关于如何检测iOS14本地网络权限的一些思路

    这篇文章主要介绍了浅谈关于如何检测iOS14本地网络权限的一些思路,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • C#实现启用与禁用本地网络的方式小结【3种方式】

    这篇文章主要介绍了C#实现启用与禁用本地网络的方式,结合实例形式总结分析了使用Hnetcfg.dll、Shell32.dll及setupapi.dll三种启用与禁用本地网络的操作方法,需要的朋友可以参考下...2020-06-25
  • 微信小程序实现选择地址省市区三级联动

    这篇文章主要为大家详细介绍了微信小程序实现选择地址省市区三级联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-21
  • A789如何连接无线网络上网

    A789使用过程中,一般有两种途径满足上网的需求,一是通过手机卡上网,一是通过周边存在的无线网络上网。不论上网的速度、还是从需求的费用看,通过无线网络上网都具有绝对的...2016-09-20
  • C#实现获取MAC地址的方法

    这篇文章主要介绍了C#实现获取MAC地址的方法,很实用的功能,需要的朋友可以参考下...2020-06-25
  • 坚果R2手机配置如何 坚果R2支不支持5g网络

    坚果R2手机配置如何?这款手机还是延续了锤子手机的外观特征,设计大气方方块块,那么,这款坚果R2手机是否支持5g呢?下面就随着小编一起来看看吧...2020-12-08
  • Microsoft Expression Web 简体中文正式版 官方下载地址

    Microsoft Expression Web 简体中文正式版相对于早期的 Microsoft Expression Web Designer CTP1(英文)除了它是正式的中文版外,有进步的地方1.对标签的id名称加上了css的代...2020-06-25
  • pytorch动态网络以及权重共享实例

    今天小编就为大家分享一篇pytorch动态网络以及权重共享实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-29
  • PHP JS Ip地址及域名格式检测代码

    PHP IP地址格式检测函数复制代码 代码如下:function checkIp($ip){ $ip = str_replace(" ", "", $ip); $ip = strtolower($ip); $ip= str_replace("http://", "", $ip); $ip= str_replace("https://", ""...2013-10-04
  • C#获取路由器外网IP,MAC地址的实现代码

    这篇文章主要介绍了C#获取路由器外网IP,MAC地址的实现代码,需要的朋友可以参考下...2020-06-25
  • php判断邮箱地址是否存在的方法

    这篇文章主要介绍了php判断邮箱地址是否存在的方法,php判断邮箱地址是否存在的方法有两种,感兴趣的朋友可以参考一下...2016-02-18
  • Python深度学习pytorch神经网络块的网络之VGG

    虽然AlexNet证明深层神经网络卓有成效,但它没有提供一个通用的模板来指导后续的研究人员设计新的网络。下面,我们将介绍一些常用于设计深层神经网络的启发式概念...2021-10-11
  • C# URL短地址压缩算法及短网址原理解析

    这篇文章主要介绍了C# URL短地址压缩算法及短网址原理解析,本文重点给出了算法代码,需要的朋友可以参考下...2020-06-25
  • 解决使用了nginx获取IP地址都是127.0.0.1 的问题

    这篇文章主要介绍了解决使用了nginx获取IP地址都是127.0.0.1 的问题,获取i工具的完整代码文中给大家提到,具体实例代码跟随小编一起看看吧...2021-09-18
  • php获取当前url地址的方法介绍

    这篇文章介绍了php获取当前url地址的方法小结,有兴趣的同学可以参考一下 本文实例讲述了php获取当前url地址的方法。分享给大家供大家参考,具体如下: js 获取: ...2017-01-22
  • 整理的7款常用的开源免费的Android UI组件及官方下载地址

    Android开发技术日趋成熟,开源社区也涌现了很多开源UI项目,以下是笔者整理的7款Android开发者常用的Android UI组件及官方下载地址。 Android开发是目前最热门的移...2016-09-20
  • php中匹配邮箱地址正则表达式

    一篇php中匹配邮箱地址正则表达式实例,邮箱地址替换正则我常用的正则匹配表达式:/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\\.][a-z]{2,3}([\\....2016-11-25
  • php 获得用户的真实IP地址

    一个段经典的代码可以用来获取用户的真实IP地址,包括可以是内网或是外网,有需要的朋友可以参考一下。 代码如下 复制代码 /** * 获得用户的...2016-11-25
  • 获取当前页面的url地址php代码

    获取当前页面的url地址php代码,第一款是一款获取无参数URL第二款是获取完整URL函数哦,如果你正找url参数的代码哦。 代码如下 复制代码 <?php...2016-11-25