Mam urządzenie wbudowane, które mogę programować przez Ethernet IP, gdy jest podłączone do tego samego routera z komputerem w następujący sposób:
Czy można wysłać cały ruch przez Internet i nadal móc go zaprogramować? Aby było to trochę bardziej jasne, coś w stylu:
networking
remote-access
Silnik
źródło
źródło
Odpowiedzi:
Prosta (i niebezpieczna) metoda
To, czego szukasz, nazywa się przekierowaniem portów [ 1 ] [ 2 ] .
Załóżmy na przykład, że:
Twoje programowalne urządzenie działa na porcie
22
i ma adres IP192.168.1.5
Twój publiczny adres IP to
122.176.11.55
Następnie można przejść do ustawień routera i przekazuje port WAN (na przykład
8022
) do192.168.1.5:22
.Teraz możesz zdalnie uzyskać dostęp do urządzenia z dowolnego miejsca za pośrednictwem Internetu, uzyskując dostęp
122.176.11.55:8022
zamiast192.168.1.5:22
w swoim IDE.Pamiętaj, że jeśli nie masz statycznego adresu IP, twój publiczny adres IP może się zmienić w dowolnym momencie, w takim przypadku powinieneś sprawdzić dynamiczne usługi DNS .
UWAGA : chyba że twoje urządzenie ma jakąś metodę uwierzytelnienia, ktoś ze złośliwymi zamiarami prawie na pewno znajdzie do niego dostęp w otwartej sieci. Zobacz poniżej bezpieczną alternatywę.
Bezpieczna (i szczerze mówiąc niewiele bardziej skomplikowana) metoda
Zostaw komputer (lub Raspberry Pi, lub podobny) podłączonego do sieci oraz dostępu , który zdalnie zamiast przez coś podobnego bezpieczne SSH, a następnie zaprogramować urządzenie przez niego przez LAN.
Ma to również tę dodatkową zaletę, że działa, nawet jeśli twoje urządzenie nie używa TCP ani UDP :)
Trochę nudne, tak. Ale bezpiecznie.
źródło
Jedyną poprawną odpowiedzią może być „VPN”.
Samo użycie IPv6 „działałoby” (zakładając, że router nie jest skonfigurowany do zapory ogniowej poza urządzeniem, a wszystkie ISP, urządzenia i laptop obsługują IPv6), ale jest to straszny pomysł z tego samego powodu, dla którego przekierowanie portów jest.
Poza promowaniem przez znaną propagandę IPv6, tak naprawdę nigdy nie chcesz, aby którekolwiek z urządzeń w Twojej sieci LAN były jednoznacznie identyfikowalne, a nawet dostępne z Internetu. Nie, to nie jest dobra rzecz.
Przekierowywanie portów „działałoby” na starym dobrym IPv4, ale czyni to urządzenie dostępnym nie tylko dla ciebie, ale dla wszystkich. Nikt nie wie, więc to nie problem, prawda?
Cóż, armia automatycznych skanerów portów działa 24 godziny na dobę, 7 dni w tygodniu i skanuje losowe adresy / porty w nadziei, że cokolwiek, gdziekolwiek, może odpowiedzieć, więc generalnie posiadanie dowolnego urządzenia, które odpowie na zewnętrzne żądanie online nie jest optymalne. Jeśli urządzenie z radością sam się zaprogramuje zgodnie z tym, co przychodzi przez sieć, jest to przepis na katastrofę.
Powyższe jest w zasadzie prawdziwe również dla VPN, ale jest tak dobre, jak możesz, jeśli chcesz uzyskać dostęp. Jedyną naprawdę bezpieczną rzeczą jest w ogóle brak połączenia z Internetem, co z oczywistych powodów nie jest praktyczną opcją. Kolejną najbezpieczniejszą rzeczą do „braku internetu” jest VPN. Dokładnie jeden port na dokładnie jednym urządzeniu (cóż, to zależy, do trzech portów), odsłaniając VPN i nic więcej , przekierowywany przez port do Internetu.
VPN pozwala - ale nikomu innemu - uzyskiwać dostęp do urządzenia w sieci LAN przez Internet, tak jakbyś był w tej samej sieci LAN (choć nieco wolniej). Zapobiega nieautoryzowanemu dostępowi, zapewnia poufność i integralność danych.
Praktycznie każdy router bez gówna obsługuje co najmniej jeden smak VPN po wyjęciu z pudełka. Niestety, w zależności od posiadanego modelu routera, może to być zły smak VPN lub słabo udokumentowana konfiguracja komputera zdalnego. Mimo to, mimo możliwych problemów z ustaleniem, jak to skonfigurować - jeśli nie masz nic lepszego, to zdecydowanie najlepsza opcja!
Najpopularniejsze urządzenia NAS obsługują dwie lub trzy metody VPN bez zasysania, a każdy komputer o mocy 3 Watt o wielkości karty kredytowej o wartości 20 USD może obsługiwać serwer VPN, bez problemu. Nawet wiele nowoczesnych telefonów komórkowych obsługuje VPN bez konieczności instalowania dodatkowego oprogramowania, dzięki czemu możesz nawet uzyskać dostęp do sieci domowej, gdy korzystasz z mobilnego internetu telefonu (nawet przez prywatny hotspot).
Na przykład L2TP / IPSec może nie jest najfajniejszym wyborem, ale jest w 99% dobry i zajmuje minutę, aby skonfigurować na mojej Disk Station i telefonie Samsung. Jeszcze jedna minuta, jeśli mój laptop z systemem Windows również z niego skorzysta (niezależnie od telefonu). Nie wymaga dodatkowego oprogramowania.
OpenVPN zajmuje około 3-5 minut instalacji, ponieważ musisz pobrać zainstalować oprogramowanie klienckie na laptopie. Ale na większym obrazie konfiguracja 5-minutowa liczy się jako „zero”, w porównaniu z całkowitym niebezpieczeństwem.
źródło
Hostuj VPN albo w routerze / urządzeniu bramy bezpieczeństwa, albo w innym urządzeniu z portem przekierowującym do tego urządzenia. Kiedykolwiek chcesz pracować zdalnie, połącz się z VPN, a zobaczysz urządzenie osadzone tak, jakby było w sieci lokalnej. Prawdopodobnie byłoby to dobry pomysł, aby umieścić wbudowanego urządzenia w izolowanym podsieci, aby pomóc zapobiegać atakom na swojej głównej sieci VPN lub jeśli urządzenie wbudowany jest zagrożona.
źródło
Zmień komputer z systemem Windows bez IDE w komputer z systemem Linux w dość bezpiecznej konfiguracji z uruchomionym programem sshd. Prześlij dalej z routera do portu SSH na komputerze z systemem Linux. Użyj tuneli SSH, aby połączyć się z IP urządzenia wbudowanego. Następnie, programując na zdalnym komputerze za pomocą IDE, połączysz się z localhost zamiast z IP LAN.
Słuchanie w Internecie za pomocą hartowanej usługi, takiej jak SSH, jest względnie bezpieczne. Słuchanie bezpośrednio w internecie z rozwojem cokolwiek jest bajecznie zły pomysł. SSH jest strażnikiem. Jeśli upewnisz się, że zweryfikowałeś klucz hosta, to absolutnie chroni przed MITM. Korzysta z dobrej kryptografii. Konfiguracja tunelowania nie wymaga routingu ani mostkowania, ale wygląda na to, że łączysz się bezpośrednio z maszyny SSHD. Jest to o wiele łatwiejsze do prawidłowego skonfigurowania.
źródło
Ostatnio natknąłem się na lepsze rozwiązanie dla zdalnego dostępu osobistego. Najpierw omówmy zakres problemu. W grę wchodzą trzy kwestie: nat, adres IP i bezpieczeństwo. Na przykład w typowych przypadkach, w których chcesz uruchomić serwer SSH lub WWW w sieci domowej, tradycyjnym podejściem jest przekierowywanie portów i dynamiczne usługi DNS oraz najlepsze praktyki w branży dotyczące bezpieczeństwa. Ma to wady twojej obudowy, ponieważ twoje urządzenie nie ma standardowych zabezpieczeń. Można to złagodzić za pomocą przekierowania portów ssh zamiast otwierania urządzenia do Internetu,
Istnieje jednak prostsze rozwiązanie i wierzcie lub nie, że są to usługi ukryte. Usługi ukryte w zasadzie działają jako port przekierowujący, ale automatycznie obsługuje nat natraversal i nie ma zmieniającego się adresu, więc dynamiczne dns nie jest potrzebne. Istnieją oczywiście problemy z zapamiętaniem adresu cebuli, ale jeśli jesteś jedynym użytkownikiem, możesz zapisać go w jednym z plików projektu. Polecam nadal parowanie tego z serwerem ssh w celu zapewnienia uwierzytelnienia, ale możesz zdecydować, że długi adres cebuli jest wystarczający. Również usługi ukryte zapewniają szyfrowanie całego łącza, z wyjątkiem ostatniego przeskoku, więc jedynym sposobem na poprawę jest szyfrowanie od końca do końca, ale to zależy od programowanego urządzenia.
źródło