Windows Wireguard 流量无法接收

(请先确认你的配置文件是正确的,比如我在手机上的wireguard能成功接收流量,但在windows上无法接收。控制变量法,首先你得确认配置文件是对的!!!)

(请先确认你的配置文件是正确的,比如我在手机上的wireguard能成功接收流量,但在windows上无法接收。控制变量法,首先你得确认配置文件是对的!!!)

(请先确认你的配置文件是正确的,比如我在手机上的wireguard能成功接收流量,但在windows上无法接收。控制变量法,首先你得确认配置文件是对的!!!)


Wireguard客户端在Windows的流量只有发送,没有接收,打开网页显示DNS解析错误,话不多说,直接上干货。

查看日志发现:

[TUN] [WG] Warning: the "Wi-Fi" interface has Forwarding/WeakHostSend enabled, which will cause routing loops

解决方法:

  1. 【管理员模式】运行PowerShell
  2. 输入netsh interface ipv4 show interfaces

    找到你连接网络的索引Idx,我使用无线网连接的,因此我的名称为WLAN,Idx为4
  3. 输入netsh interface ipv4 show interface 4 (4换成你实际的Idx)
    看到转发是开启的状态
  4. 输入Set-NetIPInterface -ifindex 4 -Forwarding Disabled (4换成你实际的Idx),关闭转发
  5. 再次输入netsh interface ipv4 show interface 4 (4换成你实际的Idx),可以看到转发已经关闭

    再次连接WireGuard,可以正常访问,接收与发送流量正常,问题解决~

    但是重连之后又恢复成enable状态了,目前临时的解决方法是,重连后我们手动执行下写好的bat命令
<# :
@powershell "icm ([scriptblock]::Create((gc '%~f0' -Raw -Encoding UTF8)))"
exit
#>
Set-NetIPInterface -ifindex 4 -Forwarding Disabled
netsh interface ipv4 show interface 4 
pause
# powershell script

注意,这个bat命令必须以管理员方式运行,但是每次都要右击选择管理员很麻烦,有什么方法直接双击就可以直接运行呢?当然有,我们右击这个bat,选择创建快捷方式,再右击快捷方式,选择属性->高级->用管理员身份运行,当然,这个方法也是临时的。

问题反思:

  • 当连接不上时,我首先看到的是网页DNS错误,于是下意识认为是DNS的问题,导致问题解决方向错误,应该首先查看日志,分析错误原因。
  • 找到Warning日志后,在国内找不到解决方法,于是去Reddit搜寻,第一条就是解决方案,附链接:https://www.reddit.com/r/WireGuard/comments/t8cqyp/wireguard_client_not_working_on_windows_transfer/
  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值