您的当前位置:首页正文

路由器NAT功能配置简介

2022-04-17 来源:我们爱旅游


路由器NAT功能配置简介

随着internet的网络迅速发展,IP地址短缺已成为一个十分突出的问题。为了解决这个问题,出现了多种解决方案。 一、NAT简介

NAT(Network Address Translation)的功能,就是指在一个网络内部,根据需要可以随意自定义的IP地址,而不需要经过申请。在网络内部,各计算机间通过内部的IP地址进行通讯。而当内部的计算机要与外部internet网络进行通讯时,具有NAT功能的设备(比如:路由器)负责将其内部的IP地址转换为合法的IP地址(即经过申请的IP地址)进行通信。 二、NAT 的应用环境:

情况1:一个企业不想让外部网络用户知道自己的网络内部结构,可以通过NAT将内部网络与外部Internet 隔离开,则外部用户根本不知道通过NAT设置的内部IP地址。

情况2:一个企业申请的合法Internet IP地址很少,而内部网络用户很多。可以通过NAT功能实现多个用户同时公用一个合法IP与外部Internet 进行通信。 三、设置NAT所需路由器的硬件配置和软件配置:

设置NAT功能的路由器至少要有一个内部端口(Inside),一个外部端口(Outside)。内部端口连接的网络用户使用的是内部IP地址。

内部端口可以为任意一个路由器端口。外部端口连接的是外部的网络,如Internet 。外部端口可以为路由器上的任意端口。

设置NAT功能的路由器的IOS应支持NAT功能(本文事例所用路由器为Cisco2501,其IOS为11.2版本以上支持NAT功能)。 四、关于NAT的几个概念:

内部本地地址(Inside local address):分配给内部网络中的计算机的内部IP地址。 内部合法地址(Inside global address):对外进入IP通信时,代表一个或多个内部本地地址的合法IP地址。需要申请才可取得的IP地址。 五、NAT的设置方法:

NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。 1、静态地址转换适用的环境

静态地址转换将内部本地地址与内部合法地址进行一对一的转换,且需要指定和哪个合法地址进行转换。如果内部网络有E-mail服务器或FTP服务器等可以为外部用户提供的服务,这些服务器的IP地址必须采用静态地址转换,以便外部用户可以使用这些服务。 静态地址转换基本配置步骤: (1)、在内部本地地址与内部合法地址之间建立静态地址转换。在全局设置状态下输入: Ip nat inside source static 内部本地地址 内部合法地址 (2)、指定连接网络的内部端口 在端口设置状态下输入: ip nat inside (3)、指定连接外部网络的外部端口 在端口设置状态下输入: ip nat outside

注:可以根据实际需要定义多个内部端口及多个外部端口。 实例1:

本实例实现静态NAT地址转换功能。将2501的以太口作为内部端口,同步端口0作为外部端口。其中10.1.1.2,10.1.1.3,10.1.1.4的内部本地地址采用静态地址转换。其内部合法地

址分别对应为192.1.1.2,192.1.1.3,192.1.1.4。 ip nat inside source static 10.1.1.2 192.1.1.2 ip nat inside source static 10.1.1.3 192.1.1.3 ip nat inside source static 10.1.1.4 192.1.1.4 interface Ethernet0

ip address 10.1.1.1 255.255.255.0 ip nat inside interface Serial0

ip address 192.1.1.1 255.255.255.0 ip nat outside

ip route 0.0.0.0 0.0.0.0 Serial0

配置完成后可以用以下语句进行查看: show ip nat statistcs show ip nat translations

2、动态地址转换适用的环境:

动态地址转换也是将本地地址与内部合法地址一对一的转换,但是动态地址转换是从内部合法地址池中动态地选择一个末使用的地址对内部本地地址进行转换。 动态地址转换基本配置步骤: (1)、在全局设置模式下,定义内部合法地址池

ip nat pool 地址池名称 起始IP地址 终止IP地址 子网掩码 其中地址池名称可以任意设定。 (2)、在全局设置模式下,定义一个标准的access-list规则以允许哪些内部地址可以进行动态地址转换。

Access-list 标号 permit 源地址 通配符 其中标号为1-99之间的整数。 (3)、在全局设置模式下,将由access-list指定的内部本地地址与指定的内部合法地址池进行地址转换。

ip nat inside source list 访问列表标号 pool内部合法地址池名字 (4)、指定与内部网络相连的内部端口在端口设置状态下: ip nat inside

(5)、指定与外部网络相连的外部端口 Ip nat outside

实例2:

本实例中硬件配置同上,运用了动态NAT地址转换功能。将2501的以太口作为内部端口,同步端口0作为外部端口。其中10.1.1.0网段采用动态地址转换。对应内部合法地址为192.1.1.2~192.1.1.10

ip nat pool aaa 192.1.1.2 192.1.1.10 netmask 255.255.255.0 ip nat inside source list 1 pool aaa interface Ethernet0

ip address 10.1.1.1 255.255.255.0 ip nat inside interface Serial0

ip address 192.1.1.1 255.255.255.0 ip nat outside

interface Serial1

ip route 0.0.0.0 0.0.0.0 Serial0

access-list 1 permit 10.1.1.0 0.0.0.255

3、复用动态地址转换适用的环境:

复用动态地址转换首先是一种动态地址转换,但是它可以允许多个内部本地地址共用一个内部合法地址。只申请到少量IP地址但却经常同时有多于合法地址个数的用户上外部网络的情况,这种转换极为有用。

注意:当多个用户同时使用一个IP地址,外部网络通过路由器内部利用上层的如TCP或UDP端口号等唯一标识某台计算机。 复用动态地址转换配置步骤:

在全局设置模式下,定义内部合地址池

ip nat pool 地址池名字 起始IP地址 终止IP地址 子网掩码 其中地址池名字可以任意设定。

在全局设置模式下,定义一个标准的access-list规则以允许哪些内部本地地址可以进行动态地址转换。

access-list 标号 permit 源地址 通配符 其中标号为1-99之间的整数。

在全局设置模式下,设置在内部的本地地址与内部合法IP地址间建立复用动态地址转换。

ip nat inside source list 访问列表标号 pool 内部合法地址池名字 overload 在端口设置状态下,指定与内部网络相连的内部端口 ip nat inside

在端口设置状态下,指定与外部网络相连的外部端口 ip nat outside

实例:应用了复用动态NAT地址转换功能。将2501的以太口作为内部端口,同步端口0作为外部端口。10.1.1.0网段采用复用动态地址转换。假设企业只申请了一个合法的IP地址192.1.1.1。

ip nat pool bbb 192.1.1.1 192.1.1.1 netmask 255.255.255.0 ip nat inside source list 1 pool bbb overload interface Ethernet0

ip address 10.1.1.1 255.255.255.0 ip nat inside interface Serial0

ip address 192.1.1.1 255.255.255.0 ip nat outside interface Serial1

ip route 0.0.0.0 0.0.0.0 Serial0

access-list 1 permit 10.1.1.0 0.0.0.255

示例1

NAT接入宽带配置方法浅析

电信宽带为2M, 分配给的固定IP地址:202.249.11.101 子网掩码:255.255.255.248 网关:202.249.11.20,局域网规划地址范围为: 192.168.0.2 - 192.168.0.254 子网掩码:255.255.255.248 网关:192.168.0.1,路由器为Cisco 1721 自带10/100M自适应端口一个,其次我们还要配置一块 1ENET的扩展卡,卡上带有10M RJ45端口一个。 我们将1ENET的口作为外网端口,机器上的口作为内网端口。 配置过程如下:

Router>en //进入特权配置模式

Router#configure terminal //进入全局配置模式

Enter configuration commands, one per line. End with CNTL/Z. (设备自动出现的提示,主要告诉你目前已经进入主控制台)

Router#interface FastEthernet0//首先进入内网端口 (设备自带端口)

Router#ip address 192.168.0.1 255.255.255.0 //指定内网端口的IP地址及子网掩码

Router#ip nat inside //将该端口定义为地址转换(NAT)的“内部端口” Router#no shutdown //使该端口处于“运行”状态 Router#exit //返回

Router#interface Ethernet 0 //进入外网端口 (1ENET上面的端口)

Router#ip address 202.249.11.101 255.255.255.248 //指定外网端口IP地址及子网掩码

Router#ip nat outside //将该端口定义为地址转换(NAT)的“外部端口” Router#no shutdown //使该端口处于“运行”状态 Router#exit //返回

Router#ip router 0.0.0.0 0.0.0.0 202.249.11.20 //定义路由地址 Router#no access-list 1 //我们先取消出厂状态下的访问控制列表“1”

Router#access-list 1 permit 192.168.0.0 0.0.0.255 //重新定义访问控制列表“1”为“允许192.168.0.0/24的网段”

Router#ip nat pool nanpool 202.249.11.97 202.249.11.102 netmask

255.255.255.248 //定义从ISP供应商那里申请到的公网IP地址在企业内部的分配策略,在这里我们定义了一个地址池,名称为“nanpool”,在这个池里所定义的 IP地址(202.249.11.97到202.249.11.102)将被内网的用户用来上网。

如果ISP只给了你一个IP地址(如202.249.11.101),那你可以在这里写成“ip nat pool nanpool 202.249.11.101 202.249.11.101 netmask 255.255.255.248”

Router#ip nat inside source list 1 pool nanpool overload //将访问控制列表“1”与地址池“nanpool”进行对应式绑定。意思是说所有“192.168.0.0”网段内的用户在上网时,它的内网地址都将被转换为“202.249.11.97 - 202.249.11.102”中的任意一个外网地址。后面的“overload”则表示,如果有多于地址池中定义的地址数量(比如原来有6个用户上网,他们各自所用的外网地址是202.249.11.97 、202.249.11.98、

202.249.11.99、202.249.11.100、202.249.11.101、 202.249.11.102。而现在突然有30个用户上网了,这时就会按照上面的命令执行一个任务,那就是让多个内网用户使用同一个

外网地址。这样一来,这个nanpool地址池就可以带动内网所有用户上网了。所以说,这一条命令是非常重要的!)。

Router#enable password 12345 //设置密码为\"12345\" Router#enable secret 12345 //设置特权密文为\"12345\" Router#line console 0 //进入主控制台的\"0\"端口

Router#password cisco //将进入主控台登录密码设置为\"cisco\" Router#login //将主控台的\"0\"端口设置为“允许登录” Router#exit //退出

Router#line vty 0 4 //进入VTY(virtue terminal line 虚拟终端,一般针对Telnet登录方式)

Router#password cisco //设置虚拟终端登陆时的密码为\"cisco\"

Router#exec-timeout 5 0 //设置在登录路由器后,不做任何操作的情况下,5分0秒后将与路由器断开。如果不输入此命令,当你进入路由器没有输入任何内容时,10分钟后将被路由器自动踢出。“exec-timeout”命令的完整形式为:exec-timeout x x (也就是exec-timeout 分秒)注:如果你在此输入“exec-timeout 0 0”则表示你将永远与路由器保持联接,除非你自己logout。

Router#login //千万别忘了这最后一个login,呵~ 这是允许虚拟终端登录的重要命令。

好了,现在配置过程基本完成。

在以上配置中,路由器没有启用DHCP功能,所以,客户机如果想上网的话,还要对网卡进行相关设置。例:客户端网卡的IP地址设置为: 192.168.0.3 子网掩码:255.255.255.0 网关:192.168.0.1,主DNS地址: 202.106.0.20 备用DNS地址:202.106.46.151,不过,大部份朋友使用Cisco 路由器后,都会在局域网内架设一台DHCP服务器,即可办公,又可给局域网内机器分配IP地址,从而节省了route的内存。建议大家不妨也用这种办法组网。对了,说到路由器的内存,下面再给大家介绍几个常用命令,一定要记住哦~. 以下这几条命令都是在“ Router# ”状态下键入的: show version: 显示系统的硬件配置、软件版本、配置文件的源和名字以及启动镜像等信息。 show processes: 显示当前活动进程 show protocols: 显示已经配置的协议 show memory: 显示路由器的内存信息 show ip route: 显示路由表信息 show flash: 显示闪存设备的信息

show running-config: 显示当前活动信息 show startup-config: 显示备份配置文件 show interfaces: 显示已经配置的端口属性。 如:show interface eth0 则会显示Ethernet 0的相关配置信息

示例2

某公司使用一台具有两个Ethernet的路由器。Ethernet0连接到内部网络,而Ethernet1则连接到一个LAN网段。公司与其ISP的路由器共享该网段。在内部网络中,公司使用10.0.0.0/24地址空间中的地址。公司为自己提供一个IP地址171.100.1.0/24。公司路由器的接口使用IP地址171.100.1.1,而ISP路由器接口则使用IP地址171.100.1.2,而将那些从171.100.1.0/24开始的其余地址留给NAT转换。公司希望在路由器上使用必要的命令,以使其内部用户能够使用ISP所提供的地址空间中的有效,全局可路由的地址,以访问Internet。

1 解决方案

interface ethernet0

ip address 10.1.1.1 255.255.255.0 ip nat inside !

interface Ethernet1

ip address 171.100.1.1 255.255.255.0 ip nat outside !

ip access-list 1 permit 10.0.0.0 0.255.255.255 !

ip nat pool internet 171.100.1.3 171.100.1.254 netmask 255.255.255.0 !

ip nat inside source list 1 pool internet 2 分析

在该方案中定义了用于NAT的接口。通过将相应的命令放在每个接口下面,指定该接口是一个NAT外部接口或内部接口。这是配置NAT的第一步。如果读者不将接口指定为一个NAT内部或NAT外部接口,或者指定的不正确,则NAT就不能正确工作。如果不定义NAT接口,NAT根本不工作,并且debug ip nat detail命令也不会输出任何结果。如果读者已定义了所有其他的NAT命令,但NAT还是不工作,则确认每个接口下面的所放的NAT命令是否合理。 在每个接口下面定义了合适的NAT命令之后,就可以定义存放内部全局地址的NAT池。我们定义的起始IP地址是171.100.1.3,而结束地址为171.100.1.254。我们不使用.1和.2地址是因为这两个地址分别用于用户路由器和ISP路由器。由于这两个地址也与用户路由器上的Ethernet1接口所在的子网是同一子网地址,用户路由器将使用自己的MAC地址回答来自ISP路由器的ARP请求。这允许ISP路由器从NAT池中解析出IP地址,并使用从NAP池中取出的目的IP地址将报文发送给用户路由器。

注意,MAT地址池并非必须来自与用户路由器接口上所配置的子网相同。

因篇幅问题不能全部显示,请点此查看更多更全内容