NAT场景1 私网主机访问外网服务器
节省公网地址,隐藏私网主机结构,使用NAT实现内部网络的主机访问外部网络资源
地址分配方式:静态、NoPAT、PAT、Easy IP。
NAT场景2 外网主机访问私网服务器 Nat-Server
通过配置Nat-Server,通过配置公网IP+端口号与私网IP+端口号,通过映射关系访问私网服务器。
NAT场景3 NAT ALG
一些协议中以字符串形式保存的IP地址和端口号信息,如FTP、Telnet、ICMP、SIP等。
NAT场景4 NAT多实例
就是将NAT的应用分成不同的虚拟NAT,简单的实现类似与VPN的VPN ID。
NAT场景5 私网主机通过域名访问私网服务器DNS-Mapping
私网用户访问位于统一私网的内部服务器,而DNS服务器却位于公网,此时通过DNS Mapping方式来实现。通过配置DNS Mapping映射表,域名-公网IP地址-公网端口-协议类型间的映射关系,将DNS相应报文中携带的公网IP地址替换称内部服务器的私网IP地址。从而是私网用户可以通过域名来访问该服务器。
NAT场景6 二次NAT
双向NAT指源IP和目的IP同时转换,该技术用于内部网络主机地址与公网上主机地址重叠的情况。HostA与外部Server使用相同IP地址,导致不能访问到真正的服务器地址。
为了解决该问题,为Server分配一个零时地址,如2.2.2.1为内部网络做NAT配置地址池,如3.3.3.1。hostA访问Server经NAT后,A认为Server地址为2.2.2.1,所以A发出的数据报文经过二次NAT修改为3.3.3.1-》1.1.1.1 即源和目的IP都要修改。
NAT场景7 NAT穿越
RFC5389定义了STUN协议用于NAT穿越。需要实现STUN的主要是P2P协议,如多媒体通讯,P2P下载、游戏等。
PC1位于私网,PC2位于公网。它们都在运行某应用程序。登录了某服务器如QQ。NAT设备为PC的登录过程分配一个公网地址100.0.0.100。现在PC2希望与PC1进行文件传输,但PC2无法使用100.0.0.100访问,除非在NAT设备上将PC1配置为内部服务器。
我们通过NAT映射和NAT过滤满足部分STUN的要求。
NAT映射:当PC1访问服务器时,NAT设备分配了地址和端口,NAT设备记录了内部地址端口和地址池分配的地址端口对应关系,假设PC1的端口是12345,NAT分配的端口是23456,则NAT映射表的内容(192.168.1.1:12345)->(100.0.0.100:23456)。后续如果PC1继续以端口12345来访问任何外部地址都会继续采用(100.0.0.100:23455)。
NAT过滤:NAT过滤是NAT映射的反响过程即记录了映射关系(100.0.0.100:23456)->(192.168.1.1:12345)。
NAT场景8 NAT HairPing
NAT HairPing是NAT穿越的一种特殊情况。内网phone1/phone2向外网的SIP Proxy注册,NAT设备对检测到的SIP协议进行了ALG处理为2部电话分配了外部地址和端口,SIP Proxy记录了这些地址端口信息。
phone1呼叫phone2,SIP Proxy告诉phone1的是phone2的外部地址和端口,尽管他们位于同一个NAT设备后面。phone1和phone2将只看到对方的外部地址和端口。
通过同时启用NAT映射和NAT过滤来实现NAT HairPing。