场景: 我有一个运行 Win7 Pro 和 OpenVPN 客户端的客户;他们的一名员工使用此工作站将远程 cmds 发送到(Windows)OpenVPN 服务器,两者都使用 psexec 和 smb。
发生了什么: 多年来一切都很好,直到他们的系统管理员将工作站升级到 Windows 10 Pro。他依靠 Windows 升级顾问,只是卸载了标记为不兼容的旧防病毒软件。升级后,他真诚地进行了以下测试:
-检查客户端上的openvpn服务->正在运行
-ping 10.8.0.1(服务器的 ip)-> OK
所以他显然认为一切都很好。
由于该工作站由员工在夜间使用,在我被他们的内部系统管理员参与后的第二天早上,因为员工无法发送更新。他说没有任何服务确实通过 vpn 发送回复,只有 icmp 正在工作。首先,我对我希望可以访问的端口进行了一些 telnet,发现我的即时连接被拒绝。我ping了一下,在250的回复中发现了一个TTL值!?!?我做了以下跟踪:
C:\>tracert -w 100 10.8.0.1
Traccia instradamento verso 10.8.0.1 su un massimo di 30 punti di passaggio
1 3 ms 2 ms 2 ms 192.168.0.4
2 1 ms 2 ms 2 ms 192.168.22.41
3 1 ms 3 ms 1 ms 10.139.59.130
4 5 ms 3 ms 3 ms 10.3.132.113
5 15 ms 13 ms 15 ms 10.254.12.202
6 15 ms 15 ms 15 ms 10.254.1.245
7 27 ms 25 ms 23 ms 10.8.0.1
我第一次看到这个是难以置信的,但是 0.4 是他们内部的默认 GW,22.41 是他们的一个路由器,而且这个路由器只连接到 ISP。
修复 Openvpn 问题: 我很快发现关于 Win10 升级和 openvpn 客户端这只是路线混乱的问题,openvpn 日志证实了这一点,并且解决方案(升级到最新的 openvpn)修复了它。如果策略路由在此 22.41 上行链路上建立连接,我仍然可以从其网络中未运行 OpenVPN的任何其他计算机 ping 10.8.0.1。如果我将连接路由到他们的 4 个(总共 5 个)上行链路中的任何一个,问题就不会发生。由于这个“说海盗”10.8.0.1 在每个端口上都会立即拒绝并且一切都已关闭,我认为它可能是一个路由器。我只是想知道 ISP 是否违反了RFC 1918,否则我怎么可能从公共网络中的私有地址空间 ping 一个 ip!?
--- 编辑 2
问题: 由于客户认为这种意外行为损害了他们的业务,他们能否提及任何文件,例如 RFC,说明 ISP 违反了任何提供互联网服务的服务规则?
RFC1918 ISP 可以使用私有地址空间,通常它对客户是透明的,看起来他们的防火墙/ACL 配置错误,因为这些地址对客户不可见。
联系运营商,通过 Net-Whois 或通过客户支持联系 NOC。我不知道可以采取任何法律行动。
RFC 6598 (100.64.0.0/10) 被划分为 CGN/NAT444 空间,供 ISP 在过渡到 IPv6 空间时使用。每个 ISP 都做自己的事情,标准不是法律。
如果不出意外,您可以配置您的客户防火墙以将未使用的私有 ISP 空间丢弃到 WAN,这可能需要更好的路由器/防火墙或第 3 方软件 (DDRWRT)。