思科路由器NAT配置详解(转)

网络技术 2010-07-11 17:48:14 阅读104 评论0   字号: 订阅

思科路由器NAT配置详解

一、NAT简介:

NAT(Network Address Translation)网络地址转换。

最早出现在思科11.2 IOS中,定义在RFC1631和RFC3022中。

NAT最主要的作用是为了缓解IPv4地址空间的不足。

同时也带来了一些问题,如每个数据包到达路由器后都要进行包头的转换操作,所以增加了延迟;DNS区域传送,BOOTP/DHCP等协议不可穿越NAT路由器;

改动了源IP,失去了跟踪到端IP流量的能力,所以使责任不明确了。

但是利还是要大于弊的,不然也不会学习它了!最新的CCNA640-802学习指南中依然有专门的一章来讲解NAT,它的重要性可见一斑。

二、NAT术语:比较难理解,所以这里用最明了的语言总结如下 -

内部本地地址( inside local address ):局域网内部主机的地址,通常是RFC1918地址空间中的地址,称为私有地址。(待转换的地址)

内部全局地址(inside global address):内部本地地址被NAT路由器转换后的地址,通常是一个可路由的公网地址。

外部全局地址(outside global address):是与内部主机通信的目标主机的地址,通常是一个可路由的公网地址。

外部本地地址(outside local address):是目标主机可路由的公网地址被转换之后的地址,通常是RFC1918地址空间中的地址。

三、NAT配置详解:

静态NAT:将一个私有地址和一个公网地址一对一映射的配置方法,这种方式不能节省IP,通常只为需要向外网提供服务的内网服务器配置。

如图所示:

PC1地址:192.168.0.2/24

PC2地址:192.168.0.3/24

R1 E0/0地址:192.168.0.1/24

R1 S0/0地址:202.106.0.1/24

R2 S0/0地址:202.106.0.2/24

R2 E0/0地址:202.106.1.1/24

PC3地址:202.106.1.2/24

各接口地址按上面配置好之后,在R1和R2上配置路由(注意不要为192.168.0.0网络增加路由项,因为私有网络不可以出现在公网路由表中,不然也不叫私有地址了)

路由配置好之后在R1上可以ping通PC3,但是PC1只能ping到R1的S0/0,再向前就ping不通了。因为没有192.168.0.0网络的路由表项,所以被丢弃了!下面在R1上配置静态NAT让PC1可以和PC3通信。

Router(config)#int fa0/0

Router(config-if)#ip nat inside  //将该接口标记为内部接口

Router(config-if)#int s0 /0/0

Router(config-if)#ip nat outside //将该接口标记为外部接口

Router(config-if)#exit

Router(config)#ip nat inside source static 192.168.0.2 202.106.0.3 //将来自标记为内部接口的地址做为转换源,将 192.168.0.2一对一的转换成 202.106.0.3

2、动态NAT:现在PC1就可以和PC3通信了。但是PC2不能,因为R1并没有为PC2提供地址转换。当然我们可以在R1上像给PC1做静态转换一样也给PC2做一个,可如果我们有100台机器工作量就太大了。下面在R1上再继续配置:

Router(config)#access-list 10 permit 192.168.0.0 0.0.0.255  //定义标准访问控制列表10只允许定义的地址能够被转换

Router(config)#ip nat pool out 202.106.0.4 202.106.0.24 netmask 255.255.255.0  //定义名称为out的地址池。

Router(config)#ip nat inside source list 10 pool out //将访问控制列表定义的地址和地址池关联这样就有前21个内部主机能够得到公网地址。

现在PC2也可以和PC3通信了。这就是动态NAT,这种方式也不能节约IP地址。有一百台主机就要100个公网IP,不常用。

3、PAT(Port Address Translation)端口地址转换:用一个或多个公网IP为多个私有地址提供转换,能够节省大量IP地址,这种方式在现实网络环境中最常用。

Router(config)#ip nat inside source list 10 pool out  overload //只需要在动态NAT的基础上多出一个“overload”就可以让上面的21个公网地址反复使用。

如果我们只有一个公网地址且已经分配给了R1的S0/0口,可以使用下面的命令来对这仅有的一个公网地址反复利用或叫超载。

Router(config)#ip nat inside source list 10 interface serial 0 overload //就是在R1上不设置地址池,因为只有一个公网地址,而只对S0/0接口的地址超载。

注意:一条NAT转换条目要占用160字节内存,因此NAT的转换数目受路由器的内存限制。

4、配置端口映射:看配置就明白了

还是上面的图和IP,看下面的配置

Router(config)#int fa0/0

Router(config-if)#ip nat inside  //将该接口标记为内部接口

Router(config-if)#int s0

Router(config-if)#ip nat outside //将该接口标记为外部接口

Router(config-if)#exit

Router(config)#ip nat inside source static tcp 192.168.0.2 80 202.106.0.3 80 //将 192.168.0.2的80端口一对一的转换成 202.106.0.3的80端口,也就外网用户在浏览器里输入202.106.0.3时,会打开192.168.0.2上的WWW服务。这里公网地址也可以改成interface Serial1/0 80,如下:

Router(config)#ip nat inside source static tcp 192.168.0.3 21  interface Serial1/0 21 //如果只有一个公网地址还可以这样来转换。这样外网访问的不同服务就会定向到不同的内网服务器。

5、配置TCP负载平衡:还是上图IP也不变,假如PC1和PC2提供的是相同的WWW服务,为了实现负载平衡可以做如下配置:

Router(config)#ip nat pool www 192.168.0.2 192.168.0.3 netmask 255.255.255.0 type rotary //配置地址池www并设成旋转。

Router(config)#access-list 10 permit 202.106.0.3

Router(config)#ip nat inside destination list 10 pool www //这样当外网主机访问202.106.0.3的时候路由器会自动定向到192.168.0.2再有请求就定向到192.168.0.3如果地址池里还有别的地址会依次循环,实现负载平衡的目的。注意,地址有了,网络中还要有对应的主机存在,否则会使对方第一次连接失败。

转载于:https://www.cnblogs.com/mac_arthur/archive/2011/05/26/2057835.html

思科路由器NAT配置详解(转)相关推荐

  1. 思科网络设备及配置详解,网工入门必备指南!

    [欢迎关注微信公众号:厦门微思网络] 一.认识思科的网络设备 1.路由器 ①思科800系列路由器:为小型机构提供宽带接入.安全保证.无线接入,以集成多业务路由器系列为基础. ②思科2900系列路由器: ...

  2. 思科(Cisco)路由器策略路由配置详解

    策略路由是路由优化的常用方法.在做路由牵引时很多情况都要用到策略路由. 网络拓扑 R2的E1\E2口分别与R3的E1\E2口相连. 先配置好静态路由,使192.168.2.X与192.168.1.X互 ...

  3. DCN2800-4G路由器配置详解

    DCN2800-4G路由器配置详解 典型案例 排查思路: DCR-2800-4G设备外观如下图, SIM卡指示灯如箭头所指,指示灯的左边就插卡的卡槽. 客户第一次报修为4G卡槽故障,无法上网,后续维修 ...

  4. 使用LVS实现负载均衡原理及安装配置详解

    使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均 ...

  5. GRE配置详解和路由黑洞及检测机制

    GRE配置详解和路由黑洞及检测机制 基本路由配置先省略,直接上GRE配置: 合肥: int tunnel 0/0/1 //创建隧道 ip add 192.168.13.1 24 //给隧道口ip地址, ...

  6. keepalived介绍、安装及配置详解

    文章目录 keepalived简介 keeplived和LVS关系 VRRP工作原理 keepalived体系结构及工作原理 keepalived安装 keepalived配置详解 keepalive ...

  7. Tacacs-服务搭建与配置详解

    其他文章: Tacacs+协议原理 Tacacs+服务搭建与配置详解 Tacacs+各厂商交换机配置 Tacacs+协议交互报文抓包示例 简介 tac_plus是TACACS +守护程序.它为网络设备 ...

  8. Iptables防火墙配置详解

    iptables防火墙配置详解 iptables简介 iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表. (1)filter表负责过滤数 ...

  9. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

最新文章

  1. 为什么我从Python转战到Node.js
  2. 细数家庭安防五大乱象 何时能步入正轨
  3. Win11系统如何恢复隐藏文件
  4. 游戏开发之C++类和对象相关概念实例(C++)
  5. [置顶] Eclipse显示中文 在线安装教程
  6. 跨站脚本攻击原理、攻击过程及防御方法简介
  7. Godaddy Web Hosting http 重定向至 https协议
  8. PHP合并两张(多张)图片
  9. bps是什么单位?是什么意思
  10. Android中画布连线的连线动画的实现
  11. 转载:Android (争取做到)最全的底部导航栏实现方法
  12. DB2 Merge 语句的使用
  13. C语言编程>第十三周 ⑧ 已知学生的记录由学号和学习成绩组成,M名学生的数据已存入stu结构体数组中。请编写函数fun,该函数的功能是:
  14. 利用 Travis CI 把 Android 项目部署到 github
  15. python sdk是什么意思_sdk啥意思
  16. 四种代码洁癖类型,程序员看了直呼内行
  17. 对对碰-第11届蓝桥杯Scratch省赛真题第6题
  18. 自学笔记十四:Matlab浮点型:创建和转换、取值范围、运算和精度问题
  19. 天正T20 V7.0系列软件下载
  20. php gearman 定时任务,php使用gearman进行任务分发操作实例详解

热门文章

  1. TowlHub,它不是一个简单的纸巾架
  2. Python的可变类型与不可变类型
  3. 【java设计模式】迭代子模式
  4. 数据结构实验:哈希表
  5. Mysql,ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
  6. C# NameValueCollection集合 (转)
  7. 使用mysql备份工具innobackupex进行本地数据备份、恢复操作实例
  8. 第一份正式工作-华为外包。
  9. 玻璃体浑浊的分子原理
  10. ETL的数据同步工具调研(持续更新中)