Windows服务器作NAT网关需双网卡分设内外网,外网卡配公网IP与默认网关,内网卡仅配私有IP且禁设网关;启用IPv4转发、安装NAT服务、添加内外网接口(外网full/内网private);手动添加汇总路由并清理冗余0.0.0.0路由;验证时检查ping、tracert、Wireshark抓包及NAT运行状态。
windows服务器做nat网关时,双网卡(内网+外网)配置本身不难,关键在路由表控制和ip转发的协同——稍有疏忽就会出现“能出不能回”或“内网无法上网”等问题。
双网卡基础配置要点
外网卡(如连接路由器/光猫)需配置公网IP(或DHCP获取)、默认网关和DNS;内网卡(如连接交换机)仅配私有IP(如192.168.10.1/24),严禁设置默认网关。否则系统会生成错误的0.0.0.0路由,导致NAT转发失败。
确认两网卡均启用IPv4,并关闭IPv6(除非明确需要),避免路由混淆。
开启IP转发与启用NAT
以管理员身份运行PowerShell,依次执行:
- netsh interface ipv4 set interface "外网接口名" forwarding=enabled
- netsh interface ipv4 set interface "内网接口名" forwarding=enabled
- netsh routing ip nat install
- netsh routing ip nat add interface "外网接口名" full
- netsh routing ip nat add interface "内网接口名" private
注意:“外网接口名”必须与netsh interface ipv4 show interfaces中显示的名称完全一致(含空格),建议用英文命名网卡以避免编码问题。
路由汇总与避免环路的关键操作
NAT本身不自动汇总路由,需手动精简内网侧路由表。若内网分多个子网(如192.168.10.0/24、192.168.20.0/24),应在NAT服务器上添加一条汇总路由指向内网网关(通常是本机内网卡):
- route add 192.168.0.0 mask 255.255.0.0 192.168.10.1 metric 1 if
同时务必删除由DHCP或旧配置残留的冗余0.0.0.0路由(特别是内网卡上的默认网关),执行route print检查,确保只有一条0.0.0.0路由且Next Hop为外网网关。
验证与排错提示
从内网客户端ping外网地址(如8.8.8.8),再用tracert看是否经过NAT服务器内网IP;在外网卡抓包(Wireshark)确认有SNAT后的数据包发出;检查netsh routing ip nat show global确认NAT状态为“Running”。常见失败原因:防火墙拦截ICMP/UDP、内网客户端网关未指向NAT内网IP、DNS未正确配置导致“能ping通不能上网”。










