Windows Server通过RRAS配置NAT可隐藏内网服务器真实IP:需指定内外网卡、启用IP转发,再通过端口映射(如公网80→内网192.168.10.5:80)或静态地址映射(如203.0.113.100↔192.168.10.100)实现流量转发与IP屏蔽。
在windows运维中,利用nat(网络地址转换)隐藏内网服务器真实ip,核心是通过windows server自带的远程访问服务(rras)+ nat功能,将公网ip映射为入口,所有外部流量经由nat网关转发至内网服务器,从而屏蔽后端真实ip。这不是单纯配置防火墙规则,而是构建一层网络层代理,关键在于正确划分内部/外部接口、启用ip转发、设置端口映射或地址映射。
启用RRAS并配置NAT网关角色
Windows Server(2012 R2起)通过RRAS角色提供NAT能力,需明确指定“外部网卡”(连公网或DMZ)和“内部网卡”(连内网服务器):
- 在“服务器管理器→添加角色和功能”中勾选“远程访问”,安装完成后打开“路由和远程访问”管理控制台
- 右键服务器名→“配置并启用路由和远程访问”,选择“网络地址转换(NAT)”向导
- 按提示指定“外部接口”(如连接防火墙/路由器的网卡),该接口将持有公网IP或可路由IP;“内部接口”自动启用私有网络支持(如192.168.x.x段)
- 完成向导后,外部接口开启IP转发,内部接口默认启用NAT转换,此时内网客户端可上网,但尚未对外提供服务
发布内网服务:端口映射(Port Mapping)
若仅需对外暴露特定服务(如Web、RDP),推荐使用端口映射——不暴露内网IP,只开放所需端口:
- 在RRAS控制台展开“IPv4→NAT/基本防火墙”,右键“外部接口”→“属性”→“服务和端口”选项卡
- 点击“添加”,输入服务名称(如WebServer)、外部端口(如80)、内部IP(如192.168.10.5)、内部端口(如80),协议选TCP
- 保存后,外部用户访问NAT网关公网IP:80,请求被自动重定向到192.168.10.5:80,源IP在内网侧显示为NAT网关IP,真实服务器IP完全不可见
- 支持多端口映射(如同时映射443、3389),也支持同一外部端口映射不同内部端口(如公网2222→内网192.168.10.6:22)
高级场景:静态地址映射(Address Mapping)
当需让某台内网服务器“看起来像拥有公网IP”(如运行需要双向通信的UDP服务、SIP、游戏服务器),可用静态地址映射,即一对一IP伪装:
- 在RRAS“NAT/基本防火墙”下,右键“外部接口”→“新增地址映射”
- 填入一个未被占用的公网子网IP(如203.0.113.100)作为“外部地址”,对应内网服务器IP(如192.168.10.100)作为“内部地址”
- 启用后,外部访问203.0.113.100即等同于直连192.168.10.100,所有协议(含ICMP)均透传,但返回包仍经NAT网关封装,外网无法反向探测到192.168.10.100的真实存在
- 注意:该方式需确保外部地址属于网关所在网段且未被ARP冲突,不适合大规模部署,建议仅用于必要服务
安全加固与常见问题
NAT本身不是防火墙,必须配合策略防止绕过或误配:
- 禁用内部接口的“允许其他网络用户通过此计算机的Internet连接来连接”(即Windows共享上网功能),避免与RRAS NAT冲突
- 在RRAS“NAT/基本防火墙→外部接口属性→常规”中,启用“基本防火墙”,默认阻止所有未映射的入站连接
- 内网服务器默认网关应指向NAT网关内网IP(如192.168.10.1),否则回程路径异常导致连接失败
- 若使用第三方防火墙(如ISA/TMG已淘汰,现多用Azure Firewall或本地NGFW),需确认其WAN口接NAT网关外部接口,避免双重NAT或策略拦截

















