我已经花 2 天时间解决一个超过我的认知的网络情况。。。
公司的移动专线借道家里的电信访问 vps ,
1 。仅一天左右的时间,这些在电信网络新建的防火墙端口会从之前延迟 30ms 左右,变到才 2ms 左右。
2 。之前 30ms 时移动访问电信代理,通过
ip138.com 返回的是电信的 ip ,2ms 时返回的是移动专线当前的出口 ip???
3 。借道电信访问 vps 返回的倒是正确的 vps ip ,虽然这些端口延迟依然只有 2ms 左右,使用的是 verifyChain = yes
4 。因为问题 2 ,导致我怀疑我之前是不是看错 stunnel 的文档,特别是当前使用的 verifyPeer = yes 参数是理解错了
5 。试了 N 种 stunnel 配置都无法解决。于是使用 iptables knock door
这下更是傻眼了,电信 stunnel 中继端能看到移动专线的连接 ip ,但是它的防火墙无法抓到 2ms 的端口的源 ip 。也就是移动它不知道用了什么组网技术,即能让这种网络连通,又能中间人改动出口 ip 。。。而我以为用 verifyPeer = yes 保证了端到端的安全,再怎么也不应该连出口 ip 都变了啊!!!
这些结果已经完全超过我的认识,特别移动到底有没有能力在 1 天之内就中间人成功。verifyPeer = yes 参数之前没实际使用过,不知道能否达到 verifyChain = yes ,主要是电信处用的 openwrt ,似乎当它做为服务器端时,有些结果和 linux vps 不大一样。