目录
本文仅从计算机网络原理角度进行技术探讨,不涉及任何违规工具的推荐使用。
NAPT
传统NAT技术可以将内网IP转化为公网IP ,它只负责映射内网IP和外网IP。现在说的NAT技术一般指NAPT,它负责映射内网IP:端口和外网IP:端口
在内网主机向公网主机发数据时,首先通过将目的IP与子网掩码按位与后发现该目标IP不在当前网段中,于是交给默认网关
路由器通过将目的IP与子网掩码按位与确认该目标IP也不在当前网段中,继续交给默认网关。但它会将报文中的源IP替换成自己的IP(WAN口IP) ,并在路由器中的转换表中记录下原IP:port和转换后IP:port的映射关系

这样当服务器发送响应给公网路由器后,就可以通过查转换表将IP:port重新映射回去
若一局域网有多台主机都请求同一个服务器,由于转换后的IP与port都相同,不能保证唯一性,因此会改变转换后的端口号

这样双端都可以在各自网段中确保唯一性 ,互为Key,从左往右或从右往左查都可以找到唯一的值(唯一四元组)
内网穿透
因为NAPT的存在,只有内网主机可以直接访问公网主机 ,而公网主机要访问内网主机需要先让内网主机向公网主机发消息,在路由器的转换表中建立映射关系(外网不能主动找内网,但内网主动找外网后,外网可以顺着这条线回话)
但如果先让内网主机和自己的公网服务器建立连接 ,当其他人有数据想发送给内网主机时,先发到公网服务器,再由服务器转发给内网主机,就可以解决NAPT,这就是内网穿透
代理服务器
代理分为正向代理 和反向代理
若一个公司的用户量很庞大,一般都会有多个服务器来减轻负担,但如果将每个主机都暴露在公网上,客户端到底该访问哪个服务器?
因此一般会有一个入口服务器(负载均衡器 ),所有客户端的请求都发给入口服务器 ,由该服务器的策略将请求均匀分到所有服务器上 ,即负载均衡 。
这种就是反向代理
策略一般有轮询、随机、IP哈希等等(但返回响应时一般是该服务器直接发送,不会再传给负载均衡器)

再比如校园网, 当连着校园网时,所有数据都会先被转发到学校的机房服务器 ,由该服务器代替我们转发到目标公网IP ,当返回响应时,也会由学校机房服务器先接收 ,再转发给指定主机 ,这就是正向代理

简而言之,正向代理隐藏的是"客户端"(买家),反向代理隐藏的是"服务端"(卖家)。
正向代理离客户端更近,反向代理离服务器更近
| 对比维度 | 正向代理 (Forward Proxy) | 反向代理 (Reverse Proxy) |
|---|---|---|
| 代理的对象 | 客户端(代表客户端去请求) | 服务端(代表服务端接收请求) |
| 隐藏的对象 | 隐藏真实的客户端 IP | 隐藏真实的服务器 IP |
| 客户端是否知道目标 | 知道(客户端明确知道要访问哪个目标网址) | 不知道(客户端以为代理服务器就是最终目标) |
| 配置位置 | 配置在客户端(如浏览器设置代理、系统网络设置) | 配置在服务端(如部署在机房入口的 Nginx) |
| 流量走向 | 客户端 -> 代理 -> 目标服务器 | 客户端 -> 代理 -> 真实服务器 |
| 典型工具/软件 | Squid、Privoxy、浏览器代理插件 | Nginx、HAProxy、CDN、云厂商的 WAF |
NAT与代理服务器的区别
两者都能实现"让内网机器访问外网 "以及"隐藏真实 IP "的功能,但它们的工作层级 和底层逻辑完全不同
NAT主要解决IPv4枯竭问题 ,工作在网络层,是必须要有的,部署在局域网出口
而代理服务器工作在应用层,用于加速,网络优化,负载均衡等,可在局域网/广域网部署
| 对比维度 | NAT (网络地址转换) | 代理服务器 (Proxy Server) |
|---|---|---|
| 工作层级 | 网络层 (L3) / 传输层 (L4) | 主要工作在 应用层 (L7)(如 HTTP 代理),部分在 L4/L5(如 SOCKS 代理) |
| 处理对象 | 只修改 IP 头部 和 TCP/UDP 头部(改 IP 和端口) | 解析并处理 应用层数据(如 HTTP 请求头、URL、Cookie) |
| 连接状态 | "修改报文":维持客户端到服务端的端到端连接假象 | "断开重连":建立两段独立连接(客户端↔代理,代理↔服务端) |
| 客户端感知 | 完全透明:客户端无需任何配置,以为自己直接连着外网 | 通常需要配置:客户端必须在系统或软件中手动指定代理 IP 和端口 |
| 协议感知 | 不感知:不管是 HTTP、FTP 还是游戏数据包,一视同仁转发 | 深度感知:知道你在访问什么网页,可以缓存图片、过滤敏感词 |
| 主要目的 | 解决 IPv4 地址短缺、实现内外网基础隔离 | 访问控制、缓存加速、突破访问限制、深度隐藏身份 |
| 典型设备/软件 | 家用路由器、企业防火墙、云厂商的 NAT 网关 | Squid、Nginx、浏览器代理插件 |