1

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

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

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

Спасибо

2 ответа2

1

Вы в той же локальной сети, что и ваш первый 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. Так как вы используете коммерческий провайдер VPN, даже если вы можете подключиться к их серверу через VPN с ПК, который не является RPI, я сомневаюсь, что они позволят вам связаться с другим клиентом: это было бы немного, как позволить лисе в куриная ручка, не так ли?

  1. Более сложное решение объясняется здесь для первого RPI: основная идея состоит в том, чтобы настроить вторую таблицу маршрутизации, что может быть сделано только в Linux, даже в Unix; эта вторая таблица маршрутизации не использует VPN, просто ваш обычный шлюз локальной сети. Чтобы идентифицировать пакеты, которые будут направлены через эту вторую таблицу маршрутизации, вам нужно будет пометить все пакеты с определенной характеристикой, например, те, которые входят в RPI через порт 22 (порт ssh), с помощью модуля CONNTRACK, а не модуля MARK: это помечает все соединение, а не только отдельный пакет, включая УСТАНОВЛЕННЫЕ, СВЯЗАННЫЕ пакеты. Теперь вы можете настроить ip rule которое выбирает помеченные пакеты, указывающие ядру использовать вторую таблицу маршрутизации, т.е. таблицу без VPN.
0

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

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

ifconfig eth0:0 123.123.22.22

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .