NAT:网络地址转换
功能:
1.将大量的私有地址转换成公有地址(节约IP地址)
2.将一个IP地址转换成另一个IP地址(公有的)(增加内部网络设备的安全性):比如有一个内网,里面有个服务器,这个内网边界外有个防火墙,当外部网络访问这个服务器时,一般人们会在防火墙上做一个NAT转换,将防火墙的IP地址转换成服务器的地址,这样,外界访问的是通过防火墙的IP,在转换到内网的服务器,避免的一些人的恶意网络攻击,因为这样网络攻击是攻击的防火墙的。
缺陷:
1.极其消耗网络设备资源(这时不仅要查看路由表,还要进行NAT表的IP地址的转换)。
2.破坏了数据的端到端传输(导致有些安全技术无法实施)。
从inside(内网)进入outside(外网),改变源IP地址(将inside local(内部本地地址)转换为公有的内部全局地址),然后就可以访问外边的网站
从outside进入inside,改变目标IP地址(访问了外面的网站,回包的时候,内部网站的包到了内部全局地址,然后内部全局地址将目标IP转换成内部私有地址的IP)
代码实验:
首先R1缺省指向R2,R1上有几个环回,当作用户,R2上静态路由指向1.1.0.0(R1上的用户,达到内网可通),然后R2缺省指向R3,这样就形成了一个简单的外内网的搭建
1.静态NAT(进行一对一的地址转换)
做法一:全局(对R上的1.1.1.1NAT转换)
[GW]nat static global 100.1.1.10 inside 1.1.1.1 #全局NAT一对一转换,这个内部全局地址是自己有的公有地址里的。
[GW-GigabitEthernet0/0/0]nat static enable #去全局地址,也就是与外网相连那个接口上启用NAT
实验效果:
做法二:接口式
[GW-GigabitEthernet0/0/0]nat static global 100.1.1.10 inside 1.1.1.1 netmask 255
.255.255.255 #直接写,这里就不用启用NAT了
2.动态NAT -----多地多的转换(允许1.1.2.1和1.1.3.1这两个网段上网)
[GW]acl 2000 #定义一个私有地址池,哪些允许上网,进行NAT转换的
[GW-acl-basic-2000]rule 5 permit source 1.1.2.0 0.0.0.255
[GW-acl-basic-2000]rule 10 permit source 1.1.3.0 0.0.0.255 #选择上网的网段[GW]nat address-group 2 100.1.1.11 100.1.1.15 #定义NAT转换地址池,转换后的IP[GW-GigabitEthernet0/0/0]nat outbound 2000 address-group 2 #接口启用
一般是多个私有地址转换成有限的公有地址,假如有些私有地址都转换成了同一个公有地址,它们之间靠唯一的端口号区分
3.NAT多对一转换(ping包是如何通过NAT多对一映射的实现原理:Ping包属于icmp协议,它是一种跨层封装,在多对一的映射中,icmp的数据结构中必须要有一个预留字段,用于NAT的一个端口识别,数字的识别)
先定义ACL的NAT转换地址池
然后直接在出接口上进行NAT的调用,就是使用的出接口的IP地址进行NAT转换。
[GW-GigabitEthernet0/0/0]nat outbound 2000
4.NAT服务器配置(外网范围内网的服务器)
[GW-GigabitEthernet0/0/0]nat server protocol tcp global 100.1.1.9 telnet ins
ide 192.168.1.1 telnet #如果外网访问100.1.1.9,然后就会跳转到服务器192.168.1.1