Вопрос или проблема
Я использую публичную точку доступа Wi-Fi. Обычно, когда я подключаюсь к таким, я сразу подключаюсь к VPN моего колледжа. На этой точке доступа работает только браузинг (ни одна программа, кроме браузера, не может получить доступ к интернету, включая ping-команды из терминала). Я предполагаю, что это из-за брандмауэра, используемого провайдером точки доступа.
Мне сказали, что можно направить весь мой трафик через SSH-туннель, указав правильный порт. Я могу настроить сервер в своей домашней сети для создания туннеля, но у него нет статического IP. Есть ли способ обойти это или, возможно, более простой способ, чем SSH-туннелирование?
Обновление: С тех пор я настроил Raspberry Pi со статическим IP в своей домашней сети. Могу ли я направить весь мой трафик через SSH через RPi или даже просто создать туннель для VPN-соединения (которое я обычно использую), если бы порты, которые оно использует, не были заблокированы через SSH (меня не очень беспокоит задержка).
ни одна программа, кроме браузера, не может получить доступ к интернету
Скорее всего, доступ к интернету контролируется по характеристикам пакетов. Вероятно, разрешаются пакеты UDP 53 и TCP, выходящие на порты 53, 80 и 443 (вместе с ответами).
Поэтому вам, вероятно, стоит попробовать использовать TCP VPN на порту 443 (обратите внимание, что удаленный конец должен быть настроен на ожидание соединений там) или SSH на порту 443.
HTTP-соединения обычно живут относительно недолго, так что даже если вы подключитесь, вы можете обнаружить, что соединение прервется через несколько минут.
но у него нет статического IP
Используйте службу динамического DNS.
Если вы можете подключиться к вашему SSH-серверу из точки доступа, вы можете перехватить локальный порт к VPN-серверу. Если допустить, что VPN доступен через TCP:
ssh my-raspberry-pi -L9000:vpn.example.com:openvpn
Это не будет очень эффективно, однако.
Если ваш VPN использует UDP, я не знаю ни одного готового способа туннелирования UDP-дейтаграмм через SSH. Вы можете использовать VPN через SSH.
Ответ или решение
Когда вы подключаетесь к общественной точке доступа Wi-Fi и обнаруживаете, что лишь веб-браузер может получить доступ к интернету, это часто связано с ограничениями, установленными провайдером Wi-Fi. Обычно они позволяют трафик только через определенные порты, такие как 80 (HTTP) и 443 (HTTPS). Это может препятствовать работе VPN или других приложений, используя другие порты или протоколы, такие как UDP.
Решение проблемы посредством перенаправления портов и SSH туннелирования
Подготовка сервера
Поскольку вы настроили Raspberry Pi с статическим IP в вашей домашней сети, вы можете использовать его как сервер для туннелирования. Поскольку ваше подключение к VPN сталкивается с блокировками, использование динамического DNS сервиса может решить проблему отсутствия статического IP. Это позволит вам подключаться к вашему Raspberry Pi с разных мест без необходимости знать текущий динамический IP адрес вашего домашнего сетевого подключения.
SSH туннелирование
SSH может быть полезно в обходе сетевых ограничений. С помощью SSH туннелирования можно перенаправить локальный порт на порт VPN, используя Raspberry Pi как посредник. Например, если ваш VPN сервер доступен по IP vpn.example.com
через OpenVPN:
ssh my-raspberry-pi -L9000:vpn.example.com:openvpn
Этот подход создаст локальный порт 9000, через который можно получить доступ к VPN серверу. Однако, такое решение может быть неэффективным по скорости и стабильности.
Использование TCP VPN
Попробуйте настроить ваш VPN для работы через TCP порт 443. Этот порт, обычно используемый для HTTPS трафика, скорее всего не будет заблокирован. Однако, убедитесь, что ваш VPN-сервер сконфигурирован для обработки подключений через этот порт.
Обход ограничений
Если ваш VPN работает исключительно на UDP, то использовать SSH для его туннелирования будет сложнее. В этом случае, вы можете рассмотреть использование VPN-сервиса, который поддерживает туннелирование через SSH, как описано в документации Ubuntu по VPN over SSH. Пример использования таких технологий может потребовать более детальной настройки и понимания сети.
Заключение
Настройка VPN через общественные точки доступа иногда может потребовать применения нестандартных методов из-за сетевых ограничений. Использование SSH туннелирования и динамиического DNS может существенно облегчить подключение, однако, стоит учитывать возможные потери в производительности и стабильности соединения. Помимо этого, наличие запасного плана в виде перехода на TCP VPN может стать надежным решением для обеспечения стабильного доступа к вашим сетевым ресурсам.