网络地址转换(NAT)
由于网络的设计是源于美国军方的一个项目,所以最开始设计的设计并没有想过现在会有这么多设备接入互联网中。虽然已经开发出来了ipv6,但是替换并不是一夜之间达成的,所以就有了很多为ipv4续命的技术,如NAT就是其中一个。简单来说就是多个私网地址共享一个公网地址连接公网。
如上图所示,主机A主机B在访问公网时,会在RTA处将地址转换为一个公网地址。这样就缓解了IP地址不够的压力。
NAT技术中的静态NAT实现的是私网地址和公网地址一对一对应,所以并未缓解IP地址不够的压力。就不做介绍了,有兴趣的可以自己去了解。
动态NAT、NAPT、Easy ip
动态NAT
动态NAT基于地址池来实现私有地址和公有地址的转换。假设此时我们的地址池中有10个公网ip,采用这种模式进行转化的话。并发只能同时进行10个不同私网地址的转换,进行的是一对一转换。配置时使用的是 no pat。
NAPT
网络地址端口转换NAPT允许多个内部地址映射到同一个公有地址的不同端口。
本身配置与动态NAT相差不大,默认情况下就是这种。与动态NAT的差别在于,假设我们地址池中只有一个公网ip,同时有多个私网ip需要去访问公网。此时它们会转换为同一个公网地址,但是会对应不同的端口号。一对多转换。
Easy ip
Easy IP允许将多个内部地址映射到网关出接口地址上的不同端口。
采用Easy ip的时候,转换的公网地址为连接公网出接口的地址,因为可能公司里面运营商只给你留了一个IP地址,或者说你出公网路由器上的地址是通过PPPOE拨号实现的,不可能每天给你重新输入配置,此时就可以采取本方法。与NAPT的差别在于一个是地址池,一个是端口ip。其实可以理解为地址池中只有一个地址的NAPT。
NAT服务器
通过配置NAT服务器,可以使外网用户访问内网服务器。
NAT server的功能是使用一个公网地址代替内部的私网地址,保证了安全性。
实验
NAPT实验
拓扑:
圆圈内为私网,AR3为网关,AR4为外网。内网使用的是OSPF进行连接。
首先配置ip,保证同网段之间是互通的,不管做什么实验或者排错,首先要保证的就是底层通信是没有问题的。
然后配置OSPF将内网互通
然后配置NAPT
配置如下:
AR1:
interface GigabitEthernet0/0/0
ip address 192.168.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 13.1.1.1 255.255.255.0
#
ospf 1 router-id 1.1.1.1 //配置OSPF
area 0.0.0.0
network 13.1.1.0 0.0.0.255
network 192.168.1.0 0.0.0.255
AR2:
interface GigabitEthernet0/0/0
ip address 192.168.2.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 23.1.1.2 255.255.255.0
#
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 23.1.1.0 0.0.0.255
network 192.168.2.0 0.0.0.255
AR3:
#
acl number 2000 // 首先配置ACL
rule 5 permit
#
nat address-group 1 34.1.1.1 34.1.1.1 //指明地址将要被转换为什么地址
#
interface GigabitEthernet0/0/0
ip address 13.1.1.3 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 23.1.1.3 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 34.1.1.2 255.255.255.0
nat outbound 2000 address-group 1
#
ospf 1 router-id 3.3.3.3
import-route direct
area 0.0.0.0
network 13.1.1.0 0.0.0.255
network 23.1.1.0 0.0.0.255
#
ip route-static 0.0.0.0 0.0.0.0 34.1.1.4
AR4:
#
ip route-static 0.0.0.0 0.0.0.0 34.1.1.3
抓包显示:
此时使用的是PCpingAR4,在AR4 g0/00口进行抓包。可以看到此时ip地址进入公网时发生了转换。
我的模拟器上输入dis nat session all命令的时候出问题,所以此时就没有截图查看信息。
Easy ip实验
[AR3]int g 0/0/2
[AR3-GigabitEthernet0/0/2]dis th
#
interface GigabitEthernet0/0/2
ip address 34.1.1.2 255.255.255.0
nat outbound 2000 address-group 1
#
return
[AR3-GigabitEthernet0/0/2]undo nat outbound 2000 address-group 1
[AR3-GigabitEthernet0/0/2]nat outbound 2000
Easy ip的实验直接将出接口定义为公网转换接口即可。此时我直接在AR3上进行修改。
抓包显示:
可以看到此时的IP地址转化为接口地址
NAT server
[AR3-GigabitEthernet0/0/2]nat server protocol tcp global 34.1.1.3 inside 192.168.1.1
配置流程大概如下:
- 创建ACL
- 创建转换表项
- 关联转换表项
最后提一点,最后面配置NATserver应该是有问题的,此时将PC1换成服务器会更好,直接指定需要访问的端口,因为我后面抓包的时候是没有进行转换的,所以还是出了点问题,不过配置命令是对的,其中的选项可通过?帮助使用。以及配置命令中的ACL在下一篇博客会讲到。讲完ipse 薇皮恩(敏感词汇不予显示)会有一个PPPOE加IPSec 的小项目。