基于wsl-vpnkit实现Windows和WSL的双向任意访问,解决a-Trust等VPN客户端使能时无法互相访问的问题。
这里我把wsl-vpnkit作为了WSL的启动项,配置好了一劳永逸。

1、WSL网络模式需要为:VirtioProxy。其他网络配置项的开关无所谓,按需开启就行。

2-1、Windows端下载 wsl-vpnkit.tar.gz :https://github.com/sakai135/wsl-vpnkit/releases/download/v0.4.1/wsl-vpnkit.tar.gz

2-2、Windows端PowerSheel进入刚才下载的目录,执行命令把wsl-vpnkit导入wsl:

wsl --import wsl-vpnkit --version 2 $env:USERPROFILE\wsl-vpnkit wsl-vpnkit.tar.gz

3-1、进入WSL环境,下载wsl-vpnkit并解压:

# install dependencies
sudo apt-get update
sudo apt-get install iproute2 iptables iputils-ping dnsutils wget

# download wsl-vpnkit and unpack
VERSION=v0.4.1
wget https://github.com/sakai135/wsl-vpnkit/releases/download/$VERSION/wsl-vpnkit.tar.gz
tar --strip-components=1 -xf wsl-vpnkit.tar.gz \
    app/wsl-vpnkit \
    app/wsl-gvproxy.exe \
    app/wsl-vm \
    app/wsl-vpnkit.service

# remove tar
rm wsl-vpnkit.tar.gz

3-2、仍在WSL环境内,添加wsl-vpnkit到systemd:

# wsl-vpnkit setup as a distro
wsl.exe -d wsl-vpnkit --cd /app cat /app/wsl-vpnkit.service | sudo tee /etc/systemd/system/wsl-vpnkit.service

# copy and edit for wsl-vpnkit setup as a standalone script
sudo cp ./wsl-vpnkit.service /etc/systemd/system/
sudo nano /etc/systemd/system/wsl-vpnkit.service

# enable the service
sudo systemctl enable wsl-vpnkit

# start and check the status of the service
sudo systemctl start wsl-vpnkit
systemctl status wsl-vpnkit

4、注意,wsl-vpnkit文档中提到可以配置自定义DNS,这个操作不要做(会覆盖WSL内的DNS),除非你清楚自己在做什么

If modifying /etc/resolv.conf to set a custom DNS configuration, set generateResolvConf=false in wsl.conf .

— over —

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐