Networking

為什麼私有地址空間中的 IP 可以通過公共網路訪問,客戶可以對此做些什麼?

  • June 27, 2017

場景: 我有一個執行 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)。

引用自:https://serverfault.com/questions/857568