Подключитесь к Raspberry Pi через SSH, используя VPN.

Вопрос или проблема

У меня есть Raspberry Pi, подключенный к моей локальной сети через Ethernet-кабель, я получаю к нему доступ с помощью putty через свой ноутбук, подключенный к той же сети, по локальному адресу 192.168.x.x порт 22.

Теперь я хотел бы подключить свой Raspberry Pi к VPN (в данном случае к NordVPN), но, очевидно, после ввода команды nordvpn connect соединение с putty к Raspberry Pi теряется, думаю, потому что пакеты, выходящие из Raspberry Pi в этот момент, перенаправляются на сервера NordVPN, а не на мой компьютер.

Так есть ли способ правильно подключиться к моему Raspberry Pi в моей сети, пока VPN активен на Raspberry?

Тот же вопрос задается здесь: https://unix.stackexchange.com/questions/365285/how-to-allow-ssh-into-terminal-after-connecting-to-vpn-server-using-nordvpn-serv. Решение заключалось в том, чтобы выполнить команду, позволяющую пакетам ssh обходить соединение VPN.

ip rule add from x.x.x.x table 128
ip route add table 128 to y.y.y.y/y dev eth0
ip route add table 128 default via z.z.z.z

Где x.x.x.x — это ваш публичный IP-адрес сервера, y.y.y.y/y должен быть подсетью вашего публичного IP-адреса сервера, eth0 должен быть вашим публичным Ethernet-интерфейсом сервера, а z.z.z.z должен быть шлюзом по умолчанию.

Ответ или решение

Для подключения к Raspberry Pi через SSH при активном VPN (в данном случае NordVPN), необходимо продумать несколько аспектов, которые помогут избежать потери соединения. Это связано с тем, что после подключения к VPN весь трафик, включая SSH, начинает маршрутизироваться через VPN-сервер, что может привести к отключению от устройства. Ниже приведены подробные инструкции, как обойти эту проблему.

Подготовка к подключению

  1. Установите NordVPN на вашем Raspberry Pi и убедитесь, что он корректно работает. Проверьте вашу текущую конфигурацию, используя команду:

    nordvpn status
  2. Определите локальный IP-адрес Raspberry Pi, который вы используете для подключения (например, 192.168.x.x) и его сетевой интерфейс (обычно это eth0 или wlan0).

  3. Убедитесь, что вы знаете внешний IP-адрес вашего Raspberry Pi, так как он будет использоваться для маршрутизации.

Отключение SSH от VPN

Для того чтобы ваши SSH-запросы обходили VPN, вам нужно настроить маршруты и правила. Это достигается довольно просто с помощью следующих команд:

  1. Создайте специальную таблицу маршрутизации:

    sudo ip rule add from YOUR_PUBLIC_IP table 128

    Замените YOUR_PUBLIC_IP на ваш реальный внешний IP-адрес Raspberry Pi.

  2. Добавьте маршруты в эту таблицу:
    Для определения необходимых параметров можно использовать команду ip route или ip addr.

    • Определите подсеть вашего внешнего IP:
      ip route show | grep -w YOUR_PUBLIC_IP
    • Затем добавьте маршрут:
      sudo ip route add table 128 to YOUR_SUBNET dev eth0

      Замените YOUR_SUBNET соответствующей подсетью.

  3. Укажите основной шлюз:

    sudo ip route add table 128 default via YOUR_DEFAULT_GATEWAY

    Опять же, YOUR_DEFAULT_GATEWAY должен быть вашим основным шлюзом, который можно определить через команду ip route.

Применение настроек

Эти настройки будут сбрасываться при перезагрузке, поэтому для их постоянного применения рекомендуется добавить их в файл конфигурации сети или использовать скрипт при старте системы.

  1. Вы можете создать отдельный скрипт, например, vpn_ssh_bypass.sh и добавить его в автозагрузку.

  2. Либо вставьте команды в файл /etc/network/interfaces или в rc.local.

Тестирование соединения

После выполнения вышеуказанных шагов попробуйте подключиться к вашему Raspberry Pi через SSH, используя Putty с локального компьютера под управлением вашей сети:

ssh pi@192.168.x.x

Если всё настроено правильно, вы сможете подключиться к вашему Raspberry Pi даже с активным VPN-соединением.

Заключение

Использование VPN с Raspberry Pi не должно ограничивать вашу возможность подключения к устройству. Следуя приведённым инструкциям по маршрутизации и правильной конфигурации сети, вы сможете обеспечить стабильное и безопасное соединение через SSH.

Оцените материал
Добавить комментарий

Капча загружается...