我希望这个问题符合论坛的规则。我们从伊朗访问国际互联网变得非常困难。只有一些特定的 VPN 可以使用。
您对我在伊朗设置 VPN 服务器有什么建议吗?例如,使用特定类型的数据中心的特定协议 - 特定技巧。
答案1
到目前为止,您可以尝试几种 VPN 协议。我将尝试总结这些协议,并结合我的观察,看看是否使用 DPI 可以轻松区分(和阻止)这些协议。
这篇文章并不是对任何商业或免费 VPN 服务的推荐,而是对一些现有流行协议的回顾,您可以使用这些协议来构建自己的服务。
可以通过任何简单的数据包过滤器轻松阻止的 Proto:
- 点对点隧道协议,TCP/1723- 控制,格雷- 数据。Proto 是硬编码的(端口号/底层协议无法更改)。很容易被阻止。
- L2TP 普通。UDP/1701。Proto 是硬编码的。很容易被阻止。
- 安全协议/IPSec,使用 NAT-T 或不使用。UDP/4500带有 NAT-T 或不带有 ESP 的 NAT-T 很容易被阻止。
- GRE/IP 中 IP封装,纯文本。可以使用 IP 报头分析轻松阻止。
- IPSec任何类型的(在 GRE/IP-in-IP 隧道之上,或没有)- VTI、传统隧道等。相同 - 可以使用以下方法轻松阻止IP 报头分析。
只能使用 DPI 阻止的 Proto,并且只能在应用特定 DPI 技能级别时阻止:
- 开放VPN. proto 不是硬编码的,端口可更改,使用 tcp 或 udp(tcp 是TCP 崩溃,并且 openvpn 总体来说实现得很差)。
- 电线保护。udp/自定义. 端口可变。
- SSH 隧道(
ssh -w [...]
),使用专用隧道接口。tcp/自定义端口,或者只是TCP/22- 这与普通的 SSH 无法轻易区分,而 SSH 又是互联网中最常用的协议之一。尽管这也是 TCP 崩溃的主题,但这是最难嗅探的情况。
最不重要的一点:根据我的经验,访问自由世界的互联网资源最简单的方法是使用TLS 加密的 HTTP 代理 无需VPN:例如,这可能仅仅是一个乌贼支持 TLS 的代理(对于 squid 来说,配置起来有点棘手,但仍然如此)和一个火狐和福克斯代理插件(后者是必需的,因为 FF 开箱即用,无法使用启用 HTTPS 的代理)。即使使用 DPI,此流量也与端口 3128(或您的 squid 配置为侦听的任何其他端口)上的自定义 TLS 流量无法区分。
错误:
- 还有一种 ICMP 隧道实现,但是开销太大,所以我不推荐它。
- 还有使用 TypeScript 编写的 VPN、使用 Visual Basic for Applications 编写的 VPN 以及使用 canvas for Microsoft Paint 编写的 VPN:尽管这些 VPN 名义上都可以运行,但由于性能极差而不推荐使用。
来自魔多的问候,祝你好运。