CCNA网络工程师学习进程(10)NAT的配置
NAT(Network Address Translation,网络地址转换)是将IP 数据包头中的IP 地址转换为另一个IP 地址的过程。
(1)NAT简介:
在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,不仅完美地解决了公网lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
在学习配置NAT之前,需要明确两种概念:
内部本地地址:需要访问Internet网络的内网IP地址(私有IP地址),是计算机在内网中的身份标识。内网地址(池)往往使用ACL(Access List)技术指定。
内部全局地址:NAT转换中对应的公网IP地址,是内网中计算机在Internet环境中的外部身份标识。
由于内网中的计算机IP地址是私有IP地址,不能直接用于Internet,故NAT服务相当于给予内网计算机能用于Internet的公网IP地址身份,实现内网计算机与Internet的通信。
NAT类型:
静态NAT(Static Nat)
内部本地地址和内部全局地址是一对一的关系,公网可通过全局地址直接访问对应的内网主机,这种方式主要用于配置内网服务器。
动态NAT(Dynamic Nat)
内部本地地址池对应一个内部全局地址池,本地地址和全局地址之间是多对多的关系(微观上看是一对一的关系)。由于内网IP和公网IP之间的对应不固定,故外网不能访问内网主机。
端口多路复用(Port address Translation,PAT)
也称为NPAT(Network Port address Translation),所有内部本地地址共享同一个内部全局地址,即本地地址和全局地址之间是多对一的关系,内网主机依靠端口来区分,由于端口是随机的,故外网不能直接访问内网,这对内网起到一定保护作用,但可访问内网中绑定固定端口的某台主机或服务器。
(2)静态NAT的配置:
静态NAT将一个特定的内部本地地址(Inside Local Address)静态地映射到一个内部全局地址(Inside Global Address),这意味着静态NAT中每一个被映射的内部本地地址,一定对应着一个固定而且唯一的内部全局地址。这种方式不但可以让内网设备访问外网,而且还可以让外网直接访问内网设备。
常用的静态NAT配置命令:
示例一:配置静态NAT
步骤一:配置各接口ip地址:
RA:
en conf t host RA int f0/0 ip add 192.168.0.254 255.255.255.0 no shut int s0/1/1 ip add 200.200.10.1 255.255.255.0 no shut bandwidth 96 end
RB:
en conf t host RB int s0/1/1 clock rate 9600 bandwidth 96 ip add 200.200.10.2 255.255.255.0 no shut int s0/1/0 ip add 200.200.20.2 255.255.255.0 bandwidth 9600 no shut end
RC:
en conf t host RC int f0/0 ip add 100.100.10.254 255.255.255.0 no shut int s0/1/0 ip add 200.200.20.1 255.255.255.0 clock rate 9600 bandwidth 96 no shut
步骤二:配置静态路由:
RA:
ip route 200.200.10.0 255.255.255.0 200.200.20.2
ip route 100.100.10.0 255.255.255.0 200.200.10.2
RB:
ip route 100.100.10.0 255.255.255.0 200.200.20.1
ip route 192.168.0.0 255.255.255.0 200.200.10.1 RC:
ip route 200.200.20.0 255.255.255.0 200.200.10.2
ip route 192.168.0.0 255.255.255.0 200.200.10.2
步骤三:配置NAT:
RA:
en conf t ip nat inside source static 192.168.0.1 200.200.10.3 int f0/0 ip nat inside int s0/1/0 ip nat outside end
RC:
en conf t ip nat inside source static 100.100.10.1 200.200.20.3 int f0/0 ip nat inside int s0/1/0 ip nat outside end
测试:
(3)动态NAT的配置:
动态NAT又称为动态地址翻译(Dynamic Address Translation),它是将内部本地地址与内部全局地址作一对一的替换。
内部全局地址以地址池的形式供选择,内部本地地址只要符合访问外网的条件,在做地址转换时,就从地址池中动态地选取最小的还没分配的内部全局地址来替换,其转换步骤如下:
(1)根据可用的内部全局地址范围,建立地址池。 (2)利用ACL,定义允许访问外网的内部地址范围。 (3)定义内部地址与地址池之间的转换关系。 (4)定义内网端口和外网端口。
常用的动态NAT配置命令:
示例二:配置动态NAT:
步骤一:配置ip地址和路由:
RA:
en conf t host RA int f0/0 ip add 192.168.1.254 255.255.255.0 no shut int s0/1/0 clock rate 9600 bandwidth 96 ip add 220.220.10.1 255.255.255.0 no shut exit ip route 172.16.1.0 255.255.255.0 220.220.10.11 end
RB:
en conf t host RB int f0/0 ip add 172.16.1.254 255.255.255.0 no shut int s0/1/0 bandwidth 96 ip add 220.220.10.11 255.255.255.0 no shut exit ip route 192.168.1.0 255.255.255.0 220.220.10.11 end
步骤二:配置动态NAT:
RA:
en conf t ip nat pool p1 220.220.10.2 220.220.10.10 netmask 225.255.255.0 access-list 120 permit ip 192.168.1.0 0.0.0.255 any int f0/0 ip nat inside int s0/1/0 ip nat outside end
RB:
en conf t ip nat pool p1 220.220.10.12 220.220.10.20 netmask 225.255.255.0 access-list 120 permit ip 172.16.1.0 0.0.0.255 any int f0/0 ip nat inside int s0/1/0 ip nat outside end
配置结果:
IP地址转换结果:
问题:如果路由器两边同时配置NAT网络地址转换会出现在串行链路一直循环寻路,找不到目标IP地址。
(4)NPAT的配置:
NPAT可以用于地址伪装(Address Masquerading),它可以让多个内网设备使用一个IP地址同时访问外网。
NPAT的转换步骤如下:
(1)利用ACL,定义允许访问外网的内部IP地址范围。 (2)为外网IP地址定义一个地址池名。 (3)将地址池赋予在第(1)步中定义的内部IP地址范围,并标明为overload(超载,即PAT)方式。 (4)定义内网端口和外网端口。
常用的NPAT配置命令:
示例三:配置NPAT超载:
步骤一:配置接口ip和路由(省略)
步骤二:配置NPAT
RA:(用地址池)
en conf t access-list 120 permit ip 192.168.1.0 0.0.0.255 any ip nat pool p1 200.200.10.2 200.200.10.2 netmask 255.255.255.0 ip nat inside source list 120 pool p1 overload int f0/1 ip nat inside int f0/0 ip nat outside end
RA:(用接口)
en conf t access-list 120 permit ip 192.168.1.0 0.0.0.255 any ip nat inside source list 120 interface f0/0 overload int f0/1 ip nat inside int f0/0 ip nat outside end
配置结果:
NAT转换的详细信息:
(5)验证NAT和NPAT的配置:
配置完NAT和NPAT后,可以使用表 8.4中的命令来测试它是否正常工作:
实验文档下载地址:https://files.cnblogs.com/files/MenAngel/NetBlog10.zip