我在一所大学学习,那里使用 Cyberrom 进行互联网流量过滤。我使用 Open Vpn 连接到由 Webhosting 公司运营的服务器。VPN 服务器监听 40000+ 端口。我可以从大学网络连接到 Open VPN。我可以在 Linux CLI 上工作,没有任何问题。但如果我使用 rsync 或 scp 上传或下载文件,则打开 vpn 连接会断开。然后大约 15 分钟内我的客户端无法与 Open Vpn 服务器建立连接。因此,为了检测大学防火墙中使用了哪种类型的过滤系统,我让我的 Open VPN 服务器在端口 443 上运行。然后也出现了同样的问题。如果我在托管服务器上运行 shell 命令,该命令会不断将输出打印到 shell 上,那么 VPN 连接也会断开。
我尝试使用此命令进行 ping 泛洪sudo ping -i 0 -n -s 4088 somewanhost.com
。ping 开始,但在一些响应之后突然停止。
Web 访问工作正常。我甚至可以访问网页,也可以通过 http 或 https 下载大文件。这让我想到,如果只有 tcp 没有被过滤。所以我使用了 hping3(一个 tcp ping 工具):。sudo hping3 somewanhost.com -S -A -F -V -p 80 -i u10000
在这里,ping 也在一段时间后停止。我无法从浏览器访问网页。
我甚至尝试过 P2P 客户端。当我尝试在 Utorrent 上下载 Linux 发行版时,在启用加密并使用更高的端口后,它会出现连接错误。如果启用了加密,传输工作正常(但检测对等点需要很长时间)。
如果 Open Vpn 可以运行,那么我就可以访问安装在我的网络服务器上的 squid 代理,并且可以无问题地浏览。
学院不进行域名封锁或 IP 封锁。
我很好奇他们使用了什么样的过滤系统。除此之外,我还想让 Open Vpn 运行起来,这样我就可以运行托管在 Webhosts 服务器上的小型网站。
答案1
我认为他们几乎不可能在协议层面检测隧道内部发生的情况。
因此最可能的解释是,它们是基于传输的数据量而不是特定协议触发的。从您所描述的情况来看,它几乎总是由看似非交互式的东西触发。
我敢打赌,如果您在 openvpn 上使用 squid,然后尝试下载某些内容,如果达到一定程度的数据传输,它就会被丢弃。这并不太复杂,可以配置基本的 QoS(服务质量)来表示“如果 IP 地址在 y 时间段内为任何非标准端口传输超过 x 量的数据,则阻止 15 分钟”。