NAT(Network Address Translation )是一种将多个内部IP地址映射到一个或几个公网IP地址实现内部网络连接互联网的技术,该技术隐藏了内部网络的结构增强了网络的安全性,并且缓解了IPv4地址紧张的问题,是互联网广泛应用的一种技术。
一、基本概念
NAT技术主要有三种类型的转换方式:静态地址转换、动态地址转换和基于端口号的地址转换,今天我们先来复习静态地址转换。
静态地址转换是将内部IP地址与公网IP地址实现一一对应,每个内部IP地址与公网IP地址的对应关系一旦配置完成就不会再变,某个内部IP地址的设备访问互联网总是会被转成特定的公网IP地址,互联网用户访问该公网IP地址也总是会被转换成这个内部IP地址。根据静态地址转换的特点,我们会推断出它的应用场景,就是有内部服务器需要提供互联网访问时使用,一般WEB服务器,文件服务器等都需要静态地址转换这种方式。
二、配置步骤及命令
设置静态IP地址转换,需完成下列步骤:
1.路由器接口配置IP地址,配置好路由;
2.配置静态地址转换。进入全局配置模式下,命令格式:
“ip nat inside source static + 内部IP地址 + 公网IP地址”。
3.启用NAT,进入接口配置模式,命令格式:
“ip nat inside/ ip nat outside”。Inside对应内网接口,outside对应公网接口。
4. show ip nat statistics查看地址转换结果,转换条目、外部接口、内部接口、转换次数等。
三、练习题
某中小企业组建了局域网,要实现员工电脑访问互联网,并且内部服务器要对外提供WWW服务和FTP服务。企业从运营商得到两段公网IP地址,分别是1.1.1.16/29和2.2.2.2/30,请你根据企业需求,选用合适的NAT技术,完成网络部署,拓扑图如下。
题目分析:企业从运营商获得的公网IP地址数量有限,1.1.1.16/29总共6个可用IP地址,2.2.2.0/30只有2个可用IP地址(2.2.2.1、2.2.2.2),但是2.2.2.1要作为网关地址。因为内部服务器数量有2台,需要的公网IP地址数量多,所以只能用2.2.2.2作为员工电脑上网的公网地址,1.1.1.16/29作为服务器的地址。内部服务器需要有固定公网IP地址才能对外服务,这里必须选用静态地址转换。
四、解答
以下是利用静态地址转换,解决WWW服务器对外服务的问题。
1.WWW服务器的配置如下:
2.R0和R1的配置
R0的配置
Router(config)#hostname R0
R0(config)#interface g0/0
R0(config-if)#ip address 192.168.1.254 255.255.255.0
R0(config-if)#no shutdown
R0(config)#interface g0/1
R0(config-if)#ip address 2.2.2.2 255.255.255.252
R0(config-if)#no shutdown
R0(config)#ip route 0.0.0.0 0.0.0.0 2.2.2.1
R0(config)#ip nat inside source static 192.168.1.1 1.1.1.17
R0(config)#interface g0/0
R0(config-if)#ip nat inside
R0(config-if)#exit
R0(config)#interface g0/1
R0(config-if)#ip nat outside
R1的配置
Router(config)#hostname R1
R1(config)#interface g0/0
R1(config-if)#ip address 2.2.2.1 255.255.255.252
R1(config-if)#no shutdown
R1(config)#ip route 0.0.0.0 0.0.0.0 2.2.2.2
R1(config)#interface g0/1
R1(config-if)#ip address 3.3.3.1 255.255.255.0
R1(config-if)#no shutdown
3.在WWW服务器和PC端验证是否互通
查看转换结果
R0>show ip nat statistics
Total translations: 5 (1 static, 4 dynamic, 4 extended)
Outside Interfaces: GigabitEthernet0/1
Inside Interfaces: GigabitEthernet0/0
Hits: 15 Misses: 16
Expired translations: 12
Dynamic mappings: