【实验目的】
利用动态NAT(网络地址转换)实现外网主机访问内网服务器。掌握NAT源地址转换和目的地址转换的区别,掌握如何向外网发布内网的服务器。
【实验原理】
NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。以下设置以Cisco路由器为例。
1.静态地址转换
静态地址转换将内部本地地址与内部合法地址进行一对一地转换,且需要指定和哪个合法地址进行转换。如果内部网络有E-mail服务器或FTP服务器等可以为外部用户提供服务,则这些服务器的IP地址必须采用静态地址转换,以便外部用户可以使用这些服务。
静态地址转换基本配置步骤:
(1)在内部本地地址与内部合法地址之间建立静态地址转换,在全局设置状态下输入:
Ip nat inside source static内部本地地址内部合法地址
(2)指定连接内部网络的内部端口,在端口设置状态下输入:
ip nat inside
(3)指定连接外部网络的外部端口,在端口设置状态下输入:
ip nat outside
(注:可以根据实际需要定义多个内部端口及多个外部端口。)
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
3.复用动态地址转换
复用动态地址转换首先是一种动态地址转换,但是它可以允许多个内部本地地址共用一个内部合法地址。对只申请到少量IP地址但却经常同时有多个用户上外部网络的情况,这种转换极为有用。
复用动态地址转换配置步骤:
(1)在全局设置模式下,定义内部合法地址池:
ip nat pool地址池名字起始IP地址终止IP地址子网掩码
其中地址池名字可以任意设定。
(2)在全局设置模式下,定义一个标准的Access-List规则以允许哪些内部本地地址可以进行动态地址转换:
Access-List标号permit源地址通配符
其中标号为1~99之间的整数。
(3)在全局设置模式下,设置在内部本地地址与内部合法地址池间建立复用动态地址转换:
ip nat inside source list访问列表标号pool内部合法地址池名字overload
(4)在端口设置状态下,指定与内部网络相连的内部端口:
ip nat inside
(5)在端口设置状态下,指定与外部网络相连的外部端口:
ip nat outside
相信通过以上的介绍,大家对路由器的NAT功能已有所了解,现在大家已经可以通过路由器的NAT功能,安全而轻松地进行内部网络与外部Internet网络的连接了。
【实验内容】
实验设备: R2811路由器(2台)、PC机(2台)、交叉线(2根)、V.35线缆(1根)
拓 扑:
步骤1. 路由器Route A上的基本配置:
Route(config)#hostname RouteA //给路由器命名
RouteA (config)#interface fastethernet 0/1
RouteA (config-if)#ip address 192.168.1.1 255.255.255.0 //给接口配置IP地址
RouteA (config-if)#no shutdown
RouteA (config-if)#int s1/0
RouteA (config-if)#clock rate 64000 //配置时钟频率
RouteA (config-if)#ip add 10.1.2.1 255.255.255.0
RouteA (config-if)#no shutdown
RouteA (config-if)#exit
RouteA (config)#ip route 0.0.0.0 0.0.0.0 10.1.2.2 //配置缺省静态路由
步骤2. 路由器RouteB上的基本配置:
Route(config)#hostname RouteB
RouteB(config)#interface fastethernet 0/1
RouteB(config-if)#ip address 192.168.2.1 255.255.255.0
RouteB(config-if) #no shutdown
RouteB(config)#int s1/0
RouteB(config-if)#ip add 10.1.2.2 255.255.255.0
RouteB(config-if)#no shutdown
RouteB(config-if)#exit
RouteB(config)#ip route 0.0.0.0 0.0.0.0 10.1.2.1 //配置缺省静态路由
步骤3.做好上述配置后,测试PC1和Web-server之间的连通性,保证它们之间能够相互访问。
步骤4. 在Route B上配置NAT映射:
RouteB (config)#interface f0/1
RouteB (config-if)#ip nat inside //定义f0/1为NAT转换的内口
RouteB(config-if)#exit
RouteB (config)#interface s1/0
RouteB (config-if)#ip nat outside
RouteB (config-if)#exit
RouteB (config)#ip nat inside source static 192.168.2.1 172.16.1.1
//定义访问外网的IP地址转换为内网的Web-server的IP地址。
步骤5. 再次测试:做好上述配置,再测试PC1与Web-server之间的连通性,若能ping通,且为172.16.1.1返回,步骤正确。
步骤6. 定义访问控制列表,拒绝192.168.1.2 ping 192.168.2.2,但是可以ping通172.16.1.1
RouteB(config)#access-list 100 deny icmp host 192.168.1.2 host 192.168.2.2 echo
RouteB(config)#access-list 100 permit ip any any
RouteB(config)#interface serial 1/0
RouteB(config-if)#ip access-group 100 in
RouteB(config)#access-list 100 deny tcp host 192.168.1.2 host 192.168.2.2 eq www
RouteB(config)#access-list 100 permit ip any any
步骤7. 再次测试:做好上述配置,再度从Web-server到PC1的连通性,若能ping通,且从PC1到192.168.2.2连通性不能ping通,到172.16.1.1能ping通,实验成功。
RouteB #show ip nat translations //查看NAT转换表
【小结或讨论】
1. 不要把inside接口和outside接口弄错。
2. 时钟只能在DCE端配置。