Досягнення пристрою до моєї локальної мережі з Інтернету


18

У мене є вбудований пристрій, який я можу програмувати через Ethernet IP, коли він підключений на одному маршрутизаторі з ПК, як описано нижче:

введіть тут опис зображення

Чи можна пересилати весь трафік через Інтернет і все-таки мати можливість його програмувати? Щоб зробити це трохи більш зрозумілим, щось на зразок:

введіть тут опис зображення


6
"Ethernet IP"? Це не просто ... звичайна мережа, схожа на LAN?
користувач1686

"Програмування через Ethernet IP" - що саме це означає? Це допоможе, якщо ви можете вказати, про який пристрій та IDE ви говорите. Я припускаю, що IDE підключається до пристрою за вказаною IP-адресою та портом TCP для отримання команд?
slhck

@grawity Так, це звичайна мережа LAN.Like & в slhck я використовую ID-код Codeys і пристрій з Codeys Час виконання на ньому!
Двигун

3
Очевидна відповідь, звичайно, IPv6.
Майкл Хемптон

1
@grawity Ethernet / IP - це протокол промислової автоматизації, який не слід плутати з IP через Ethernet :(
richardb

Відповіді:


50

Простий (і небезпечний) метод

Те, що ви шукаєте, називається переадресацією портів [ 1 ] [ 2 ] .

Наприклад, припустимо наступне:

  • Ваш програмований пристрій працює на порту 22та має IP-адресу192.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 :)

Трохи нудно, так. Але безпечно.


10
Це також допоможе зробити зауваження, що якщо ОП встановить відкритий порт для цього, всі інші в усьому світі можуть потенційно змінити код. Якщо також не існує якоїсь форми аутентифікації, рано чи пізно портатифікатори знайдуть порт і хакер спробує зламати, це гарантія.
LPChip

@LPChip Дійсно! Я повинен був це згадати, моє погано.
rahuldottech підтримує Моніку

Приємне доповнення. :) Я б дав вам +1 за це, але я вже дав йому вуле, тому що навіть без попередження це вже була хороша відповідь. :)
LPChip

2
@FreeMan пізніше, як і раніше, може пройти кілька днів, перш ніж робочий сканер прийде, залежно від того, який порт ви використовуєте, але швидше в тому сенсі, що, якщо вам не пощастить, це може статися за лічені хвилини.
LPChip

1
@IsmaelMiguel Звичайно, ви повинні зробити всі очевидні основні питання безпеки. Я просто не можу знати, що вони в цьому конкретному випадку.
rahuldottech підтримує Моніку

11

Єдиною правильною відповіддю може бути "VPN".

Просто використання IPv6 "спрацювало" (якщо припустимо, що маршрутизатор не налаштований на брандмауер з пристрою, а всі ISP, пристрої та ноутбуки підтримують IPv6), але це страшна ідея з тієї ж причини, що переадресація портів.

Крім сприяло відомої IPv6 пропаганди, ви на самому ділі не завжди хочете яке - або з пристроїв в локальній мережі , будучи однозначно ідентифікувати або навіть доступною з Інтернету. Ні, це не дуже добре.

Переадресація портів "працює" зі старим хорошим IPv4, але це робить пристрій доступним не тільки вам, а й усім. Ніхто не знає, так що це не проблема, правда?
Що ж, існує армія автоматизованих сканерів портів, які працюють 24/7 та сканують випадкові адреси / порти, сподіваючись, що завгодно, де завгодно, можливо, відповісти, тому, як правило, будь-який пристрій, який відповідає на зовнішній запит в Інтернеті, не є оптимальним. Якщо пристрій із задоволенням запрограмував би себе відповідно до того, що надходить через мережу, це рецепт знешкодження.
Вищезазначене в принципі справедливо і для VPN, але це так само добре, як ви можете отримати, якщо хочете отримати доступ. Єдина справді безпечна річ - це взагалі відсутність підключення до Інтернету, що з зрозумілих причин не є практичним варіантом. Наступне найбезпечніше, що "немає інтернету" - це VPN. Рівно один порт на рівно одному пристрої (ну, це залежить, до трьох портів), відкриваючи VPN і більше нічого , пересилається до Інтернету.

VPN дозволяє вам - але ніхто інший - отримувати доступ до пристрою у вашій локальній мережі через Інтернет, як ніби ви знаходитесь в тій самій локальній мережі (хоча трохи повільніше). Це запобігає несанкціонованому доступу, забезпечує конфіденційність та цілісність даних.

Практично кожен маршрутизатор, що не працює, підтримує принаймні один аромат VPN поза коробкою. На жаль, залежно від вашої моделі маршрутизатора, це може бути слабкий смак VPN або може бути погано задокументовано, як налаштувати віддалений комп'ютер. Але, незважаючи на можливі клопоти розібратися, як його налаштувати - якщо у вас нічого кращого, це, безумовно, найкращий варіант!
Найбільш поширені ящики NAS підтримують два або три способи VPN, що не мають смоктання, і кожен комп'ютер розміром 20 ват. Навіть багато сучасних мобільних телефонів підтримують VPN, не встановлюючи додаткового програмного забезпечення, тому ви навіть можете користуватися домашньою мережею, коли користуєтесь мобільним Інтернетом телефону (навіть через приватну точку доступу).

Наприклад, L2TP / IPSec може бути не самим приголомшливим вибором, але це на 99% добре і потрібна одна хвилина для налаштування на моїй дисковій станції та на моєму телефоні Samsung. Ще хвилина, якщо мій ноутбук Windows також використовуватиме його (незалежно від телефону). Не потрібне додаткове програмне забезпечення.
На налаштування OpenVPN потрібно 3-5 хвилин, оскільки вам доведеться завантажити інсталяцію клієнтського програмного забезпечення на ноутбук. Але на малюнку більше, 5-хвилинна установка вважається «нульовою», порівняно з цілком небезпечною.


5
Купівля сторонніх послуг - не єдина відповідь. Такий же ефект можна отримати за допомогою SSH або RDP.
jpaugh

4
Єдині правильні відповіді - тунелі VPN або SSH ... Деякі протоколи VPN не дуже хороші і для запобігання MITM ...
trognanders

5
SSH набагато дешевший, зручніший і простіший у налаштуванні і, мабуть, кращий варіант у цьому сценарії
rahuldottech підтримує Моніку

@jpaugh: VPN не передбачає жодних сторонніх послуг. Хоча я легко погоджуюся з тим, що SSH можна примусити працювати, він ніде не є таким, як VPN, коли справа стосується простоти налаштування, без додаткової установки-без обручів, універсальної доступності, і останнє, але не менш важливе, безперебійного використання . Тепер про RDP ... ви, звичайно, жартуєте, правда? Це не тільки незаймана реалізація, мабуть, найбільш експлуатованого програмного забезпечення у світі (або, принаймні, у топ-5), але й сам протокол є по суті небезпечним, використовуючи зламані (працездатні, не теоретичні) шифри та версію TLS, яка було витіснене десятиліття тому.
Деймон

4
-1 просто для "одного і єдиного" в заголовку, SSH з переадресацією портів також цілком справедливий і, ймовірно, більш безпечний, оскільки вам не обов'язково надавати віддалений доступ до всієї мережі, лише одному порту одного пристрою, і, швидше за все, це легко налаштувати, і ви не покладаєтесь на випадкову реалізацію програмного забезпечення маршрутизатора з рідко використовуваною функцією.
Білл К

2

Розмістіть VPN або в пристрої маршрутизатора / шлюзу безпеки, або в іншому вікні з переадресацією портів до цього вікна. Щоразу, коли ви хочете працювати віддалено, підключіться до VPN, і ви побачите вбудований пристрій так, ніби він знаходиться в локальній мережі. Ймовірно , було б ідея хороша , щоб помістити вбудований прилад в ізольованій підмережі, щоб допомогти запобігти атакам на головній мережі , якщо VPN або вбудований пристрій знаходиться під загрозою.


1

Перетворіть ПК з Windows без IDE на комп'ютер Linux у досить безпечній конфігурації із запуском sshd. Порт вперед від вашого маршрутизатора до порту SSH на машині Linux. Використовуйте тунелі SSH для підключення до вбудованого пристрою IP. Потім програмуючи на віддаленій машині за допомогою IDE, ви підключитесь до localhost замість локальної IP-адреси.

Слухати в Інтернеті загартований сервіс, як SSH, є досить безпечним. Слухати безпосередньо в Інтернеті з розвитком що- небудь - казково погана ідея. SSH - воротар. Якщо ви переконайтеся, що перевіряєте ключ хоста, він захищає від MITM абсолютно. Тут використовується хороша криптографія. Налаштування тунелювання не передбачає маршрутизації чи з'єднання, але виглядає так, ніби ви підключаєтесь безпосередньо з машини SSHD. Це набагато простіше правильно налаштувати.


Ви можете ... Просто запустити SSH-сервер у Windows, тут вам не потрібен Linux.
rahuldottech підтримує Моніку

"Потім програмуючи на віддаленій машині за допомогою IDE, ви підключитесь до localhost замість локальної IP-адреси." Цей біт для мене не має сенсу, докладно?
rahuldottech підтримує Моніку

@rahuldottech SSH-порт переадресація працює на рівні tcp. На сервері sshd відкриває з'єднання з ресурсом на локальній локальній мережі та передає вміст цього сокета через SSH. На віддаленій машині ssh-клієнт слухає порт localhost. Коли ви підключаєтесь до localhost на цьому порту, це клієнт SSH, і він просто з'єднує з'єднання tcp разом. Якийсь дивний, але дійсно універсальний, оскільки немає ip маршрутизації!
трогнандри

-1

Нещодавно я натрапив на краще рішення для особистого лише віддаленого доступу. Спершу обговоримо масштаб проблеми. Існують три проблеми, які вступають у гру: nat, ip-адреса та безпека. Наприклад, у поширених випадках, коли ви хочете запустити ssh або веб-сервер у домашній мережі, традиційним підходом є переадресація портів та динамічні dns та кращі галузеві практики безпеки. Це має недоліки для вашого випадку, оскільки ваш пристрій не має стандартної безпеки. Це можна усунути за допомогою переадресації ssh-портів на відміну від відкриття пристрою в Інтернеті,

Однак є більш просте рішення, вірити чи ні, що це приховані сервіси. Тор приховані сервіси в основному виконують функцію переходу вперед, але автоматично обробляє нату обхід, і не має змінити адресу, тому динамічні dns не потрібні. Звичайно, проблеми з цибулею важко запам'ятати, але якщо ви єдиний користувач, ви можете записати його в одному з файлів проекту. Я рекомендую все-таки розлучити це з сервером ssh, щоб забезпечити автентифікацію, але ви можете вирішити, що довгої адреси лука достатньо. Також приховані сервіси забезпечують шифрування всього посилання, за винятком останнього скаку, тому єдиний спосіб покращитись - це шифрування в кінці, але це залежатиме від пристрою, який ви програмуєте.


4
Використання цибульних послуг лише ускладнить цей спосіб без додаткових переваг. Тор може бути корисним. Не буде в цьому випадку
rahuldottech підтримує Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.