Cisco NAT 配置指南

来源:互联网 发布:windows如何更改用户名 编辑:程序博客网 时间:2024/05/15 09:00

NAT的基本知识

NAT(Network Address Translation )技术提供了一种完全将内部网络和Internet网隔离的方法,让内部网络中的计算机通过少数几个甚至一个合法IP地址(已申请的一个公网IP)访问Internet资源,从而节省了IP地址,并得到广泛的应用。


NAT常见的三种类型:


类型名 解释 静态转换 指将内部网络的私有IP地址转换为公有IP地址,IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问 动态转换 指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为指定的合法IP地址集 端口多路复用 指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。

类型一:静态地址转换

  • 常用命令及步骤
    设置静态IP地址转换,需完成下列步骤:
    1) 在路由器上配置IP地址和IP路由;
    2) 配置静态地址转换。全局配置模式下,使用如下格式命令:
    “ip nat inside source static 内部专用地址 内部合法地址”。
    其中,内部专用地址为内部网络的私有地址,内部合法地址为向因特网管理机构申请到的全球合法地址。
    3) 进入接口配置模式,启用NAT。命令格式为:
    “ip nat inside/outside”。其中,内网接口使用inside,外部接口使用outside。

  • 任务背景
    某小型公司组建了一个局域网,欲对外提供WWW服务和FTP服务。企业从ISP处得到的公网IP地址段是191.1.1.32/28,ISP给企业出口路由器分配的地址是200.10.10.13/30。另外,企业还有若干主机需要上因特网,但从ISP处得到的地址数不够

  • 任务分析
    因为公司从ISP处得到的合法IP地址数不够,因此应考虑使用NAT方法。另外,根据公司需要,公司内部的两台服务器要对外提供服务,需要有固定且合法的IP地址,因此,此处应使用静态地址转换方式。此处,我们暂且忽略其它方式的转换。
    IP地址分配如图所示:


这里写图片描述


  • 配置命令
    R1配置如下:
    Router>en
    Router#config t
    Enter configuration commands, one per line. End with CNTL/Z.
    Router(config)#int f0/0 //进入连接内网的接口
    Router(config-if)#ip addr 172.16.1.254 255.255.255.0
    Router(config-if)#no shut
    Router(config-if)#int f0/1
    Router(config-if)#ip addr 200.10.10.13 255.255.255.252
    Router(config-if)#no shut
    Router(config-if)#exit
    Router(config)#
    Router(config)#ip route 0.0.0.0 0.0.0.0 200.10.10.14 //配置默认路由
    Router(config)#
    Router (config)#ip nat inside source static 172.16.1.1 191.1.1.33
    Router (config)#ip nat inside source static 172.16.1.2 191.1.1.34
    Router (config)#int f0/0
    Router (config-if)#ip nat inside
    Router (config-if)#int f0/1
    Router (config-if)#ip nat outside
    Router (config-if)#
    R2配置如下:
    Router>en
    Router#config t
    Enter configuration commands, one per line. End with CNTL/Z.
    Router(config)#int f0/0
    Router(config-if)#ip addr 200.10.10.14 255.255.255.252
    Router(config-if)#no shut
    Router(config-if)#int f0/1
    Router(config-if)#ip addr 211.82.14.254 255.255.255.0
    Router(config-if)#no shut
    Router(config-if)#exit
    Router(config)#ip route 191.1.1.32 255.255.255.240 200.10.10.13
    Router(config)#

可自行用命令“show ip nat statistics”查看NAT转换信息。


类型二:动态地址转换

  • 常用命令及步骤
    设置动态IP地址转换,需完成下列步骤:
    1) 在路由器上配置IP地址和IP路由;
    2) 为内部网络定义一个标准的IP访问控制列表,使用如下格式命令:
    “access–list access-list-number permit{deny} local-ip-address”。
    3) 为内部定义一个NAT地址池,命令格式为:
    “ip nat pool pool-name start-ip end-ip netmask 掩码”。
    4) 将访问控制列表映射到NAT地址集,命令格式为:
    “ip nat inside source list access-list-number pool pool-name”。
    5) 进入接口配置模式,启用NAT。命令格式为“ip nat inside/outside”。此处应至少在一个内部接口或外部接口上启用NAT。

  • 任务背景
    某小型公司组建了一个局域网,欲对外提供WWW服务。企业从ISP处得到的公网IP地址段是191.1.1.32/28,ISP给企业出口路由器分配的地址是200.10.10.13/30。另外,企业还有若干主机需要上因特网,但从ISP处得到的地址数不够。

  • 任务分析
    因为公司从ISP处得到的合法IP地址数不够,因此应考虑使用动态NAT方法使内网172.16.1.0/24网段的主机可以访问因特网。另外,根据公司需要,公司内部的WWW服务器要对外提供服务,应该分配一个固定且合法的IP地址,这里使用静态NAT转换来达到目的。IP地址分配如图所示:


这里写图片描述


  • 配置命令
    Router>enable
    Router#configure terminal
    Enter configuration commands, one per line. End with CNTL/Z.
    Router(config)#interface FastEthernet0/0
    Router(config-if)#ip address 172.16.1.254 255.255.255.0
    Router(config-if)#no shutdown
    Router(config-if)#exit
    Router(config)#
    Router(config)#interface Serial2/0
    Router(config-if)#ip address 200.10.10.241 255.255.255.252
    Router(config-if)#clock rate 64000 //给串口DCE端配置时钟频率
    Router(config-if)#no shutdown
    Router(config-if)#exit
    Router(config)#
    Router(config)#ip route 0.0.0.0 0.0.0.0 200.10.10.242
    Router(config)#
    Router(config)#ip nat inside source static 172.16.1.1 191.1.1.33 //将191.1.1.33静态转换给WWW服务器
    Router(config)#ip nat pool mypoolname 191.1.1.34 191.1.1.46 netmask 255.255.255.240
    Router(config)#access-list 1 permit 172.16.1.0 0.0.0.255
    Router(config)#ip nat inside source list 1 pool mypoolname
    Router(config)#int f0/0
    Router(config-if)#ip nat inside
    Router(config-if)#int s2/0
    Router(config-if)#ip nat outside
    Router(config-if)#no shut
    Router(config-if)#exit
    Router(config)#
    R2配置如下:
    Router>enable
    Router#configure terminal
    Enter configuration commands, one per line. End with CNTL/Z.
    Router(config)#interface Serial2/0
    Router(config-if)#ip address 200.10.10.242 255.255.255.252
    Router(config-if)#
    Router(config-if)#exit
    Router(config)#interface Serial3/0
    Router(config-if)#ip address 200.10.10.245 255.255.255.252
    Router(config-if)#clock rate 64000
    Router(config-if)#no shutdown
    Router(config-if)#
    Router(config-if)#exit
    Router(config)#interface FastEthernet0/0
    Router(config-if)#ip address 200.10.10.250 255.255.255.252
    Router(config-if)#no shutdown
    Router(config-if)#exit
    Router(config)#
    Router(config)#ip route 211.82.14.0 255.255.255.0 200.10.10.246
    Router(config)#ip route 191.1.1.32 255.255.255.240 200.10.10.241
    Router(config)#
    R3配置如下:
    Router>enable
    Router#configure terminal
    Enter configuration commands, one per line. End with CNTL/Z.
    Router(config)#interface Serial3/0
    Router(config-if)#ip address 200.10.10.246 255.255.255.252
    Router(config-if)#
    Router(config-if)#exit
    Router(config)#interface FastEthernet1/0
    Router(config-if)#ip address 211.82.14.254 255.255.255.0
    Router(config-if)#no shutdown
    Router(config-if)#exit
    Router(config)#ip route 0.0.0.0 0.0.0.0 200.10.10.245
    Router(config)#

检验NAT表
Router#show ip nat t

Pro Inside global Inside local Outside local Outside global udp 191.1.1.34:1025 172.16.1.2:1025 200.10.10.249:53 200.10.10.249:53 191.1.1.33 172.16.1.1 tcp 191.1.1.33:80 172.16.1.1:80 211.82.14.2:1025 211.82.14.2:1025 tcp 191.1.1.34:1025 172.16.1.2:1025 211.82.14.1:80 211.82.14.1:80

类型三: 端口多路复用

  • 常用命令及步骤
    设置静态IP地址转换,需完成下列步骤:
    1) 在路由器上配置IP地址和IP路由;
    2) 配置好ACL;
    3) 端口映射命令格式:
    ip nat inside source list 访问列表号pool 内部全局地址池的名称 overload

  • 任务背景
    某小型公司组建了一个局域网,但该公司从ISP处仅得到一个合法全球地址200.10.10.1/24,但该公司内部主机都要能够访问Internet。

  • 任务分析
    因为公司从ISP处得到的合法IP地址数只有一个,因此可以考虑使用端口映射的方法来进行网络地址转换。此处将公司内部网络划分为两个子网,分别为172.16.1.0/24和172.16.2.0/24,它们分别对应vlan 10 和vlan 20。为简化操作,此处路由器R1采用单臂路由的方式给内网提供路由。


这里写图片描述


  • 配置命令
    R1配置:
    Router(config)#ip route 211.82.14.0 255.255.255.0 200.10.10.2
    Router(config)#access-list 1 permit 172.16.1.0 0.0.0.255
    Router(config)#access-list 1 permit 172.16.2.0 0.0.0.255
    Router(config)#ip nat inside source list 1 int f0/1 overload
    Router(config)#int f0/0.1
    Router(config-subif)#ip nat inside
    Router(config-subif)#int f0/0.2
    Router(config-subif)#ip nat inside
    Router(config-subif)#exit
    Router(config)#int f0/1
    Router(config-if)#ip nat outside
    Router(config-if)#exit
    Router(config)#exit
0 0