NAT:园区网内的PC是私有地址,整个园区网共享一个公有IP,如果园区网内的PC不做NAT,那么在发数据包给外网的时候会出现传输问题
  NAT的原理:改变IP包头,使目的地址、源地址或两个地址在包头中被不同地址替换

  NAT配置步骤

  1、接口IP地址配置

  2、使用访问控制列表定义哪些内部主机能做NAT

  3、决定采用什么公有地址,静态或地址池

  4、指定地址转换映射

  5、在内部和外部端口上启用NAT

  

  内部本地地址(InsideLocal ):内部网络主机使用的IP地址

  内部全局地址(InsideGlobal ):内部网络使用的公有IP地址

  外部全局地址(OutsideGlobal):外部网络主机使用的IP地址

  静态NAT:将内部主机IP一对一的翻译成外部地址。
  这种方法主要用在内部网络中有对外提供服务的服务器,如WEB、MAIL服务器时。该方法的缺点是需要独占宝贵的合法IP地址。即,如果某个合法IP地址已经被NAT静态地址转换定义,即使该地址当前没有被使用,也不能被用作其它的地址转换。

  

  

  

  在内部主机连接到外部网络,当数据包到达NAT路由器时,路由器检查静态NAT表,然后将数据包的内部本部IP(源地址)更换成内部全局地址,再转发出去。外部主机接收到数据包后,用内部全局地址来响应,NAT接受到外部回来的数据包,再根据NAT表把地址翻译成内部本部IP。

  配置静态NAT转换

Router(config)# ip nat inside source static local-ip global-ip    //配置静态转换
Router(config-if)# ip nat inside //进入接口,进口
Router(config-if)# ip nat outside //进入接口,出口

   
  此例中:

  InsideLocal:10.1.1.1

  InsideGlobal:20.1.1.222

  OutsideGlobal:20.1.1.2

  R1负责NAT转换,R0模拟为内网主机,R2为外网节点。要求通过静态NAT实现10.1.1.1到20.1.1.2(外网)的访问。

  R1配置:
(config)#ip nat inside source static 10.1.1.1 20.1.1.222     //将10.1.1.1 映射为公网地址 20.1.1.222来访问外网

(config)#interface GigabitEthernet0/0
(config-if)#ip address 10.1.1.2 255.255.255.0
(config-if)#ip nat inside
(config)#interface GigabitEthernet0/1
(config-if)#ip address 20.1.1.1 255.255.255.0
(config-if)#ip nat outside (config)#ip route 0.0.0.0 0.0.0.0 GigabitEthernet0/1 //实现路由
  R0配置:
(config)#no ip routing
(config)#interface GigaitEthernet0/0
(config-if)#ip address 10.1.1.1 255.255.255.0
(config-if)#ip default-gateway 10.1.1.2

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

  

  

  缺点:地址池内公网地址被耗尽后,余下的内网主机将无法被翻译,不能访问外网

  配置动态NAT转换

Router(config)# ip nat pool name start-ip end-ip netmask //定义可转换的内部全局地址池
Router(config)# access-list access-list-number permit source [source-wildcard] //定义内部本地地址段+通配符掩码
Router(config)# ip nat inside source list access-list-number pool name //转换命令
Router(config-if)# ip nat inside //进入接口,进口
Router(config-if)# ip nat outside //进入接口,出口

   
  R0配置:

(config)#access-list 1 permit 10.1.1.0 0.0.0.255     //定义10.1.1.0/24网段,即内网网段
(config)#ip nat pool test 220.150.123.50 220.150.123.60 netmask 255.255.255.0 //定义一个名为test的NAT地址池
(config)#ip nat inside source list 1 pool test //指定动态地址转换,由访问列表1定义的地址范围内的内网地址进行地址转换,转换后的地址是名为test的地址池中的公网IP地址 (config)#interface GigabitEthernet0/0
(config-if)#ip address 10.1.1.1 255.255.255.0
(config-if)#ip nat inside
(config)#interface GigabitEthernet0/1
(config-if)#ip address 220.150.123.23 255.255.255.0
(config-if)#ip nat outside

  动态建立的映射的生存周期缺省为24小时

(config)#ip nattranslation timeout 60    //通过适当设置超时时间,可及时清除空闲连接,提供给有需要的内网主机

  端口地址转换:PAT(端口多路复用"Overloading")
  首先是一种动态地址转换。路由器将通过记录地址、应用程序端口等唯一标识进行转换。通过这种转换,可以使多个内部本地地址同时使用一个内部全局地址进行转换(路由器复用同样的内部全局IP地址)。国内一般都采用这种方式

  理想状况下,一个单一的IP地址可以使用的端口数为4000个

  

  

  配置PAT地址转换(Overloading)

Router(config)# access-list access-list-number permit source [source-wildcard]        //允许转换的内部本地地址段+通配符掩码
Router(config)# ip nat inside source list access-list-number interface interface overload //建立转换,指定出接口
Router(config-if)# ip nat inside //进入接口,进口
Router(config-if)# ip nat outside //进入接口,出口

   
  方法一:直接使用接口地址

  R0配置:

(config)#access-list 1 permit 10.1.1.0 0.0.0.255     //定义10.1.1.0/24网段,即内网网段
(config)#ip nat inside source list 1 interface gigabitEthernet 0/1 overload //关键字overload,启用地址复用功能。由访问列表1定义的地址范围内的内网IP地址将被地址转换,转换后的地址是接口G0/1的IP地址,方式为动态转换. (config)#interface GigabitEthernet0/0
(config-if)#ip address 10.1.1.1 255.255.255.0
(config-if)#ip nat inside
(config)#interface GigabitEthernet0/1
(config-if)#ip address 220.150.123.23 255.255.255.0
(config-if)#ip nat outside

  方法二:使用InsideGlobal地址
  R0配置

(config)#access-list 1 permit 10.1.1.0 0.0.0.255
(config)#ip nat pool test 220.150.123.25 220.150.123.25 netmask 255.255.255.0 //定义一个名为test的NAT地址池,开始和结束地址均为220.150.123.25 (InsideGlobal地址)
(config)#ip nat inside source list 1 pool test overload //启用地址复用功能。由访问列表1定义的地址范围内的内网IP地址将被地址转换,转换后的地址是名为test的NAT地址池中的IP地址,方式为动态转换. (config)#interface GigabitEthernet0/0
(config-if)#ip address 10.1.1.1 255.255.255.0
(config-if)#ip nat inside
(config)#interface GigabitEthernet0/1
(config-if)#ip address 220.150.123.23 255.255.255.0
(config-if)#ip nat outside

  验证NAT:

show ip nat translations   //查看生效的NAT设置
show ip nat statistics   //查看NAT统计信息
debug ip nat  //用于排错

  清除NAT 转换表项:

Router# clear ip nat translation  //清除全部动态地址转换条目
Router# clear ip nat translation inside local-ip global-ip //清除包含内部转换的简单转换条目
Router# clear ip nat translation outside local-ip global-ip //清除包含外部转换的简单转换条目

CCNA2.0笔记_NAT的更多相关文章

  1. CCNA2.0笔记_WAN技术-帧中继

    帧中继   -使用虚电路进行连接: -提供面向对象的服务 -帧中继 PVC 由 DLCI 标识,PVC 的状态通过 LMI 协议报告 Frame Relay NBMA连接引起的路由协议问题:  -水平 ...

  2. CCNA2.0笔记_WAN技术-专线

    WAN拓扑 Routers.CSU/DSU.WAN switches.Core routers.Modems 使用 数据链路层协议(二层) 来建立对端连接 WAN的三种连接方式 广域网链路类型: ·V ...

  3. CCNA2.0笔记_ACL

    要点: 1.按顺序执行,一旦某条语句匹配,后续语句不再处理. 2.默认ACL 结尾语句是deny any,所以你要记住的是在ACL 里至少要有1 条permit 语句. 3.记得创建了ACL 后要把它 ...

  4. CCNA2.0笔记_OSPF v3

    OSPF v3 是可以在ipv6上实现路由的一种路由协议 OSPF v2(for IPv4),OSPF v3(for IPv6)在一台路由器中互相独立运行 OSPF v3与v2有很多类似的功能: - ...

  5. CCNA2.0笔记_OSPF v2

    OSPF(开放最短路径优先)协议概述: - 链路状态路由协议 - 无类路由协议 - 要点:RouterID.区域ID - 触发更新 .以传播 LSA 代替路由表更新 - 快速响应变更(比距离矢量路由协 ...

  6. CCNA2.0笔记_ipv6的EIGRP

    IPv6的eigrp特征: 邻居发现 增量更新 快速收敛 负载均衡 三个表 -邻居表 -拓扑表 -路由表 配置ipv6的eigrp Router(config)#ipv6 unicast-routin ...

  7. CCNA2.0笔记_EIGRP

    EIGRP特征: •高级距离矢量路由协议 •快速收敛——路由条目不过期,拥有备份路由 •负载均衡 •无类路由 -支持 VLSM 和不连续子网,可关闭自动汇总(建议关闭) •占用带宽小 -触发更新(当拓 ...

  8. CCNA2.0笔记_动态路由

    动态路由协议: 向其他路由器传递路由信息 接收(学习)其他路由器的路由信息 根据收到的路由信息计算出到每个目的网络的最优路径,并由此生成并维护路由表 根据网络拓朴变化及时调整路由表,同时向其他路由器宣 ...

  9. CCNA2.0笔记_路由相关

    路由器的工作内容 -路由器知道目标地址 -发现到达目标地址的可能的路由 -选择最佳路径(路由表) -维护路由信息 路由的来源 直连路由:直接连到路由器上的网络 -初始化情况下,路由器所知的网络,只有其 ...

随机推荐

  1. Linux下的基础命令

    在容器环境中很多时候要确定底层操作系统是什么和什么版本,网上找了一把,发现了一些比较有用的命令,从其他地方转过来,参考 # uname -a # 查看内核/操作系统/CPU信息 # head -n / ...

  2. Shadow Map 原理和改进 【转】

    http://blog.csdn.net/ronintao/article/details/51649664 参考 1.Common Techniques to Improve Shadow Dept ...

  3. [Python爬虫] 之十五:Selenium +phantomjs根据微信公众号抓取微信文章

    借助搜索微信搜索引擎进行抓取 抓取过程 1.首先在搜狗的微信搜索页面测试一下,这样能够让我们的思路更加清晰 在搜索引擎上使用微信公众号英文名进行“搜公众号”操作(因为公众号英文名是公众号唯一的,而中文 ...

  4. java线程总结(3/5)

    一.线程同步和死锁问题 异步问题: package com.horizon.action; /** * 测试同步问题 * */ public class TestSync { public stati ...

  5. LeetCode Add Binary |My Solution

    Given two binary strings, return their sum (also a binary string). For example, a = "11" b ...

  6. android带有文字的图片按钮的两种实现方式

    android带有文字的图片按钮的两种实现方式 1). TextView对Button用相对布局,这要要求按钮的背景图片要留下空白位置给文字.这种方式开发比较简单,适合做一些风格一致的Button. ...

  7. iOS多线程之NSOperation和NSOperationQueue的使用

    一:NSOperation 两个子类+重写main方法 NSInvocationOperation NSBlockOperation 有个类方法 BlockOprationWith: 还有就是自己个子 ...

  8. Firefly 性能测试 通报

    http://bbs.gameres.com/forum.php?mod=viewthread&tid=220516 Firefly 性能测试 主要考虑点 网络IO的并发 进程间通信压力 数据 ...

  9. vue 不能监测数组长度变化length的原因

    由于 JavaScript 的限制,Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue 当你修改数组的长度时,例如: ...

  10. 2、jQuery选择器

    2.1 基本选择器 它有元素Id.Class.元素名.多个选择符组成,通过基本选择器可以实现大多数页面元素的查找. 选择器 功能 返回值 #id 根据给定的ID匹配一个元素 单个元素 element ...