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. Pandas 计算工具介绍

    # 导入相关库 import numpy as np import pandas as pd 统计函数 最常见的计算工具莫过于一些统计函数了.首先构建一个包含了用户年龄与收入的 DataFrame i ...

  2. TCP/IP协议第一卷第一章

    1.链路层 链路层有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.它们一起处理与电缆(或其他任何传输媒介)的物理接口细节.把链路层地址和网络层地址联系起来 ...

  3. ES入门宝典(详细截图版)

    本文使用版本基于elasticsearch-6.4.0 1.什么是ES? 官网: https://www.elastic.co/products/elasticsearch  中文官网:https:/ ...

  4. 基于 H5 Canvas 实现楼宇自控系统

    前言 楼宇自控是指楼宇中电力设备,如电梯.水泵.风机.空调等,其主要工作性质是强电驱动.通常这些设备是开放性的工作状态,也就是说没有形成一个闭环回路.只要接通电源,设备就在工作,至于工作状态.进程.能 ...

  5. 易初大数据 spss 2019年10月31日 wangqingchao

    ---恢复内容开始--- 1.描述性统计分析方法是指应用分类.制表.图形及概括性数据指标来概括数据分析特征的方法. 2.而推断性统计分析方法则是通过随机抽样,应用统计方法把从样本数据得到的结论推广到总 ...

  6. php 5.5使用 array_column的方法

    <pre>php 5.5使用 array_column的方法</pre> <pre> public function array_column($input, $c ...

  7. springcloud微服务基于redis集群的单点登录

    springcloud微服务基于redis集群的单点登录 yls 2019-9-23 简介 本文介绍微服务架构中如何实现单点登录功能 创建三个服务: 操作redis集群的服务,用于多个服务之间共享数据 ...

  8. jenkins手把手教你从入门到放弃01-jenkins简介(详解)

    一.简介 jenkins是一个可扩展的持续集成引擎.持续集成,也就是通常所说的CI(Continues Integration),可以说是现代软件技术开发的基础.持续集成是一种软件开发实践, 即团队开 ...

  9. ubuntu18+uwsgi+nginx部署django项目

    更新系统软件源 sudo apt-get update pip3安装 sudo apt install python3-pip 安装virtualenvwrapper pip3 install vir ...

  10. 网络权重初始化方法总结(下):Lecun、Xavier与He Kaiming

    目录 权重初始化最佳实践 期望与方差的相关性质 全连接层方差分析 tanh下的初始化方法 Lecun 1998 Xavier 2010 ReLU/PReLU下的初始化方法 He 2015 for Re ...