老E的博客

  • 首页
  • 关于
  • 技术应用
    • VPS相关
    • AI相关
    • 盒子相关
    • 其他
  • 订阅Youtube频道
  • 网络加速
    • expressvpnNo.1 ExpressVPN
    • 最佳免费VPN-PrivadoVPN
    • NordVPN
    • 廉价王者-Surfshark
    • PrivateInternetAccess
    • 解锁一切-PrivateVPN
  • 公益资源
    • AI导航
    • 工具下载
    • Docker镜像加速
  • 友情链接
    • tickcloudTickcloud
老E的博客
专注记录并分享跨境技术应用及随想
  1. 首页
  2. 技术应用
  3. VPS相关
  4. 正文

无法检测的翻墙方法与工具?小众应用vpnhood部署与使用

2024年8月14日 3781次阅读 0条评论
clawcloud
expressvpn best vpn
privado vpn
surfshark vpn
private vpn
pia vpn
nord vpn

Outline 是非常流行的开源 VPN 工具,适用于非专业人员自建 VPN 服务并随时随地使用。互联网上各种反审查、反嗅探工具层出不穷,本文介绍另外一个小众的 VPN 工具-vpnhood,同样包含 gui 客户端。号称“无法检测”,即便知道这是不可能的,还是简单尝试一下。Vpnhood 是 github 上的一个开源项目,自述为混合 VPN,捕获、路由所有数据包,采用 socks 进行代理连接。VpnHood  支持 TCP、UDP 和 ICMP(仅限 Ping)。在将流量封装为 https 时,为了提高性能和功耗,如果原始 TCP 流已经经过了加密,则仅对原始 TCP 流的标头 (TLS Hello) 进行加密。

dg

规避和隐私的另一种方式!
普通用户和专家无法检测到的 VPN。VpnHood 是一种绕过高级防火墙并规避深度数据包检测的解决方案。VpnHood 完全是用 C# 从头开始创建的。
An alternative way for circumvention and privacy!
Undetectable VPN for ordinary users and experts. VpnHood is a solution to bypass Advanced Firewalls and circumvent deep packet inspection. VpnHood has been created entirely from scratch in C#.

行为审计与流量

作者认为,行为、访问内容比协议重要 1000 倍,执法者不关心你用什么协议、什么软件,关心的是你干了什么,运营商关心的是你有没有滥用计算和网络资源。无论什么工具,在超大访问流量、黑名单内的访问内容、异常的行为面前都只是一张纸,切记出了问题,和工具开发者、服务提供商是无关的。

理论上,仅从数据包分析角度来看待流量特征,vpnhood 一类的工具是不可检测的。GFW 多数情况下表现为无状态,状态检测的功能缺失由电信运营商或企业级网关弥补。足够算力支撑下的状态检测,DPI 深度数据包检测仅仅是审计的一部分,行为审计则监控、记录、分析用户的上网行为,而非数据包特征。即使近似或等同于 https 流量,行为异常也同样会触发安全警告甚至被屏蔽。普通用户经常涉及的行为异常项包括:

  • 访问过滤列表中的网站、服务或应用
  • 持续或突然的高带宽占用、流量出现大幅度抖动
  • 网络访问超出安全阈值(时间、数量、流量,涉及 IP、SNI、域名等)
  • 异常的身份验证与劫持可能性等

国内正常工作需求场景下的月均流量大约是 80GB、日均不到 3GB,如果安全阈值设置为 2 倍历史均值、5 分钟切片时间,在某个时间段 5 分钟内收发了 6.1 GB 数据,就会触发行为异常处理。这里的 80 GB 只能来自于对持证上网者的统计数据。大部分人不需要刻意记录自己的上网流量或其他行为,因为大部分人和少量持证上网者的行为特征是相同的,仅从流量和带宽需求来看,大部分人的大部分时间消耗都不是在刷剧。

因此,将自己开通的 google e2-micro 配置为代理服务器,建议使用类似 vpnhood、wstunnel 等采用标准化协议的工具,可以有效降低服务的可探测性,把精力放在“哪个协议穿墙能力强”上是完全没必要的,采用 shadowsocks 2022 的 outline 至今大多数情况下工作良好。

Vpnhood部署

Vpnhood 服务端支持 windows、linux,客户端应用支持 windows、linux 和 android。

服务端部署

本文以 google e2-micro 为例,架构为 x64,操作系统为 debian 12。Vpnhood 默认采用自身的 Access Server 帮助生成、分发服务端访问密钥(access key),建议自行生成、分发。以下命令分别安装 vpnhood 服务端并设置开机自启、生成访问密钥(access key)、启动 vpnhood 服务。

bash <( wget -qO- https://github.com/vpnhood/VpnHood/releases/latest/download/VpnHoodServer-linux-x64.sh) 
/opt/VpnHoodServer/vhserver gen 
systemctl start VpnHoodServer

要查看 vpnhood 服务状态,可使用 systemctl 命令。

systemctl status VpnHoodServer.service

Vpnhood 也提供了 docker 部署方式,可以使用以下命令拉取镜像、加载容器。使用 docker 方式部署也可自行生成服务端访问密钥,容器映射的宿主机配置文件目录为 /opt/VpnHoodServer。

bash <( wget -qO- https://github.com/vpnhood/VpnHood/releases/latest/download/VpnHoodServer.docker.sh
#docker run -v "/opt/VpnHoodServer/storage:/app/storage" "vpnhood/vpnhoodserver" gen

客户端安装与使用

Vpnhood 提供了 windows、linux 和 android 客户端,可在项目仓库release页面下载。

vpnhood client

客户端安装之后,双击打开。点击服务器,将服务端生成的密钥(access key)添加进来即可。

vpnhood

单栈配置

Vpnhood 默认启用 IPv4/6 双栈,这会造成一些小麻烦。类似长期白嫖的 google e2-micro,只提供 IPv4 堆栈支持,很多免费或便宜的 vps 仅有 IPv6 堆栈。这种情况下,vpnhood 服务端存在的 bug 会导致无法正常启动。可通过添加、编辑服务端配置文件 /opt/VpnHoodServer/storage/appsettings.json 加以解决。

#具体路径可能不同,自行修改适配
cd /opt/VpnHoodServer/storage
nano appsettings.json
systemctl restart VpnHoodServer

#/opt/VpnHoodServer/vhserver gen #生成新的 access key

单 IPv4 堆栈 vps 的配置文件完整参考如下:

{
  "HttpAccessManager": null,
  "FileAccessManager": {
    "ServerTokenUrl": null,
    "HostPort": null,
    "IsValidHostName": false,
    "PublicEndPoints": null, 
    "TcpEndPoints": [ "0.0.0.0:443" ],
    "DnsServers": [ "1.1.1.1", "[2606:4700:4700::1111]" ],
    "AddListenerIpsToNetwork": null,
    "SslCertificatesPassword": null,
    "ReplyAccessKey": true,
    "Tracking": {
      "TrackClientIp": false,
      "TrackLocalPort": false,
      "TrackDestinationIp": false,
      "TrackDestinationPort": false
    },
    "Session": {
      "Timeout": 600,
      "UdpTimeout": 60,
      "TcpTimeout": 900,
      "IcmpTimeout": 30,
      "MaxDatagramChannelCount": 8,
      "TcpBufferSize": 8192
    },
    "NetFilter": {
      "IncludeLocalNetwork": false,
      "PacketCaptureIncludeIpRanges":[ "0.0.0.0/0"],
      "PacketCaptureExcludeIpRanges": [],
      "IncludeIpRanges": ["0.0.0.0/0"],
      "ExcludeIpRanges": []
    }
  },
  "IsDiagnoseMode": false
}

如果是单 IPv6 堆栈主机,将参考内容中所有 IPv4 CIDR 替换为 IPv6,并注意以下几点:

  • 防火墙放行相应端口,如示例的 TCP 443
  • 使用小于或等于 1024 的端口,应为 vpnhood 提供 root 权限
  • TCP、UDP 端点 IP 需保持一致
  • 修改配置后建议重新生成服务器密钥

Vpnhood 还为开发者提供了广告接口、支付接口和 MAUI 支持,为不顾虑协议“单薄”的机场运营着,提供了更接近 vpn 的可能。Outline、vpnhood 等都是开源的 vpn 工具,从功能、稳定性、易用性等方面来看,vpnhood 还需要不断迭代才可能逐步流行。

更多精彩,敬请关注老E的博客!

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: Linux系统运维 proxy client socks over TLS vpn 开源应用 虚拟专用网络
最后更新:2024年8月23日

老E

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

站内搜索
归档
  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2025 年 2 月
  • 2025 年 1 月
  • 2024 年 12 月
  • 2024 年 11 月
  • 2024 年 10 月
  • 2024 年 9 月
  • 2024 年 8 月
  • 2024 年 7 月
  • 2024 年 6 月
  • 2024 年 5 月
  • 2024 年 4 月
  • 2024 年 3 月
  • 2024 年 2 月
  • 2024 年 1 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 10 月
  • 2023 年 9 月
  • 2023 年 8 月
  • 2023 年 7 月
  • 2023 年 6 月

Copyright ©2023-2025 Appscross. All Rights Reserved.