实验17:NAT
实验14-1:静态NAT 配置
Ø 实验目的
通过本实验可以掌握
(1)静态NAT 的特征
(2)静态NAT 基本配置和调试
Ø 拓扑结构

实验步骤
n 步骤1:配置路由器R1 提供NAT 服务
R1(config)#ip nat inside source static 192.168.1.1 202.96.1.3
R1(config)#ip nat inside source static 192.168.1.2 202.96.1.4
//配置静态NAT 映射
R1(config)#interface f0/0
R1(config)#ip add 192.168.1.254 255.255.255.0
R1(config-if)#no sh
R1(config-if)#ip nat inside
//配置NAT 内部接口
R1(config)#interface s1/0
R1(config-if)#ip add 202.96.1.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#ip nat outside
//配置NAT 外部接口
R1(config)#router rip
R1(config-router)#version 2
R1(config-router)#no auto-summary
R1(config-router)#network 202.96.1.0
n 步骤2:配置路由器R2
Router(config)#host R2
R2(config)#int s1/0
R2(config-if)#ip add 202.96.1.2 255.255.255.0
R2(config-if)#int lo0
R2(config-if)#ip add 2.2.2.2 255.255.255.0
R2(config)#router rip
R2(config-router)#version 2
R2(config-router)#no auto-summary
R2(config-router)#network 202.96.1.0
R2(config-router)#network 2.0.0.0
Ø 实验调试
n debug ip nat
该命令可以查看地址翻译的过程。
在PC1 和PC2 上Ping 2.2.2.2(路由器R2 的环回接口),此时应该是通的,路由器R1的输出信息如下:
PC1#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/52/104 ms
PC2#ping 2.2.2.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 36/69/112 ms
R1#debug ip nat
*Mar 1 00:14:24.799: NAT*: s=192.168.1.1->202.96.1.3, d=2.2.2.2 [0]
*Mar 1 00:14:24.835: NAT*: s=2.2.2.2, d=202.96.1.3->192.168.1.1 [0]
*Mar 1 00:14:24.887: NAT*: s=192.168.1.1->202.96.1.3, d=2.2.2.2 [1]
*Mar 1 00:14:24.947: NAT*: s=2.2.2.2, d=202.96.1.3->192.168.1.1 [1]
………………….
*Mar 1 00:15:19.239: NAT*: s=192.168.1.2->202.96.1.4, d=2.2.2.2 [0]
*Mar 1 00:15:19.267: NAT*: s=2.2.2.2, d=202.96.1.4->192.168.1.2 [0]
*Mar 1 00:15:19.299: NAT*: s=192.168.1.2->202.96.1.4, d=2.2.2.2 [1]
*Mar 1 00:15:19.311: NAT*: s=2.2.2.2, d=202.96.1.4->192.168.1.2 [1]
以上输出表明了NAT 的转换过程。首先把私有地址“192.168.1.1”和“192.168.1.2”
分别转换成公网地址“202.96.1.3”和“202.96.1.4”访问地址“2.2.2.2”,然后回来的时候把公网地址“202.96.1.3”和 “202.96.1.4”分别转换成私有地址“192.168.1.1”和“192.168.1.2”。
n show ip nat translations
该命令用来查看NAT 表,静态映射时,NAT 表一直存在
R1#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 202.96.1.3 192.168.1.1 --- ---
--- 202.96.1.4 192.168.1.2 --- ---
以上输出表明了内部全局地址和内部局部地址的对应关系。
【术语】
① 内部局部(inside local)地址:在内部网络使用的地址,往往是RFC1918 地址;
② 内部全局(inside global)地址:用来代替一个或多个本地IP 地址的、对外的、
向NIC 注册过的地址;
③ 外部局部(outside local)地址:一个外部主机相对于内部网络所用的IP 地址。
不一定是合法的地址;
④ 外部全局(outside global)地址:外部网络主机的合法IP 地址。
实验14-2:动态NAT
Ø 实验目的
通过本实验可以掌握:
(1)动态NAT 的特征
(2)动态NAT 配置和调试
Ø 拓扑结构

实验步骤
n 步骤1 : 实验前先删除实验13-1的静态NAT的配置
R1(config)#no ip nat inside source static 192.168.1.1 202.96.1.3
R1(config)#no ip nat inside source static 192.168.1.2 202.96.1.4
n 步骤2:配置路由器R1 提供NAT 服务
R1(config)#ip nat pool NAT 202.96.1.3 202.96.1.100 netmask 255.255.255.0 //配置动态NAT 转换的地址池
R1(config)#ip nat inside source list 1 pool NAT
//配置动态NAT 映射
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
//允许动态NAT 转换的内部地址范围
R1(config)#interface f0/0
R1(config-if)#ip nat inside
R1(config-if)#interface s1/0
R1(config-if)#ip nat outside
Ø 实验调试
在PC1 上ping 2.2.2.2(路由器R2 的环回接口),在PC2 上分别telnet 2.2.2.2(路由器R2 的环回接口),调试结果如下:
n debug ip nat
R1#debug ip nat
*Mar 1 00:31:18.327: NAT*: s=192.168.1.1->202.96.1.4, d=2.2.2.2 [10]
*Mar 1 00:31:18.383: NAT*: s=2.2.2.2, d=202.96.1.4->192.168.1.1 [10]
……………………….
*Mar 1 00:31:28.215: NAT*: s=192.168.1.2->202.96.1.3, d=2.2.2.2 [49342]
*Mar 1 00:31:28.307: NAT*: s=2.2.2.2, d=202.96.1.3->192.168.1.2 [17311]
【提示】
如果动态NAT 地址池中没有足够的地址作动态映射,则会出现类似下面的信息,提示NAT 转换失败,并丢弃数据包。
*Feb 22 09:02:59.075: NAT: translation failed (A), dropping packet s=192.168.1.2 d=2.2.2.2
n show ip nat translations
R1#show ip nat tran
Pro Inside global Inside local Outside local Outside global
icmp 202.96.1.5:3 192.168.1.1:3 2.2.2.2:3 2.2.2.2:3
--- 202.96.1.5 192.168.1.1 --- ---
tcp 202.96.1.3:62479 192.168.1.2:62479 2.2.2.2:23 2.2.2.2:23
--- 202.96.1.3 192.168.1.2 --- ---
以上信息表明当PC1 和PC2 第一次访问“2.2.2.2”地址的时候,NAT 路由器R1 为主机PC1 和PC2 动态分配两个全局地址“202.96.1.5”和“202.96.1.3,在NAT 表表中生成两条动态映射的记录,同时会在NAT 表中生成和应用向对应的协议和端口号的记录(过期时间为60 秒)。在动态映射没有过期(过期时间为86400 秒)之前,再有应用从相同主机发起时,NAT 路由器直接查NAT表,然后为应用分配相应的端口号。
n show ip nat statistics
该命令用来查看NAT 转换的统计信
R1#show ip nat statistics
Total active translations: 2 (0 static, 2 dynamic; 0 extended)
//有2个转换是动态转化,
Outside interfaces:
Serial1/0 //NAT 外部接口
Inside interfaces:
FastEthernet0/0
Hits: 107 Misses: 10 //NAT 内部接口
CEF Translated packets: 117, CEF Punted packets: 0
Expired translations: 8 //NAT 表中过期的转换
Dynamic mappings: //动态映射
-- Inside Source
[Id: 1] access-list 1 pool nat refcount 2
pool nat: netmask 255.255.255.0 //地址池名字和掩码
start 202.96.1.3 end 202.96.1.100 //地址池范围
type generic, total addresses 98, allocated 2 (2%), misses 0
//共98 个地址,分出去2 个
Queued Packets: 0
实验14-3: PAT 配置
实验目的
通过本实验可以掌握:
(1)PAT 的特征
(2)overload 的使用
(3)PAT 配置和调试
Ø 拓扑结构

实验步骤
n 步骤1 : 实验前先删除实验13-2的动态NAT的配置
R1(config)#no ip nat inside source list 1 pool NAT
n 步骤2 : 配置路由器R1 提供NAT 服务
R1(config)#ip nat pool NAT 202.96.1.3 202.96.1.100 netmask 255.255.255.0
R1(config)#ip nat inside source list 1 pool NAT overload //配置PAT
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R1(config)#interface f0/0
R1(config-if)#ip nat inside
R1(config-if)#interface s1/0
R1(config-if)#ip nat outside
Ø 实验调试
在PC1 上ping 2.2.2.2(路由器R2 的环回接口),在PC2 上分别telnet 2.2.2.2(路由器R2 的环回接口),调试结果如下:
n debug ip nat
R1#debug ip nat
*Mar 1 00:54:32.479: NAT*: s=192.168.1.1->202.96.1.3, d=2.2.2.2 [20]
*Mar 1 00:54:32.551: NAT*: s=2.2.2.2, d=202.96.1.3->192.168.1.1 [20]
……………………
*Mar 1 00:54:42.451: NAT*: s=192.168.1.2->202.96.1.3, d=2.2.2.2 [19447]
*Mar 1 00:54:42.579: NAT*: s=2.2.2.2, d=202.96.1.3->192.168.1.2 [12582]
n show ip nat translations
R1#show ip nat tran
Pro Inside global Inside local Outside local Outside global
icmp 202.96.1.3:5 192.168.1.1:5 2.2.2.2:5 2.2.2.2:5
tcp 202.96.1.3:27119 192.168.1.2:27119 2.2.2.2:23 2.2.2.2:23
以上输出表明进行PAT 转换使用的是同一个IP 地址的不同端口号。
n show ip nat statistics
R1#show ip nat statistics
Total active translations: 0 (0 static, 0 dynamic; 0 extended)
Outside interfaces:
Serial1/0
Inside interfaces:
FastEthernet0/0
Hits: 155 Misses: 14
CEF Translated packets: 169, CEF Punted packets: 0
Expired translations: 12
Dynamic mappings:
-- Inside Source
[Id: 2] access-list 1 pool nat refcount 0
pool nat: netmask 255.255.255.0
start 202.96.1.3 end 202.96.1.100
type generic, total addresses 98, allocated 0 (0%), misses 0
Queued Packets: 0
【提示】
动态NAT 的过期时间是86400 秒,PAT 的过期时间是60 秒,通过命令“show ip nat translations verbose”可以查看。也可以通过下面的命令来修改超时时间:
R1(config)#ip nat translation timeout timeout
//参数timeout 的范围是0-2147483。
如果主机的数量不是很多, 可以直接使用outside 接口地址配置PAT,不必定义地址池,命令如下:
R1(config)#ip nat inside source list 1 interface s1/0 overload
实验17:NAT的更多相关文章
- CCNA实验(7) -- NAT
1.静态NAT2.动态NAT3.复用内部全局地址的NAT(PAT) enableconf tno ip do loenable pass ciscoline con 0logg syncexec-t ...
- CCNP交换实验(7) -- NAT
1.静态NAT2.动态NAT3.复用内部全局地址的NAT(PAT) enableconf tno ip do loenable pass ciscoline con 0logg syncexec-t ...
- 【Python】【demo实验17】【练习实例】【将一个正整数分解质因数】
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 我的源代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 ...
- CCNA CCNP CCIE所有实验名称完整版
实验1:通过Console端口访问Cisco路由器 实验2:通过Telnet访问Cisco路由器 实验3:配置终端服务器 实验4:通过浏览器访问路由器 实验5:模式切换.上下文帮助及查看有关信 ...
- 网络防火墙和NAT地址转换
网络防火墙 iptables/netfilter网络防火墙: (1) 充当网关 (2) 使用filter表的FORWARD链 注意的问题: (1) 请求-响应报文均会经由FORWARD链,要注意规则的 ...
- VMware上实现LVS负载均衡(NAT)
本文LVS的实现方式採用NAT模式.关于NAT的拓扑图请參照我的上一篇文章.本文纯粹实验.NAT在生产环境中不推荐使用.原因是Load Balancereasy成为瓶颈! 1.VMware9上安装Ce ...
- 负载均衡 Lvs nat 模式笔记
nat技术(网络地址转换) 缺点就是进入和返回都通过调度器的服务器,未来可能会成为瓶颈 实验:nat 模式 先在调度器安装ipvsadm 后再添加网卡,后面就连不上网了(yum -y install ...
- Spring(一)--作用、IOC容器细节、搭配环境、Spring实验
1.Spring作用: 1.生态体系庞大,全能型选手![springmvc是其一个子模块,jdbcTemplate能直接操作数据库!] 2.将其他组件粘合在一起 比如将S ...
- 云计算--网络原理与应用--20171123--网络地址转换NAT
NAT的概述 NAT的配置 实验 一. NAT的概述 NAT(Network address translation,网络地址转换)通过将内部网络的的私有地址翻译成全球唯一的共有网络IP地址,是内部网 ...
随机推荐
- 第 426 期 Python 周刊
文章,教程和讲座 端到端机器学习:从数据收集到模型部署 链接: https://ahmedbesbes.com/end-to-end-ml.html 在本文中,我们将完成构建和部署机器学习应用程序的必 ...
- Spring应用事件(Application Event)
Spring的事件为Bean与Bean的消息通信提供的支持.当一个Bean处理完了一个任务以后,希望另一个Bean知道并能做出相应的处理,这是我们就需要让另一个Bean监听当前Bean所发送的事件. ...
- 使用sqlmap中的tamper脚本绕过waf
使用sqlmap中tamper脚本绕过waf 脚本名:0x2char.py 作用:用UTF-8全角对应字符替换撇号字符 作用:用等价的CONCAT(CHAR(),...)对应替换每个(MySQL)0x ...
- 【转】小波与小波包、小波包分解与信号重构、小波包能量特征提取 暨 小波包分解后实现按频率大小分布重新排列(Matlab 程序详解)
转:https://blog.csdn.net/cqfdcw/article/details/84995904 小波与小波包.小波包分解与信号重构.小波包能量特征提取 (Matlab 程序详解) ...
- 记录这两年是如何一步一步转型到.net core+k8s
2017年12月份,我离开北京,回到了武汉,开始在现在这家公司担任架构师工作.经过2年的时间,逐步完成以.net core+k8s为核心的技术架构.文末有彩蛋. 以下整理这两年的主要时间节点: 201 ...
- 深入理解vue的watch
深入理解vue的watch vue中的wactch可以监听到data的变化,执行定义的回调,在某些场景是很有用的,本文将深入源码揭开watch额面纱 前言 watch的使用 watch的多种使用方式 ...
- Linux之shell编程的基本使用
1.Shell shell是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的系统级程序 2.shell编程打印hello world 2.1 代码部分 #!/bin/ba ...
- gcd竞赛模板
int gcd(int a,int b) { ) return a; return gcd(b,a%b); }
- php获取本年、本月、本周时间戳和日期格式
时间戳格式: //获取今日开始时间戳和结束时间戳 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y')); $endToday=mktime(0 ...
- python 线程条件
条件.事件.信号量本质上都是锁,不常用 """ 常用方法: obj,acquire() Obj.release() obj.wait(),创建是阻塞状态,等待obj.no ...