
我在 Ubuntu 16.04 上使用 Linux StrongSwan U5.3.5/K4.4.0-116-generic 和 IOS 11 IKEv2 用戶端。
連線可以在我的客戶端(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 conn:
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
[更新]經過一番嘗試和錯誤,我相信原因就是 BillThor 所描述的。我發現在無審查的 WIFI 環境中,當我連接到相同(IKEv2)server1 上的 HTTPS 連接埠時,它是一個單獨的 TCP 連結。
另一方面,當我從內部審查的WIFI連接到另一個L2TP伺服器2(不是HTTPS)時,我可以成功連接到原始伺服器1的HTTPS連接埠。
答案1
VPN 流量可以透過封包檢查輕鬆偵測到,或者在本例中僅透過正在使用的連接埠進行偵測。您的公司很可能知道您正在嘗試或正在做什麼。
如果您嘗試存取與連接 VPN 所使用的相同 IP 位址,則該位址不會傳送至 VPN。至少,直接連接到 VPN 伺服器的位址。 VPN 可能能夠路由 VPN 未使用的連接埠的目的地。
由於您的右側位於 10.0.0.0/8 私人位址空間,因此您的 IP 位址將在您的一端進行網路位址轉換。如果同一 LAN 上的多個裝置連接到相同遠端 VPN 伺服器,則很容易發生故障。
如果您希望瀏覽器流量始終路由到 VPN,則需要將瀏覽器設定為使用可透過 VPN 存取的位址上的代理伺服器。如果您的位址顯示為您的本機 IP 位址,則它正在穿越 VPN。