在上篇文章中,笔者使用 Wireguard 建立了一个 VPN,基本的网络拓扑图 1 所示。ESLAB 和 Mobile 使用 PC 作为中继服务器,连接在同一个子网内。ESLAB 可以和作为中继服务器的 PC 之间自由通讯,Mobile 也可以和 PC 之间自由通讯,然而 ESLAB 和 Mobile 之间却无法建立连接。经过好一番搜索,笔者才意识到作为中继服务器的主机上没有开启 IP 转发(路由)。
要在 Windows 中开启路由转发,首先通过 Powershell 查看当前所有接口的编号与状态:
Get-NetIPInterface | select ifIndex,InterfaceAlias,AddressFamily,ConnectionState,Forwarding | Sort-Object -Property IfIndex | Format-Table
执行完后可以看到所有接口的编号 ifIndex
,以及名称,是否启用了 Forwarding
等等,如图 2 所示。
最后,根据接口编号指定某一接口启用 Forwarding
功能:
Set-NetIPInterface -ifindex <required interface index from table> -Forwarding Enabled
设置完后再次查看接口状态,可以看到由 Disabled
变为 Enabled
。连上 VPN 后,ESLAB 和 Mobile 之间两个客户端也能 ping 通了。设置完成。