大埃及防火墙

全球流行病肆虐,人们正在以工业规模购买厕纸和荞麦,并且大多数IT公司都将员工转移到偏远地区。我的雇主也是如此-德国半官方办公室。

基本上没有问题,但是一个月前我们的一名员工,当时一切看上去还不那么恐怖,我去埃及的亲戚度假,由于边境关闭而被安全地困在那里。好吧,她很健康,可以随身携带一台笔记本电脑-隔离自己并通过VPN工作。一个星期可以工作,两个星期……在第三周,VPN停止连接。第一行的支持检查了普通情况,就像重新启动一样-并没有帮助。第二行开始诊断:在TLS握手阶段,连接进入永久超时。禁用了本地防火墙-它没有帮助。我们尝试了另一辆车-它不起作用。另一个提供程序不起作用。此时,支持团队根据“网络管理员应负责”的良好旧原则放弃并高兴地将问题推给了我。

我们查看服务器日志:在回答初始数据包后,他看不到任何尝试到达它的尝试。有趣,很熟悉。我打电话给一名员工,我对他们如何处理一般人权特别是互联网自由感兴趣。他说情况很糟糕,互联网正在阻止它们,以至于骆驼打Ro,而Roskomnadzor则紧张地在场上抽烟。是的...快速搜索显示了自2017年以来埃及对类似VPN问题的大量投诉。为了使情况更完整,我问该员工最近几年是否在该国居住了两个多星期-她说,没有,从来没有去过。难题开始成形。

我们在免费的白色IP上生成公司VPN服务器的副本-没有连接。预期。
我们更改端口-没有连接。真可悲

我们更改协议-没有连接。难题已经发展了-在我们面前是像强大的中国防火墙一样的DPI。

员工很伤心,老板明确地问:“你是俄罗斯黑客,做点什么。” 好吧。揭开Darknet的重型火炮并旋转诡异的东西。

对于服务器(CentOS 7),它看起来像这样:

~ sudo pip install virtualenv
~ cd /etc/openvpn && virtualenv venv && source venv/bin/activate
~ sudo pip install obfsproxy
~ sudo -u openvpn /etc/openvpn/venv/bin/python /etc/openvpn/venv/bin/obfsproxy obfs3 --dest=127.0.0.1:1194 server 1.2.3.4:49416

对于这样的客户端(MacOS):

~ brew install pip
~ pip install pyopenssl obfsproxy
~ obfsproxy obfs3 socks 127.0.0.1:8443

在客户端的OpenVPN配置中,添加:

socks-proxy-retry
socks-proxy 127.0.0.1 8443

利润 本地签名检测算法未检测到obfsproxy包装器中的OpenVPN,会话开始,ping通,流量运行,员工感到高兴。只剩下以这种 “明显”的方式添加obfsproxy客户端部分以自动加载(我讨厌罂粟花)。我本着慰问囚犯的方式告别,并本着“这样解决问题,但我不能保证稳定的精神,写信给支持”,只有在没有其他解决办法的情况下,您才能使用此解决方法。

显然,在埃及,有一个特别狡猾的DPI,起初它不会阻止与新订户的通信和/或与新主机的通信,这是指有条件的“游客”类别。并且在某个超时时间到期后,该用户被归类为“他们自己”,并高兴地减少了流量以取悦当地国王。

All Articles