NAT
1.Network Address Translations
网络地址转换
主要用于实现位于内网的主机访问外网的功能
当局域网的主机需要访问外部网络时,通过nat技术可以将私网地址转换为公网地址,多个私网用户可以共用一个公网地址
2. 为什么要使用NAT技术:
ipv4地址严重不够用了
x.x.x.x x0-255
A B C类可以使用 D组播 E科研
3. IP地址分为公网IP和私网IP
公网IP只能在公网上使用
私网IP只能在内网中使用
公网上不允许出现私有IP地址!
私网IP可以重复在内网使用
私有IP地址范围:
1)10.0.0.0/8 (10开头的)
2)172.16.0.0/16 - 172.31.0.0/16
(172.16开头的一直到172.31开头的)
3)192.168.0.0/16 (192.168开头的)
4.NAT主要实现公私有IP地址的转换,一般是路由器或者防火墙上来完成,不建议在三层交换机上配置!
5. NAT有3大类:
1)静态NAT:1对1映射,(静态PAT,端口映射技术)
静态nat实现了私网地址和公网地址一对一转换,(即一个私网地址转换成一个公网地址),是由工程师手工配置上去的
缺点:只能有一个内网ip转换成公网ip,还得需要手工配置
2)动态NAT
基于地址池 的一对一转换
缺点:虽然不需要手工配置,但是还是不能同时时间多个ip上网
3)PAT(端口地址转换,Port Address Translations)也叫动态NAT
PAT也称为端口复用技术
内外网端口定义:
内到外:转换源IP
外到内:转换目标IP
PAT是如何实现的:
1.)在动态nat的技术上增加了一个overload复用技术,但是最重要的是pat的端口转换技术
2.)端口转换顾名思义,就是将端口进行转换,被转换的端口是计算机访问外网地址随机生成的端口,而转换后的端口则是路由器生成的端口号,一般从1开始
首先内网的一个192.168.1.1的ip地址想访问8.8.8.8这个公网地址,
3.)此时看一下数据包,源ip192.168.1.1,目的ip8.8.8.8 ,随机生成的端口号5555,协议号80
4.)这个数据包首先会发送到出口路由,有nat进行转换私网地址
5.)nat会将192.168.1.1这个地址在内部地址池内进行匹配,匹配成功后
6.)会从内部地址池拿出1.1的地址,再从外部地址池中拿出你公司的公网ip地址放在net地址转换表内.(到此步骤也是动态NAT的方法)
7.)而后开始进行端口转换
8.)路由器生成一个端口号为1,将你数据包内的5555端口号进行替换,并且将5555这个端口号与1这个替换的端口号,与NET地址转换表内的公私网ip放在一起
9.)你的源数据包内是这样的:192.168.1.1 8.8.8.8 5555 80
10.)替换后你的数据包这样的:100.1.1.1 8.8.8.8 1 80 (100.1.1.1为你的公网ip)
11.)当8.8.8.8这个外网地址给你回数据时,NAT在将这个数据包替换回去,完成转换
12.)当你在访问其他外网时,也是同理,只不过会再生成一个NAT转换路由器在生成新的端口号
13.)也就是说一个人可能会用掉十多个端口号
14.)其他内网主机也是同理
端口号的数量为0-65535,所以当内网人数过多时,需要多个公网ip
虚拟公网IP地址:
viptual ip (vip)
一般是随公网ip附赠的,用来映射服务器,不需要配置在接口上,只要NAT地址转换表内有静态端口转换就可以
NAT命令:(思科)
1)定义内网端口:
int f0/0
ip nat inside
exit
2)定义外网端口:
int f0/1
ip nat outside
exit
3)配置PAT:
定义内部地址池:
acc 1 permit 192.168.0.0 0.0.255.255
做PAT动态映射:
conf t
ip nat inside source list 1 int f0/1 overload
凡是从内部来的源ip只要在list1这个地址池内有,就允许你使用f/1这个端口进行公网映射,并作端口复用技术
4)配置静态端口转换:
conf t
ip nat inside source static tcp 192.168.1.3 80 100.1.1.2 80
将内部源静态ip的tcp80端口映射到外网的80端口上去