windows配置流量转发(将 Windows 配置为网关)
使用场景是,我在云服务器配置了openvpn server ,在家里有一台Windows server使用openvpn client,达到其他设备可以使用vpn访问到家里的网段的目录,(这个是要在openvpn server 里面配置家里的ovpn的ip的可以访问的网段,在其他访问的设备上配置路由规则的,这部分不说了)(最初家里是用的openwrt,但是总是出问题,改用ikuai了,ikuai里面的openvpn client不好配置)
环境说明
openvpn使用 192.168.100.0/24 网段
家庭网络使用 192.168.136.0/24 网段
下面把openvpn网段当作局域网,把家庭网络当作上行网络,
步骤 1:启用 IP 路由(转发功能)
- 打开 PowerShell(管理员权限),运行以下命令开启路由转发功能:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -Name "IPEnableRouter" -Value 1
- (可选)立即生效而不重启:
- 打开服务管理器(
services.msc
)。 - 找到 Routing and Remote Access 服务,启动它并设置为“自动启动”。
步骤 2:配置网络接口
-
确认您的网关 Windows 机器至少有两个网络接口:
- 一个用于连接到 上游网络(例如互联网或其他外网)。
- 一个用于连接到 下游网络(例如内网)。
-
查看网络接口信息:
Get-NetAdapter
记录上游和下游接口的名称或索引号。
3. 为下游接口(内网)配置静态 IP 地址:
New-NetIPAddress -InterfaceAlias "Ethernet1" -IPAddress 192.168.100.1 -PrefixLength 24
步骤 3:设置 NAT
- 创建 NAT 规则,将内网接口的流量 NAT 转发到外网接口:
New-NetNat -Name "MyGatewayNAT" -InternalIPInterfaceAddressPrefix "192.168.100.0/24"
# `-InternalIPInterfaceAddressPrefix`:指定内网子网(通常是 NAT 的源网段,例如 `192.168.100.0/24`)。
# `-ExternalIPInterfaceAddressPrefix`:不需要指定具体的外网 IP 网段;该值应为空或保持默认。
# 如果希望明确绑定到某个外部接口,只需确保该接口具有公网 IP 配置,`New-NetNat` 会自动使用外部接口的地址。
- 验证 NAT 设置:
Get-NetNat
步骤 4:配置客户端
- 在内网的客户端设备上,将默认网关设置为 Windows 机器的内网 IP 地址(例如
192.168.100.1
)。 - 测试连通性:
- 从内网客户端
ping
Windows 外网接口地址,确保路由转发正常工作。 - 测试访问互联网。
- 从内网客户端