У меня есть встроенное устройство, которое я могу программировать через Ethernet IP, когда оно подключено к тому же маршрутизатору с ПК следующим образом:
Можно ли отправить весь трафик через Интернет и при этом иметь возможность его программировать? Чтобы сделать это немного более понятным, что-то вроде:
networking
remote-access
двигатель
источник
источник
Ответы:
Простой (и небезопасный) метод
То, что вы ищете, называется переадресацией портов [ 1 ] [ 2 ] .
Например, допустим следующее:
Ваше программируемое устройство работает через порт
22
и имеет IP192.168.1.5
Ваш публичный IP
122.176.11.55
Затем вы можете перейти в настройки вашего маршрутизатора и переслать порт WAN (например,
8022
) в192.168.1.5:22
.Теперь вы можете получить удаленный доступ к устройству из любого места через Интернет, используя
122.176.11.55:8022
вместо этого192.168.1.5:22
IDE.Имейте в виду, что если у вас нет статического IP-адреса, ваш общедоступный IP-адрес может измениться в любое время, и в этом случае вам следует проверить динамические службы DNS .
ПРИМЕЧАНИЕ : если ваше устройство не имеет какой-либо метод аутентификации, кто-то со злым умыслом почти наверняка найдет доступ к нему в открытой сети. Смотрите ниже безопасную альтернативу.
Безопасный (и, честно говоря, не намного более сложный) метод
Оставьте компьютер (или малиновый пи, или аналогичный) , подключенный к сети, а также доступ , что удаленно вместо через что - то безопасно , как SSH, а затем запрограммировать устройство через него по локальной сети.
Это также имеет дополнительное преимущество работы, даже если ваше устройство не использует TCP или UDP :)
Да, немного утомительно. Но безопасно.
источник
Единственным правильным ответом может быть «VPN».
Простое использование IPv6 будет «работать» (при условии, что маршрутизатор не настроен на брандмауэр от устройства и все интернет-провайдеры, устройства и ноутбуки поддерживают IPv6), но это ужасная идея по той же причине, по которой переадресация портов.
Кроме способствовало известной IPv6 пропаганды, вы на самом деле не всегда хотите какое - либо из устройств в локальной сети , будучи однозначно идентифицировать или даже доступной из Интернета. Нет, это не очень хорошая вещь.
Переадресация портов «работает» со старым добрым IPv4, но делает устройство доступным не только для вас, но и для всех. Никто не знает, так что это не проблема, верно?
Что ж, есть армия автоматических сканеров портов, работающих круглосуточно и сканирующих случайные адреса / порты, в надежде, что что-нибудь, где угодно, возможно, ответит, поэтому вообще наличие любого устройства, которое ответит на внешний запрос онлайн, не является оптимальным. Если устройство с радостью запрограммирует себя в соответствии с тем, что поступает через сеть, это рецепт для бедствия.
Вышесказанное, в принципе, верно и для VPN, но оно достаточно хорошо, если вы хотите получить доступ. Единственная действительно безопасная вещь - это вообще отсутствие подключения к интернету, что по понятным причинам не практично. Следующая безопасная вещь, когда нет интернета - это VPN. Ровно один порт на ровно одном устройстве (ну, это зависит, до трех портов), выставляя VPN и ничего больше , перенаправляемый в интернет.
VPN позволяет - но никто другой - получить доступ к устройству в вашей локальной сети через Интернет, как если бы вы были в той же локальной сети (хотя и немного медленнее). Это предотвращает несанкционированный доступ, обеспечивает конфиденциальность и целостность данных.
Практически каждый бездарный маршрутизатор поддерживает как минимум один вариант VPN из коробки. К сожалению, в зависимости от используемой модели маршрутизатора, это может быть плохой вид VPN или плохо документировано, как настроить удаленный компьютер. Тем не менее, несмотря на возможные трудности с выяснением, как его настроить - если у вас нет ничего лучше, это, безусловно, лучший вариант!
Наиболее распространенные NAS-блоки поддерживают два или три метода VPN без присосок, и каждый 3-ваттный компьютер размером с кредитную карту за 20 долларов может работать с сервером VPN, без проблем. Даже многие современные мобильные телефоны поддерживают VPN без необходимости установки дополнительного программного обеспечения, поэтому вы даже можете получить доступ к домашней сети, когда используете мобильный интернет вашего телефона (даже через частную точку доступа).
Например, L2TP / IPSec, возможно, не самый лучший выбор, но он на 99% хорош и занимает одну минуту для настройки на Disk Station и на моем телефоне Samsung. Еще одна минута, если мой ноутбук с Windows будет использовать его (независимо от телефона). Никакого дополнительного программного обеспечения не требуется.
OpenVPN занимает 3-5 минут, потому что вам нужно скачать установочное программное обеспечение клиента на ноутбуке. Но на более широкой картине 5-минутная установка считается «нулем», по сравнению с тем, что она абсолютно небезопасна.
источник
Разместите VPN, либо в устройстве маршрутизатора / шлюза безопасности, либо в другом блоке с переадресацией портов на этот блок. Всякий раз, когда вы хотите работать удаленно, подключитесь к VPN, и вы увидите встроенное устройство, как если бы оно было в локальной сети. Вероятно, было бы неплохо поместить встроенное устройство в изолированную подсеть, чтобы помочь предотвратить атаки на вашу основную сеть, если VPN или встроенное устройство скомпрометировано.
источник
Сделайте ПК с Windows без IDE на ПК с Linux в достаточно безопасной конфигурации с запущенным sshd. Перенаправьте порт с вашего маршрутизатора на порт SSH на компьютере с Linux. Используйте SSH-туннели для подключения к IP встроенного устройства. Затем при программировании на удаленной машине с IDE вы будете подключаться к localhost вместо IP-адреса локальной сети.
Прослушивание в Интернете с усиленной службой, такой как SSH, достаточно безопасно. Прослушивание непосредственно в Интернете с развитием ничего сказочно плохая идея. SSH является привратником. Если вы удостоверитесь, что подтвердили ключ хоста, он полностью защищает от MITM. Используется хорошая криптография. Настройка туннелирования не включает маршрутизацию или мостовое соединение, а выглядит так, как будто вы подключаетесь напрямую с машины SSHD. Это значительно проще для правильной настройки.
источник
Недавно я наткнулся на лучшее решение для персонального удаленного доступа. Сначала давайте обсудим масштабы проблемы. В игру вступают три проблемы: nat, ip-адрес и безопасность. Например, в распространенных случаях, когда вы хотите запустить ssh или веб-сервер в домашней сети, традиционный подход - это переадресация портов и динамический dns, а также лучшие отраслевые стандарты безопасности. Это имеет недостатки для вашего случая, так как ваше устройство не имеет стандартной безопасности. Этого можно избежать, используя переадресацию по ssh-порту, в отличие от открытия вашего устройства в Интернете,
Однако существует более простое решение, и, верьте, хотите нет, это скрытые сервисы. Скрытые сервисы в основном действуют как переадресация портов, но автоматически обрабатывают обход nat и не имеют изменяющегося адреса, поэтому динамический dns не нужен. Конечно, есть проблемы с запоминанием адреса лука, но если вы единственный пользователь, вы можете записать его в один из файлов вашего проекта. Я бы порекомендовал по-прежнему сопоставлять это с ssh-сервером для обеспечения аутентификации, но вы можете решить, что достаточно длинного адреса лука. Кроме того, скрытые сервисы обеспечивают шифрование всей ссылки, за исключением последнего перехода, поэтому единственный способ выздороветь - это сквозное шифрование, но это будет зависеть от устройства, которое вы программируете.
источник