NAT(地址转换技术)学习
一、什么是NAT,NAT产生的背景
NAT通常部署在一个组织的网络出口位置,通过将内部网络IP地址替换为出口的IP地址提供公网可达性和上层协议的连接能力。
NAT产生的背景是为了解决IPv4地址不足的问题。
二、NAT技术的工作原理和特点
在整个NAT的转换中,几个关键的流程:
- 网络被分为私网和公网两个部分,NAT网关设置在私网到公网的路由出口位置,双向流量必须都要经过NAT网关
- 网络访问只能先由私网侧发起,公网无法主动访问私网主机;
2.1 静态NAT
本地局域网IP 一对一映射 公网IP。
2.2 动态NAT
本地局域网IP 与 公网IP地址池 中的IP,进行一对一映射。
2.3 NAT重载
通过与IP地址不同端口组合,把多个本地局域网地址 映射到一个公网IP地址。也就是所说的PAT(Port Address Translation 端口地址转换)。
这里就有一个问题,多个局域网用户访问同一个公网网站,公网网站如何知道应该将数据返回给谁?
举个例子,客户端172.18.250.6和百度服务器202.108.22.5通信,172.18.250.6发送数据时,先转换为219.155.6.240:1723(任意>1024的随机端口),然后再利用这个身份发送数据给百度服务器,然后百度服务器回应数据并发送给219.155.6.240:1723,NAT网关检查自己的关联表,意识到这是自己地私网中172.18.250.6的数据包,然后把这个数据发送给客户端
三、NAT技术的优缺点
优点:
- 节省了IPv4资源
缺点:
- 无法进行端到端的IP跟踪(从内网中几千个主机中,找到攻击者)
参考文档
[1]: NAT(地址转换技术)详解
[2]: 《深入理解计算机网络》
[3]: Linux iptables用法与NAT
[4]: iptables概念
关于作者
后端程序员,五年开发经验,从事互联网金融方向。技术公众号「清泉白石」。如果您在阅读文章时有什么疑问或者发现文章的错误,欢迎在公众号里给我留言。