IPSEC IKEv2 不隱藏 HTTPS
我在帶有 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。