Https

IPSEC IKEv2 不隱藏 HTTPS

  • March 5, 2018

我在帶有 IOS 11 IKEv2 客戶端的 Ubuntu 16.04 上使用 Linux strongSwan U5.3.5/K4.4.0-116-generic。

在我的客戶端(IOS 11)上可以成功建立連接,如果我去 ip 檢查網頁,例如 myip.com,它會顯示 VPN 伺服器的地址。

但是,我發現如果我連接到同一伺服器上的自定義埠用於 HTTPS,即使建立了 IKEv2,它也可能被我的邪惡 nat 防火牆阻止。

我的理解是 IPSEC 將通過埠 500/4500 創建一個隧道,並對所有流量進行加密。因此,我想知道我的公司或其他(國家級)防火牆如何區分不同的流量?即在任意埠上刪除我的 https 請求。

我嘗試直接使用ip地址訪問,即https://xx.xx.xx.xx:12345,但似乎沒有什麼區別。

我懷疑這條隧道不是端到端(我的 iphone 到伺服器)隧道。因為我的 iphone 在 NAT 後面,所以從我的 IOS 到我公司網關的連接沒有加密。這是原因嗎?

這是 ipsec.conf 連接:

config setup
   cachecrls=yes
   uniqueids=yes
   charondebug=""

conn %default
   keyingtries=%forever
   dpddelay=30s
   dpdtimeout=120s


conn IKEv2-EAP-TLS
   auto=add
   type=tunnel
   keyexchange=ikev2
   dpdaction=clear
   dpddelay=300s
   authby=pubkey
   left=%SERVERIP%
   leftid=%SERVERIP%
   leftsubnet=0.0.0.0/0
   leftcert=vpnSrvCert.der
   leftsendcert=always
   right=%any
   rightid=%any
   rightsourceip=10.10.10.0/24
   rightdns=8.8.8.8,8.8.4.4
   rightauth=eap-tls

$$ Update $$ 經過一些反複試驗,我相信原因是 BillThor 所描述的。我發現在沒有審查的 WIFI 環境中,當我連接到同一(IKEv2)伺服器 1 上的 HTTPS 埠時,它是一個單獨的 TCP 連結。 另一方面,當我從內部審查的 WIFI 連接到另一個 L2TP server2(不是 HTTPS)時,我可以成功連接到原始 server1 的 HTTPS 埠。

VPN 流量很容易通過數據包檢測來檢測,或者在這種情況下僅通過使用的埠檢測。您的公司很可能知道您正在嘗試或在做什麼。

如果您嘗試訪問與連接 VPN 相同的 IP 地址,則不會將其發送到 VPN。至少,VPN 伺服器的地址是直接連接的。VPN 可能能夠為 VPN 未使用的埠路由目的地。

由於您的右側在 10.0.0.0/8 私有地址空間中,因此您的 IP 地址將在您端進行網路地址轉換。如果同一個 LAN 上的多個設備連接到同一個遠端 VPN 伺服器,這很容易被破壞。

如果您希望您的瀏覽器流量始終路由到 VPN,您需要將瀏覽器配置為在可通過 VPN 訪問的地址上使用代理伺服器。如果您的地址顯示為您的本地 IP 地址,則它正在遍歷 VPN。

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