Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

1 Windows 杂谈

作为使用人数最多,覆盖最广的操作系统,是组网绕不开的。且不说60%的开发者使都使用Windows开发程序,很多的游戏,剪辑软件,显卡驱动都更加贴合Windows。

Linux以简洁的命令,清晰的架构,快捷的程序安装,成为了无数服务喜爱的温床。Wireguard在Linux中可以被方便的部署,配置。

多年使用Wireguard的我总结了多项Wireguard在Windows中的痛点,有了我的解决方案。

2 命令行操作

正常来看,Windows只能通过UI界面对接口进行操作,UI关闭后网络接口将会被关闭。所有配置的导入,修改,都依赖UI (ssh噩梦)。

不同于Linux有wg-quick接口控制工具,Windows只保留了最原始wg工具。但少有人知道,wireguard.exe本身不止是一个UI,还是一个命令行工具。

将Wireguard目录添加系统环境变量(默认安装时已经添加),然后彻底关闭UI页面(再见了UI)。

  • 安装新接口作为系统服务(后台安装,不会开启UI接口,类似与wg-quick,且重启不会丢失)
1
wireguard.exe /installtunnelservice "%CONF_PATH%"
  • 卸载同理
1
wireguard.exe /uninstalltunnelservice "%WG_INTERFACE%"
  • wg 工具和 Linux 一样,包括 wg showwg sync ,这里不再赘述。

3 IP转发

两者类似,但是要注意Windows要在powershell运行命令。

1
2
3
4
5
6
# Linux
sysctl -w net.ipv4.ip_forward=1

# Windows
Get-NetIPInterface
Set-NetIPInterface -Forwarding Enabled

4 跨接口转发

  • 将Windows下Wireguard网络接口级别设置为Private
1
Set-NetConnectionProfile -InterfaceAlias "%WG_INTERFACE%" -NetworkCategory Private
  • 启用NAT转发Wireguard流量到别的接口
1
2
# Linux
New-NetNat -Name "WG-NAT" -InternalIPInterfaceAddressPrefix %WG_ALL_IPS%
  • 等价于以下Linux命令
1
iptables -t nat -A POSTROUTING -s %WG_ALL_IPS% -o eth0 -j MASQUERADE
欢迎查看我的项目 fast_fullmesh

WGDashboard 插件,用于自动生成 WireGuard 配置(Half Mesh),客户端主动订阅配置,集中管理。

评论