NAT配置—常见问题安全
一、NAT的做用是什么?服务器
NAT的做用是把内网的私有地址,转化成外网的公有地址。使得内部网络上的(被设置为私有IP地址的)主机能够访问Internet。网络
二、NAT分为哪几种?ide
NAT能够分为Basic NAT和PAT:动画
- Basic NAT只转化IP,不映射端口。设计
- PAT除了转化IP,还作端口映射,能够用于多个内部地址映射到少许(甚至一个)外部地址。3d
NAT还能够分为静态NAT和动态NAT:blog
- 静态NAT,将内部网络中的每一个主机都永久映射成外部网络中的某个合法的地址,多用于服务器。进程
- 动态NAT,则是在外部网络中定义了一个或多个合法地址,采用动态分配的方法映射到内部网络。路由
三、为何须要有NAT?
NAT的主要做用,是解决IP地址数量紧缺。当大量的内部主机只能使用少许的合法的外部地址,就能够使用NAT把内部地址转化成外部地址。
NAT还能够防止外部主机***内部主机(或服务器)。
四、怎样映射?
如何将大量的内部地址,映射成少许的外部地址?
对于第四层是TCP或UDP的数据包,NAT经过更改源端口号,来实现多对少的映射。
例如:内部IP1~IP4,4个地址映射成外部一个地址IP5。
(IP1,Port1)映射成(IP5,Port1)
(IP2,Port1)映射成(IP5,Port2)
(IP3,Port2)映射成(IP5,Port3)
(IP4,Port2)映射成(IP5,Port4)
对于ICMP包,NAT经过更改ICMP的ID,来实现多对少的映射。
五、TCP或UDP的端口,本来是用来作什么的?
端口号是用来链接上层程序的。例如,端口号23,对应了Telnet;端口号80,对应了Http等等。
所以,在本动画中,当R1转化H1发送给Server的TCP包的时候,不能转化目的地端口。Server正是经过端口号23,才知道把收到的TCP交给Telnet处理。
六、NAT有什么弊端?
在一个具备NAT功能的路由器下的主机并无创建真正的端对端链接,而且不能参与一些因特网协议。一些须要初始化从外部网络创建的TCP链接,和使用无状态协议(好比UDP)的服务将被中断。除非NAT路由器做一些具体的努力,不然送来的数据包将不能到达正确的目的地址。(一些协议有时能够在应用层网关的辅助下,在参与NAT的主机之间容纳一个NAT的实例,好比FTP。)NAT也会使安全协议变的复杂。
七、NAT局限性
(1)NAT违反了IP地址结构模型的设计原则。IP地址结构模型的基础是每一个IP地址均标识了一个网络的链接。Internet的软件设计就是创建在这个前提之上,而NAT使得有不少主机可能在使用相同的地址,如10.0.0.1。
(2)NAT使得IP协议从面向无链接变成面向链接。NAT必须维护专用IP地址与公用IP地址以及端口号的映射关系。在TCP/IP协议体系中,若是一个路由器出现故障,不会影响到TCP协议的执行。由于只要几秒收不到应答,发送进程就会进入超时重传处理。而当存在NAT时,最初设计的TCP/IP协议过程将发生变化,Internet可能变得很是脆弱。
(3)NAT违反了基本的网络分层结构模型的设计原则。由于在传统的网络分层结构模型中,第N层是不能修改第N+1层的报头内容的。NAT破坏了这种各层独立的原则。
(4)有些应用是将IP地址插入到正文的内容中,例如标准的FTP协议与IP Phone协议H.323。若是NAT与这一类协议一块儿工做,那么NAT协议必定要作适当地修正。同时,网络的传输层也可能使用TCP与UDP协议以外的其余协议,那么NAT协议必须知道而且作相应的修改。因为NAT的存在,使得P2P应用实现出现困难,由于P2P的文件共享与语音共享都是创建在IP协议的基础上的。
(5)NAT同时存在对高层协议和安全性的影响问题。RFC对NAT存在的问题进行了讨论。NAT的反对者认为这种临时性的缓解IP地址短缺的方案推迟了Ipv6迁移的进程,而并无解决深层次的问题,他们认为是不可取的。