31-NAT

1.技术背景
NAT(Network Address Translation)是为了解决ipv4地址不够而产生的技术;
 
公网地址的由来:
个人/企业——>ISP运营商——>CNNIC中国互联网络信息中心——>APNIC(Asia Pacific Network Information Centre)亚太地址网络信息中心——>IANA互联网数字分配机构 (早在2012年IP地址就已经分配完了)
 
 
1.NAT的作用原理
1)NAT应用场景
如图,主机A和主机B处于内网中, 被分配的ip地址是私网地址;
如果要上网,需要有公网地址,公网地址由运营商提供;
主机上网的过程:
    如果想正常上网,需要流量能从主机A转发出去,并且还需要流量能从公网转发回来;也就是出去和回来的流量都需要通才行;
    出去的流量通过交换机SWA、路由器RTA转发,通过公网ip地址 200.10.10.0/24转发到公网;
    但流量从公网回来时就有问题了,  内网中的设备出去时都使用的同一个公网ip,从公网回来的流量并不知道设备到底对应的是哪个私网地址;         
    NAT就是用来解决这个问题的,NAT用来将公网地址和私网地址做关联;
    也就是内网的流量出去时,会换成公网地址(私网地址无法在公网中路由,不换流量出的去回不来);   
    因此NAT一般部署在连接内网和外网的网关设备上;
0
没有NAT技术,私网地址数据可以出去,但是回不来(无回程路由)
 
2)地址类型:
 
 
如图,家庭网络:
    家庭网络中路由器默认有一个私网地址(192.168.0.1);
    通过拨号获得一个公网地址(82.10.250.39),用来连接外网;
    私网中的设备通过DHCP协议分配私网地址;
0
 
3)NAT地址转换缓存表:记录转换地址信息
如图,公司A和公司B用的私网地址都是192.168.0.0/16网段;
私网地址不可能出现在公网上(太多私网地址重复,设备性能也不足以支持)
    运营商路由器不用私网地址,使用用私网地址会导致流量出的去回不来;
    例如,如果流量从私网地址出去时不将私网地址变成公网地址;公网中的服务器将无法知道将回复发送给A还是B(A和B的地址一样);
0
 
 NAT技术用来解决这一问题:
    路由器中有一张NAT地址转换表,用来记录公网地址和私网地址的转换关系;
    如图,主机A访问公网,流量出去时会将私地址192.168.1.1转为公网地址1.1.1.1
    公网中的服务器收到消息后给1.1.1.1 发送回复;
    网关路由器GW1收到回复后,查NAT地址表,将1.1.1.1转回192.168.1.1,然后将消息转发给主机A;
           
0
 
4)NAT的优点
  • 有效避免了来自外网的攻击,大大提高了网络安全性(外网中的设备只知道私网的公网ip地址,不知道私网中的地址和路由是怎么规划的)
  • 控制内外访问外网,同时也控制外网访问内网,解决了内网和外网通信的问题(可以用来只允许内网中的某几个设备上网)
 
家庭路由器和运营商路由器的区别:
    1.待机数量
        每台终端设备上网会产生大量的NAT,记录NAT缓存需要消耗大量的内存,CPU,导致上网速度慢
        路由器的好坏取决于它能同时维持多少台设备上网,也就是待机量的大小;
     2.带宽和包转发
 
 
2.NAT类型
NAT的实现方式有很多种,适用于不同的场景
 
1)静态NAT
私网地址和公网地址一对一绑定;
如图:
    主机A的私网地址是192.168.1.1,绑定的公网地址是100.1.1.1;
    主机A给主机C发包时,在网关路由器RTA将地址值改为100.1.1.1;
    主机C回包时,在网关路由器RTA将公网地址100.1.1.1改为私网地址192.168.1.1;
0
 
  • 如果希望一台主机专用某个公网地址,或者想要外网访问内网服务器时,可以使用静态NAT
  • 静态NAT不能有效缓解公网地址短缺的问题
 
命令
备注
Nat static enable
开启NAT静态功能
Nat static global 公网地 inside 私网地址
创建映射关系
Display nat static
验证静态NAT的配置
配置静态NAT案例:
 
2)动态NAT 
由于公网ip资源珍贵,并且静态NAT并不能节省公网ip,通常使用动态NAT;
 
 
  • 动态NAT定义了地址池,规定一个范围的地址可以供主机转换
  • 动态NAT地址池中的地址用尽后,只能等待被占用的地址被释放,其他主机才能使用它来访问公网
  • 动态NAT也不能有效缓解公网地址短缺的问题(公网地址比较少时会影响网速,因为设备需要等待公网地址被释放)
 
0
(使用ICMP协议做测试,每次发送5条ping,每条ping的地址会变换,是没有端口的,但是有标识icmpid,回包时可以根据icmpid来分辨)
 
3)NAPT 
 
  • NAPT(network address port translation 网络地址端口转换)也称为NAT-PT或PAT
  • 通常适用于大型企业网络(申请多个固定的公网地址)
  • NAPT需要定义地址池,不能直接使用出接口的地址
  • 有效的缓解了公网地址短缺的问题(一个公网地址加多个端口号可以满足多台设备同时上网;)
0
 
NAT、NAPT配置:
命令
备注
Nat address-group 编号 公网地址范围
配置NAT地址池
Nat outbound acl 编号 address-group 编号 no-pat
配置调用ACL关联地址池(加了no-pat就是NAT,不加就是NAPT)
Nat outbound acl 编号 address-group 编号
配置NAPT
Display nat address-group
验证NAT地址池配置信息
Display nat outbound
验证动态NAT配置信息
 
示例:
 
 
4)Easy IP
平时家庭上网的主要使用的地址转换方式;
和NAPT差不多,都是私网ip地址加端口号对应公网地址;
不同之处是Easy IP没有固定的公网地址池,而是使用路由器出接口的地址;
也就是将私网地址+端口号转换成路由器出接口的地址;
好处是非常适用于家庭网络,因为家庭网络通常是拨号上网,没有固定的公网地址;
 
 
  • 直接使用出接口的地址做转换
  • Easy IP适用于小规模居于网中的主机访问Internet的场景
  • 如:家庭、小型网吧、小型办公室中,这些地方内部主机不多,出接口可以通过拨号方式获取一个临时公网IP地址
  • 有效的缓解了公网地址紧缺和不固定的公网地址转换问题
 
0
 
Easy IP配置命令:
命令
备注
Nat outbound acl 编号
配置Easy IP 关联出站接口和ACL
示例:
    表示匹配这个ACL的从这个借口出去的消息,都转换成出接口地址
 
 
 
3.NAT服务器
通过配置不同类型的NAT(如Easy IP),可以实现内网访问公网;
有时也需要由内网服务器提供服务,然后外网可以访问内网服务器提供的服务;
    我出去然后别人反过来找我很容易:
        比如我访问京东,只需要在出去时将内网地址换成公网地址,然后京东给我回包时直接通过公网地址交给路由器,然后路由器再转成私网地址把包交给我;
    但我没出去公网的人想找到我很难:
        比如我在内网创建了一个http服务器,需要让外网的人来访问,但外网的访客只知道我的公网地址和公网端口号;
        因此需要将公网地址和公网端口号映射到我服务器的地址和端口号,才能正确的将来自外网的请求转发到内网服务器;
 
 
  • NAT具有“屏蔽”内部主机的作用,但有时内网需要向外网提供服务
  • 当外网用户访问内网服务器时,出口设备通过事先配置好的“公网IP地址+端口号”与“私网IP地址+端口号”间的映射关系,将服务器的“公网IP地址和端口号”根据映射关系替换成对应的“私网IP地址+端口号”
  • NAT服务器的公网IP地址和端口中,端口可以更改,提供安全性
 
0
 
命令
备注
Nat server protocol tcp/udp global/current-interface  端口 inside 私网地址 端口
配置NAT服务器
Display nat server
验证NAT服务器
示例:
    内网NAT服务器提供HTTP服务,端口是8080;
    将服务器的192.168.1.1:8080,映射到路由器RTA的出接口S1/0/0的80端口;
    然后公网的主机C可以通过访问路由器RTA的80端口来获取http服务;
 
 
能够实现外网地址访问内网地址的方法:
   1】 NAT服务器(也叫端口映射)
        缺点:映射的端口越多,漏洞就越多;更容易被入侵(黑客可以扫描到开着的端口,然后破解)
   2】VPN(例如:游戏对战平台使用了vpn技术)
        可以让私网直接和私网通信,速度快;
        并且数据加密更安全(因为数据加密了,导致审核部门无法拦截,可以用来FQ);
 
 
 
 
 
posted @ 2021-05-24 15:01  L丶银甲闪闪  阅读(161)  评论(0编辑  收藏  举报