Што навистина прави полето Proxy во профил за VPN на Apple
Пополнувањето на поле за прокси не го претвора VPN-от во HTTP. Вклучени се две врски, а полето стигнува само до едната.
Пополнувањето на полето Proxy во конфигурација за VPN на Apple изгледа како да треба да го пренасочи тунелот низ веб-порта. Не го прави тоа. Полето избира посредник на ниво на апликација за сообраќајот што компатибилна апликација ќе реши да го испрати таму. А врската на самиот VPN клиент со неговиот портал ја одредуваат протоколот, слушачот и транспортот што сте ги поставиле, и тоа се одделни одлуки.
Две врски, два сопственици
Секоја ваква поставка вклучува врска од клиентот до порталот и врска од апликацијата до одредиштето. Делот Proxy зборува за втората, иако се наоѓа во истиот профил како и првата.
| Connection | What decides its behaviour |
|---|---|
| VPN client to VPN gateway | The supported protocol, the listening port, the transport and the network policy in between |
| Application to a selected proxy | The application's own proxy support, the configured proxy policy, and the route to that next hop |
Референцата на Apple за поставки за прокси ги наведува HTTP, HTTPS, SOCKS и автоматската конфигурација за прокси, што ги опишува изборите за прокси на апликациите. Ниту еден од тие записи не кажува како пакет на IPsec или WireGuard стигнува до портал.
Еве брза проверка што го решава прашањето. Наведете ја портата и протоколот што VPN клиентот ги пријавува во својот дневник. Ако таа линија и понатаму вели UDP 500 или UDP 51820, полето за прокси ништо не сменило во неа.
Кога полето е вистинската алатка
Има вистински случај кога прокси стои пред тунелот, но тоа е функција на клиентот, а не поле во профилот. Прирачникот на OpenVPN го документира --http-proxy за TCP врски што се пренесуваат низ прокси HTTP CONNECT. За да се користи, потребна е соодветната опција во клиентот, портал достапен на тој начин и прокси што дозволува CONNECT до портата што се користи.
Ако вашиот клиент ја нуди таа опција и мрежата дозволува CONNECT до портата, може да работи. Ако клиентот не ја нуди, пополнувањето на системско прокси нема никакво влијание врз тунелот.
Кога не менува ништо
Профил со IKEv2 или IPsec не станува HTTP тунел затоа што полето за прокси е пополнето. Ниту WireGuard, чиј формат за конфигурација нема поим за прокси. Менувањето на портата на порталот не го менува ниту неговиот протокол. А крајна точка што одговара на обичен HTTPS не е автоматски VPN слушач.
Истата стапица ги фаќа и оние што копираат профили од ерата на PPTP од стари прирачници за iPad. Опциите и понатаму постојат во интерфејсот; услугата зад нив веќе не зборува тој протокол.
Одлука кој слој да се поправи
Прашајте кој слој откажал пред да смените нешто. Ако клиентот не може да воспостави сесија, проблемот е во транспортот и полето за прокси е неважно. Ако тунелот работи, но една апликација не стигнува до својот сервер, вреди да се провери проксито на апликацијата. Ако тунелот работи и сите апликации откажуваат, осомничени се насочувањето и DNS во тунелот.
За првиот случај, прашајте го операторот кој одобрен алтернативен транспорт или мрежа ги поддржува. OpenVPN преку TCP 443 постои затоа што некои мрежи дозволуваат само тоа, и и понатаму бара серверот да го слуша.
Не сметајте блокирана UDP порта за дозвола за импровизација. Задржете ги проверките на сертификатот или идентитетот на порталот наместо да ги исклучите за да одговара ракувањето.
Потврдете ги двата слоја еден по еден
Најпрво потврдете го тунелот: проверете на страницата за состојба на клиентот дали има воспоставена сесија и број на бајти што не е нула. Потоа прочитајте ја поставката за прокси директно, со scutil --proxy за ефективната конфигурација или networksetup -getwebproxy Wi-Fi за зачуваната вредност. Потоа тестирајте една апликација што го почитува системското прокси и една што го игнорира, бидејќи многу вградени апликации го игнорираат.
Три резултати, три различни поправки.
Ако двата слоја пријават успех, а апликацијата и понатаму откажува, погледнете го поделеното тунелирање, DNS и сопствените мрежни поставки на апликацијата. Тоа е трет слој, и тоа исто така не е полето за прокси.