Как получить удаленный доступ к raspberry pi, подключенному к VPN?

У меня есть Pi, который всегда включен и подключен к VPN, что означает, что я не могу получить к нему удаленный доступ. Я пытаюсь найти решение для удаленного доступа к нему, поэтому я ищу совет у гуру здесь.

Мое предпочтительное / простое решение на данный момент - использовать мой второй Pi, который скоро прибудет, и использовать его для удаленного мониторинга. Я подумываю о том, чтобы смонтировать общий диск с 1-го на этот и подключиться к нему, так как он не будет подключен к VPN.

Это все еще немного запутано, хотя. Любые другие варианты доступны? Любые комментарии / идеи более чем приветствуются.

Спасибо

3 ответа

Вы в той же локальной сети, что и ваш первый RPI? Если это так, вы не должны были потерять контакт с ним вообще. VPN работают путем добавления маршрутов, а не подавления существующих. Итак, если у вас был маршрут как

    192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.74  metric 1 

перед запуском VPN, тот же маршрут должен продолжать существовать после того, как VPN изменит вашу таблицу маршрутизации. Это оставляет ваш RPI доступным из вашей локальной сети. Возможно, вам придется связаться с ним по IP-адресу, а не по имени (если, конечно, вы не используете локальный DNS); также возможно, что из RPI вы не можете получить доступ к другим ПК в вашей локальной сети через имя, потому что DNS был перенаправлен через VPN (не обязательно, но чаще всего).

Если RPI не находится в вашей локальной сети, то это другое дело; Пожалуйста, укажите, так ли это.

РЕДАКТИРОВАТЬ:

У вас есть три варианта, два простых и немного более сложный.

  1. Если вы всегда подключаетесь, скажем, из 1.2.3.4, просто добавьте подходящий маршрут в таблицу маршрутизации первого RPI:

     ip route add 1.2.3.4./32  via 192.168.0.1 dev eth0
    

Это будет маршрутизировать пакеты для 1.2.3.4 через обычный шлюз локальной сети (я предполагал, что это 192.168.0.1, если не изменен соответствующим образом), минуя VPN вообще;

  1. Поскольку вы используете коммерческий VPN, этот прием вряд ли сработает. Если у вас был VPN-сервер на вашем собственном VPS (что, к слову, я всегда делаю, дешевые VPS стоят 3 доллара / евро в месяц, а некоторые имеют неизмеренные соединения), то вы просто подключаетесь к VPN-серверу через VPN, затем свяжитесь с вашим RPI с помощью sshиспользуя в качестве своего IP-адреса адрес своего туннельного конца! Итак, если ваш VPN-туннель имеет адреса 10.0.0.1 для сервера и, скажем, 10.0.0.6 для клиента RPI, это

       ssh me@10.0.0.6
    

соединит вас с RPI. Since you are using a commercial provider of VPN, even if you can connect to their server via VPN with the pc which is not the RPI, I doubt they would allow you to contact another client: it would be a lttle like letting the fox into the hen pen, wouldn't it?

  1. The more complex solution is explained here for the first RPI: the basic idea is to setup a second routing table, something that can be done only on Linux, not even on Unix; this second routing table does not use the VPN, just your normal LAN gateway. To identify the packets to be routed via this second routing table, you will have to mark all packets with a certain characteristic, for instance those entering the RPI on port 22 (ssh's port) with the CONNTRACK module, not the MARK module: this marks the whole connection, not just the individual packet, including the ESTABLISHED, RELATED packets. Now you can setup an ip rule that selects the marked packets telling the kernel to use the second routing table, ie the one without VPN.

У меня была аналогичная проблема, но она была менее общей. Я использовал на безголовом Raspberry Pi с Raspbian Buster. Он будет подключаться нормально, и любое установленное SSH-соединение сохранится, однако Pi не будет отвечать на пинги или новые SSH-соединения из локальной сети.

Бегnordvpn whitelist add subnet 192.168.0.0/1решил проблему. (Предполагая, что ваша локальная сеть192.168.x.x)

В отличие от приложений для устройств, NordVPN в командной строке по умолчанию блокирует локальную сеть.

Если у вас также возникла эта проблема, вы можете перейти установку Linux NordVPNсюда , прокрутить вниз до ссылки электронной почты и сообщить об этом команде NordVPN.

Если вы имеете в виду, что VPN делает ваш Pi недоступным для локальной сети (я предполагаю это, поскольку в противном случае VPN должен обеспечивать доступ по SSH), и вы не можете получить к нему доступ, даже если он подключен к тому же маршрутизатору, вы можете использовать виртуальные интерфейсы для тот.

Например, если у вас есть eth0 интерфейс, вы можете создать новый виртуальный интерфейс, например:

ifconfig eth0:0 123.123.22.22

Затем следует применять обычные методы Linux для настройки интерфейса. Больше информации

Другие вопросы по тегам