NAT 网络地址转换

全称:Network Address Translation

为什么需要NAT?

因为公网IP(IPv4)地址紧缺,内容地址通过NAT转换成一个公有地址去访问公网资源;

如下图展示:

私有地址列表

  • A类: 10.0.0.0/8
  • B类: 172.16.0.0/16
  • C类: 192.168.1.0/24
名词 解释
内部本地 转换之前内部原地址的名字
外部本地 转换之前目标主机的名字
内部全局 转换之后内部主机的名字
外部全局 转换之后外部目标主机的名字

NAT的三种类型

1、静态NAT

内部本地地址与内部全局地址进行一对一的明确转换。这种方法主要用在内部网络中有对外提供服务的服务器,如WEBMAIL服务器时。该方法的缺点是需要占独宝贵的合法IP地址。即如果某个合法IP地址已经被NAT静态地址转换定义,即使该地址当前没有被使用,也不能被用作其他的地址转换。

配置:

Router(config)#ip nat inside source static local-ip globl-ip

  • Establishes static translation between an inside local address and an inside global address

Router(config)#ip nat inside

  • Marks the interface as connected to the inside

Router(config)#ip nat outside

  • Marks the interface as connected to the outside

Router(config)#show ip nat translations

  • Displays active translations

案例:
如下图:

2、动态NAT

动态地址转换也是将内部本地地址与内部全局地址进行一对一的转换。但是是从内部全局地址池中动态的选择一个未使用的地址对内部本地地址进行转换。该地址是由未被使用的地址组成的地址池中在定义时排在最前面的一个当数据传输完毕后,路由器将把使用完的内部全局地址放回到地址池中,以供其他内部本地地址进行转换。但是在改地址被使用时,不能用改地址再进行一次转换。

配置:

Router(config)#ip nat poll name start-ip end-ip {netmask netmask | prefix-length prefix-length}

  • Defines a pool of global addresses to be allocated as needed

Router(config)#access-list access-list-number permit source [source-wildcard]

  • Defines a standard IP ACL permitting those inside local addresses that are to be translated

Router(config)#ip nat inside source list access-list-number pool name

  • Establishes dynameic source translation, specifying the ACL that was defined in the previous step

Router(config)#show ip nat translations

  • Displays active translations

案例:

3、端口复用(PAT)

  • 服用地址转换也称为端口地址转换(Port Address Translation, PAT),首先是一种动态地址转换,路由器将通过几率地址、应用程序端口等唯一标示一个转换。通过这种转换,可以使多个内部本地地址同时与同一个内部全局地址进行转换并对外部网络进行访问。很多只申请到少量IP地址甚至只有一个合法IP、地址,却京城有很多用户同时要求上午的情况,这转换方式非常有用;
  • 理想状态下,一个单一的IP地址可以使用的端口为4000个

配置:

Router(config)#access-list access-list-number permit source source-wildcard

  • Defines a standard IP ACL that will permit the inside local addresses that are to be translated

Router(config)#ip nat inside source list access-list-number interface interface overload

  • Establishes dynameic source translation, specifying the ACL that was defined in the previous step

Router(config)#show ip nat translations

  • Displays active translations

案例:

NAT试验

按照下图中的网络拓扑进行配置:

同样server和PC均使用路由来代替,需要一下配置:

no ip routing
ip default-gateway xxx.xxx.xxx.xxx

注:如果没有配置no ip routing,则默认网关的配置不生效;

下面进行配置:

Server配置:

R2>en
R2#conf t
R2(config)#hostname Server
Server(config)#int f 0/0
Server(config-if)#ip add 192.168.1.100 255.255.255.0
Server(config-if)#no sh
Server(config-if)#exit
Server(config)#no ip routing
Server(config)#ip default-gateway 192.168.1.254
Server(config)#line vty 0 4
Server(config-line)#pass
Server(config-line)#password sijiayong

服务器配置了vty,等下需要测试telnet连接;

PC配置:

R1>en
R1#conf t
R1(config)#hostname PC
PC(config)#int f 0/0
PC(config-if)#ip add 192.168.1.1 255.255.255.0
PC(config-if)#no sh
PC(config-if)#exit
PC(config)#no ip routing
PC(config)#ip default-gateway 192.168.1.254

路由配置:

R3>en
R3#conf t
Router(config)#hostname Gateway
Gateway(config)#int f 0/0
Gateway(config-if)#ip add 192.168.1.254 255.255.255.0
Gateway(config-if)#no sh
Gateway(config-if)#exit
Gateway(config)#int s 1/0
Gateway(config-if)#ip add 10.0.0.1 255.255.255.0
Gateway(config-if)#no sh
Gateway(config-if)#exit
Gateway(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.2
Gateway(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Gateway(config)#ip nat inside source list 1 interface s1/0 overload
Gateway(config)#int f 0/0
Gateway(config-if)#ip nat inside
Gateway(config-if)#int s 1/0
Gateway(config-if)#ip nat outside
Gateway(config-if)#end

模拟外网配置:

R4>en
R4#conf t
R4(config)#hostname Internet
Internet(config)#int s 0/0
Internet(config-if)#ip add 10.0.0.2 255.255.255.0
Internet(config-if)#no sh

这样配置,服务器和PC就都可以访问外网地址10.0.0.2

测试:

PC#ping 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/25/76 ms


Server#ping 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/15/40 ms

验证通过;

实验要求2:

要求公网能够通过10.0.0.3的公网地址,连接到服务器Server,也就是能够telnet连接到服务器;

这样只需要配置路由器,吧10.0.0.3映射到192.168.1.100地址上即可;
配置如下:

Gateway(config)#ip nat inside source static 192.168.1.100 10.0.0.3

这个映射的配置,就可以了,通过10.0.0.1的公网进行测试pingtelnet

Internet#ping 10.0.0.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/27/80 ms
Internet#telnet 10.0.0.3
Trying 10.0.0.3 ... Open
User Access Verification
Password:
Server>exit
[Connection to 10.0.0.3 closed by foreign host]

测试通过;

但同时发现有个危险,这种配置,是把Server服务器整个暴露在公网上,存在安全隐患;

常规工作中,一般只需要对公网暴露一个或者两个端口,一般都是Http80端口和SSH22端口,这样更能够保障服务器的安全;

本次以开放telnet23端口进行测试;
首先要删除掉当前的nat配置,然后在进行端口映射;
配置如下:

Gateway(config)#no ip nat inside source static 192.168.1.100 10.0.0.3
Gateway(config)#ip nat inside source static tcp 192.168.1.100 23 10.0.0.3 8080

这里对外暴露的是8080端口,映射到内网地址的192.168.1.10023端口上,下面进行telnet测试。

Internet#telnet 10.0.0.3 8080
Trying 10.0.0.3, 8080 ... Open
User Access Verification
Password:
Server>exit
[Connection to 10.0.0.3 closed by foreign host]

测试通过,至此,配置完成;

CCNA 之 十一 NAT 子网地址转换的更多相关文章

  1. NAT(地址转换技术)学习

    一.什么是NAT,NAT产生的背景 NAT通常部署在一个组织的网络出口位置,通过将内部网络IP地址替换为出口的IP地址提供公网可达性和上层协议的连接能力. NAT产生的背景是为了解决IPv4地址不足的 ...

  2. NAT地址转换原理全攻略

    NAT转换方式及原理 在NAT的应用中,可以仅需要转换内部地址(就是“内部本地址”转换成“内部全局地址”),这是最典型的应用,如内部网络用户通过NAT转换共享上网:也可以是仅需要转换外部地址(就是“外 ...

  3. 【转帖】NAT类型及转换原理深入剖析

    NAT类型及转换原理深入剖析 http://www.m6000.cn/other/459.html  2018年8月4日16:40:14发表评论 297 views 大家都知道.NAT是位于内.外网之 ...

  4. 清除路由器NAT地址转换

    首先当你的NAT网络地址转换成功搭建起来,并且测试过网络通信时,此时NAT地址转换表上面是存在转换信息的,你可以通过在特权模式下输入命令"show ip nat translation&qu ...

  5. 手把手系列:实现Nat地址转换

    1.实验目的: 掌握内网中的主机C1连接到Internet时,通过NAT实现私有全局地址转换.   2.实验拓扑: 3.实验步骤: 步骤一:给主机C1和C2配置IP地址.子网掩码和网关.如图: C1: ...

  6. iptables配置——NAT地址转换

    iptables nat 原理同filter表一样,nat表也有三条缺省的"链"(chains): PREROUTING:目的DNAT规则 把从外来的访问重定向到其他的机子上,比如 ...

  7. 网络防火墙和NAT地址转换

    网络防火墙 iptables/netfilter网络防火墙: (1) 充当网关 (2) 使用filter表的FORWARD链 注意的问题: (1) 请求-响应报文均会经由FORWARD链,要注意规则的 ...

  8. 云计算--网络原理与应用--20171123--网络地址转换NAT

    NAT的概述 NAT的配置 实验 一. NAT的概述 NAT(Network address translation,网络地址转换)通过将内部网络的的私有地址翻译成全球唯一的共有网络IP地址,是内部网 ...

  9. 神州数码NAT地址转换配置

    实验要求:熟练掌握NAT地址转换的配置方法 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip ad ...

随机推荐

  1. Java对象"后事处理"那点事儿——垃圾回收(一)

    1.Dead Or Alive 我们都知道对象死亡的时候需要进行垃圾回收来回收这些对象从而释放空间,那么什么样的对象算是死亡呢,有哪些方法可以找出内存中的死亡对象呢?一般来说,我们可以这样认为:如果内 ...

  2. scrapy爬取京东iPhone11评论(一)

    咨询行业中经常接触到文本类信息,无论是分词做词云图,还是整理编码分析用,都非常具有价值. 本文将记录使用scrapy框架爬取京东IPhone11评论的过程,由于一边学习一边实践,更新稍慢请见谅. 1. ...

  3. Java 导出数据库表信息生成Word文档

    一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...

  4. mysql 5.6.44 zip 安装教程(基于windows )

    首先我们从官网下载最新版本的mysql 5.6.44版本,网页地址: ,我的电脑是64位的版本,所以我选择的是64位版本,如果是32位,根据实际情况下载所需要的安装包.

  5. javaScipt类定义和实现

      最近在几个群上经常看到有人问在一个类里的一个 function 怎么调用 this. 定义后公开的方法.现发一篇类实现的随笔.首先说说类,在一个类里我们会有以下的几个特征:1. 公有方法2. 私有 ...

  6. 使用Typescript重构axios(二十七)——添加请求状态码合法性校验

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  7. Spring-Mybatis-SpringMVC三大框架整合

    我们直接切人正题,不多逼逼赖赖 第一步:依赖,一下的这些基本上是SSM整合的全部依赖 <!-- https://mvnrepository.com/artifact/org.springfram ...

  8. VMware下Centos7-Minimal上网配置

    1.Centos7下载 http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso 2.推荐 ...

  9. Python数据强制类型转换

    本文链接:https://www.cnblogs.com/zyuanlbj/p/11909992.html 常用转换函数 函数 作用 int(x) 将x转换成整数类型 float(x) 将 x 转换成 ...

  10. iOS核心动画高级技巧 - 3

    7. 隐式动画 隐式动画 按照我的意思去做,而不是我说的. -- 埃德娜,辛普森 我们在第一部分讨论了Core Animation除了动画之外可以做到的任何事情.但是动画是Core Animation ...