Чи може безкоштовний проксі дати вам вхідний порт?
Проксі-ендпоінт для вихідних запитів не надає автоматично публічний слухач, який переспрямовує вхідні з’єднання на ваш комп’ютер.
IP-адреса та порт зі списку проксі зазвичай позначають місце, до якого підключається ваш застосунок. Це не публічний порт, зарезервований для того, щоб інші люди могли дістатися вашого комп’ютера.
Ця різниця важлива, якщо ви хочете приймати вхідне з’єднання. Вихідний запит через проксі по суті каже: підключися до цього призначення замість мене. Публічний слухач вимагає, щоб посередник прийняв чуже з’єднання й пов’язав його з вашим сервісом.
Шукайте справжню функцію вхідного трафіку
HTTP CONNECT будує тунель до призначення, названого в запиті. Він не просить проксі опублікувати довільний порт прослуховування від вашого імені.
SOCKS5 визначає окрему команду BIND. Обмін BIND у протоколі надає прив’язану кінцеву точку й згодом повідомляє про вхідне з’єднання. Це не звичайна команда CONNECT, яку використовує вебклієнт. Служба, що рекламує підтримку SOCKS5, може обмежити або не реалізувати команду; клієнтське програмне забезпечення теж має підтримувати передбачений обмін.
Навіть успішні переговори BIND не є обіцянкою постійного публічно опублікованого порту загального призначення. Політика служби, очікуваний партнер, термін життя й навколишній мережевий шлях усе ще важливі.
HTTP-проксі — не SSH-сервер
Віддалене переспрямування через SSH — ще один спосіб, яким оператор може явно надати вхідний доступ. Для нього потрібні служба SSH, обліковий запис і дозвіл на переспрямування. Спрямувати команду SSH на публічний порт HTTP-проксі — не означає створити ці можливості.
Перш ніж обирати службу, визначте потрібний напрямок: вихідні запити через інший вихід або вхідні з’єднання до застосунку, який ви запускаєте. Якщо друге, шукайте документовану функцію вхідного переспрямування в межах угоди, яку ви контролюєте. Звичайний рядок у списку проксі не доводить, що така функція існує.