Windows中为WireGuard配置NAT的简单方法

网上在Linux使用IPtable为WireGuard进行NAT的教程很多,但却没有在Windows中的教程。

实际上在Windows中实现更加简单,但也缺乏一些自由性。下面以Windows7为例:

系统中存在两个接口:本地连接2(接入外网的LAN),test(WireGuard的接口)。

原始网络配置

在“本地连接2”的属性中,将其共享。

配置“本地连接2”的共享

共享后,此Windows7主机相当于充当了WireGuard虚拟局域网的路由器(网关),但虚拟局域网的IP只有一个(类似于真实局域网中公网IP只有一个),如果真实局域网中的终端想要访问虚拟局域网的终端,就像公网中的设备主动访问NAT内的设备一样,需要配置DMZ主机或者端口映射。

设置“端口映射”

确定后,Windows默认会将受共享接口(test)的IP地址(网关地址)改为192.168.137.1,需要手动更改为WireGuard中设定的地址,或者重新连接WireGuard,将自动更改。

Windows7的该功能可能自动开启了DHCP,关闭方法未知,忽略警告暂未发现影响。

确定是有警告弹窗

在受共享的WireGuard终端配置文件中,应将被共享真实局域网的IP段加入到AllowedIPs中。若希望全局使用WireGuard隧道连接公网,则设置0.0.0.0,同时要配置::/0防止IPv6漏出。

客户端WireGuard配置文件

重新连接WireGuard后,即可在客户端连接到真实局域网内的终端了。

注意:每次重启服务端时,都需要重新设置一次Internet连接共享!!

WinServer配置FTP/HTTP服务器

在服务器管理器中添加Web角色及安装相应的功能,然后到IIS管理器中设置即可。

FTP服务无法通过端口映射到公网!!因为FTP会随机调用端口。

HTTP服务需要“连接到”添加文件夹权限。同时,要注意MIME类型设置,如果当作文件下载服务器,要将目录中所有文件的类型(可以理解为扩展名)添加。

防火墙可以直接将SVhost.exe添加到白名单,安全性未知。

使用ODT部署及激活Visio及Project

由于Office365采用“One Step to Run”方式安装,无法与传统安装方式(ISO镜像)的Visio并行存在,所以需要通过Office Depeloyment Tool(ODT)来进行Project和Visio的安装。

1、前往ODT下载页面下载工具。

2、运行文件,将内容提取到某一目录下(建议地址较简单)。得到文件包括:配置文件(.xml)示例*3、setup.exe

3、自行配置一个configuration.xml文件。文件可以手动编辑,也可使用官方工具进行配置。推荐结合使用。例如:

<Configuration>
  <Add OfficeClientEdition="64" >
<Product ID="VisioPro2019Volume" PIDKEY="9BGNQ-K37YR-RQHF2-38RQ3-7VCBB">

        <Language ID="zh-cn" />
     </Product>

    <Product ID="ProjectPro2019Volume" PIDKEY="B4NPR-3FKK7-T2MBV-FRQ4W-PKD2B">

        <Language ID="zh-cn" />
     </Product>
   </Add>  
</Configuration>

4、运行CMD,使用cd命令定位到setup.exe所处目录下(若跨盘,需要”cd /d X:\”来更改驱动器位置)。

5、输入”setup.exe /configure configuration.xml”来运行程序,若弹出权限请求,点击”允许”。

6、等待安装程序自动完成安装。

7、制作激活脚本文件。通过记事本生成.txt文件后,修改后缀为.bat。此文件可能被杀毒软件报毒为”autokms”,选择保留即可。例如:

@echo off
title Activate Microsoft Visio 2019&cls&echo ============================================================================&echo #Visio: Activating Microsoft software products for FREE without software&echo ============================================================================&echo.&echo #Supported products:&echo - Microsoft Visio Standard 2019&echo - Microsoft Visio Professional Plus 2019&echo.&echo.&(if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16")&(if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16")&cscript //nologo ospp.vbs /inslic:"..\root\Licenses16\pkeyconfig-office.xrm-ms" >nul&(for /f %%x in ('dir /b ..\root\Licenses16\client-issuance*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul)&(for /f %%x in ('dir /b ..\root\Licenses16\visioprovl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul)&(for /f %%x in ('dir /b ..\root\Licenses16\visiopro2019vl_kms*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" >nul)&echo.&echo ============================================================================&echo 正在尝试激活...&cscript //nologo ospp.vbs /unpkey:7VCBB >nul&cscript //nologo ospp.vbs /inpkey:9BGNQ-K37YR-RQHF2-38RQ3-7VCBB >nul&set i=1
:server
if %i%==1 set KMS_Sev=kms8.MSGuides.com
if %i%==2 set KMS_Sev=kms9.MSGuides.com
if %i%==3 set KMS_Sev=kms7.MSGuides.com
if %i%==4 goto notsupported
cscript //nologo ospp.vbs /sethst:%KMS_Sev% >nul&echo ============================================================================&echo.&echo.
cscript //nologo ospp.vbs /act | find /i "successful" && (echo 已完成,按任意键退出) || (echo 连接KMS服务器失败! 试图连接到另一个… & echo 请等待... & echo. & echo. & set /a i+=1 & goto server)
pause >nul
exit

8、以管理员身份运行active.bat,等待约5分钟,激活完成。

9、打开Visio或Project查看结果。