November 25,2021

Skonfiguruj serwer NAS — w ten sposób można uzyskać dostęp do pamięci z sieci

by Kolbowicz Marek

Router rozdziela sieć na publiczną i prywatną. To dobrze, o ile nie potrzebujesz dostępu do swojego prywatnego z sieci publicznej. Ale jeśli twój NAS znajduje się za routerem, będziesz musiał wprowadzić poprawki.

Małe serwery NAS lub samodzielnie zbudowane serwery danych oparte na płytce drukowanej Raspberry oferują dużo miejsca do przechowywania, a dane są tu przechowywane bezpieczniej niż u dostawców chmury. Aby jednak móc zastąpić przechowywanie w chmurze, Twój serwer musi być również dostępny z zewnątrz, np. z miejsca pracy lub urlopu.

PRZEJDŹ DO PEŁNEJ WERSJI WIELKANOCNEJ 04.02.2016! Do osiągnięcia tego celu wymaganych jest kilka kroków konfiguracyjnych. Te instrukcje zakładają, że nie korzystasz z profesjonalnego serwera FTP, z którego korzysta wielu klientów, ale chcesz skonfigurować dostęp FTP lub SSH dla siebie: Twoje dane domowe również powinny być przesyłane na cały świat, na wypadek gdyby można było połączyć się z Internetem , ale tylko dla Ciebie.

Sieć domowa jest chroniona przed niechcianymi zapytaniami z Internetu, ponieważ komputery PC, tablety lub urządzenia NAS w ogóle nie komunikują się z Internetem, a jedynie z routerem. Działa to poprzez oddzielenie publicznej i prywatnej przestrzeni adresowej.

Wskazówka dotycząca czytania: Własna pamięć masowa w chmurze z publicznym adresem IP Raspbian: Router otrzymuje losowy adres IP z określonej puli podczas codziennego połączenia z dostawcą Internetu. Dzięki temu jednemu publicznemu adresowi IP wszystkie urządzenia znajdujące się za routerem w sieci domowej przechodzą do Internetu. Dzięki temu publicznemu adresowi IP możesz, po wykonaniu opisanych tutaj środków, uzyskać dostęp do swoich danych domowych z Internetu. Prywatny adres IP: Każde urządzenie zgodne z siecią za routerem, takie jak komputer, tablet lub smartfon, po uruchomieniu otrzymuje wewnętrzny, „prywatny” adres IP, zwykle z przestrzeni adresowej 192.168.0.xxx lub 192.168.1. XXX. Te prywatne adresy są używane do koordynowania urządzeń ze sobą iz routerem, ale nie mają nic wspólnego z publicznym adresem IP. Urządzenia nie znają nawet publicznego adresu IP, dlatego w systemach operacyjnych PC nie ma wbudowanej funkcji określania publicznego adresu IP: Jedyną opcją jest zapytanie w Internecie z mottem „Halo, kim jestem? " ( na przykład na www.browsercheck.pcwelt.de lub www.wieistmeineip.de). Router pomiędzy: Router przypisuje i zna prywatne adresy IP i oczywiście również publiczne adresy IP. Pokazuje również to ostatnie w interfejsie konfiguracyjnym. Niestety nie ma niezawodnego sposobu automatycznego odczytania tych informacji z routera za pomocą komputera PC. W zasadzie można to zrobić za pośrednictwem klienta Telnet (np. Putty/Kitty), ale do tego router musiałby mieć serwer Telnet (który wielu dostawców celowo usunął) i serwer Telnet routera musi być włączony przez telefon kod. W ten sposób nie jest możliwe wiarygodne i zautomatyzowane zapytanie o publiczny adres IP.

Ukryte poprawki dla twojego routera

Dozwolone i odrzucone żądania sieciowe: Każdy pakiet internetowy, który router odbiera za pośrednictwem publicznego adresu IP, jest konsekwentnie odrzucany, chyba że wcześniej zażądał go prywatny adres IP. Strony HTML lub pobieranie z dowolnego internetowego adresu IP są dozwolone, jeśli router zarejestrował adres IP z zakresu adresów prywatnych, który wysłał dokładnie to żądanie. Składnik NAT („Translacja adresów sieciowych”) zapewnia prawidłową dystrybucję pakietów IP z zewnątrz do różnych urządzeń klienckich i odbiorców w sieci lokalnej. Oznacza to, że sieć jest otwarta na zewnątrz, ale zablokowana od wewnątrz.

Gdy tylko użyjesz serwera danych lub NAS we własnej sieci, która powinna być dostępna przez Internet, odizolowanie sieci domowej przynosi efekt przeciwny do zamierzonego. Nawet znając publiczny adres IP, nie dostaniesz się do swojego serwera z sieci z wymienionych powodów: jest to żądanie zewnętrzne, dla którego router nie zarejestrował wewnętrznego klienta w swojej tabeli NAT i dlatego odrzuca .

Wskazówka do czytania: Jak bezpłatnie skonfigurować serwer NAS z Open Media Vault Aby serwer był dostępny z zewnątrz, musisz wywiercić dobrze zdefiniowany otwór od wewnątrz. W tym celu w routerze istnieje „zwolnienie portu”, znane również jako „przekierowanie portów”, „mapowanie portów” lub „serwer wirtualny” w zależności od routera. Teoretycznie 65 536 portów jest dostępnych do komunikacji sieciowej, a szeroko stosowane protokoły wykorzystują predefiniowane standardowe porty. Protokoły FTP i SSH istotne dla dostępu do serwera danych wykorzystują port 21 (FTP) i port 22 (SSH):

Przykład SSH: Aby zezwolić na żądania SSH z Internetu do komputera w sieci domowej, port 22 musi być włączony. Ponadto router musi wiedzieć, do którego urządzenia wysyłać takie żądania. W nowszych Fritzboxach ustawienia znajdziesz w „Internet> Zatwierdzenia> Zatwierdzenia portów”. Po "Nowe zwolnienie portu> Inne aplikacje" wpisz numer 22 obok "Z portu" i 22 obok "do portu" jako protokół. Oznacza to, że: cokolwiek dociera do portu 22 przez publiczny adres IP, jest wysyłane do portu 22 urządzenia domowego. Wpisz, które urządzenie jest zaangażowane, obok „do komputera” i „do adresu IP”. Zasada współdzielenia portów jest identyczna dla wszystkich routerów DSL i kablowych: port publicznego adresu IP jest otwierany i kierowany do tego samego portu prywatnego adresu IP (dla uproszczenia). Jeśli nie możesz znaleźć przekierowania portów na routerze DSL, http://portforward.com może pomóc. Router jest łatwy w konfiguracji: nie każdy router oferuje przyjazną dla użytkownika, czytelną nazwę komputera do określenia urządzenia docelowego, ale raczej oczekuje prywatnego adresu IP urządzenia. Wydaje się to mniej wygodne, ale jest to najczystsza metoda. Zakłada jednak, że Twój serwer ma niezawodny, stały prywatny adres IP. Ponieważ jest to ważny aspekt, zalecamy dokładniejsze zapoznanie się z tematem udostępniania portów.

Przypisywanie stałego adresu IP: Każdy komputer z zadaniami serwera powinien używać stałego adresu zamiast losowego adresu IP. Upraszcza to administrację w sieci lokalnej i gwarantuje poprawny routing dla przekierowania portów. W przypadku komputerów PC i urządzeń NAS często najłatwiej jest samodzielnie ustawić ten stały adres IP w systemie komputerowym. Bardziej systematyczny sposób, który zawsze działa niezależnie od urządzenia i jego systemu, prowadzi z powrotem do routera: Fritzbox wyświetla wszystkie urządzenia w „Sieci domowej” i oferuje opcję „Zawsze używaj tego samego IPv4 dla tego urządzenia sieciowego” po kliknięciu Przycisk „Edytuj” – Przypisz adres”. W przypadku innych routerów odpowiednie ustawienie można znaleźć w „Rezerwacja DHCP” lub ma podobną nazwę.

Przykład FTP: Te same podstawowe zasady dotyczą serwera FTP dostępnego przez Internet: Stały prywatny adres IP jest obowiązkowy. W przeciwnym razie w tym przypadku port 21 jest przekazywany do serwera lokalnego zamiast portu 22 w routerze. FTP nadal zasługuje na tę dodatkową sekcję, ponieważ otwarcie i przekierowanie portu 21 zwykle nie wystarcza. Aby włączyć pasywny FTP, który działa również przy zdalnym dostępie za firewallami, potrzebna jest dodatkowa reguła przekierowania w routerze. W takim przypadku przekaż zakres portów od 55536 do 55663 na prywatny adres IP serwera FTP. Fritzbox udostępnia dwa pola wejściowe dla takich zakresów portów („od portu” i „do portu”). W przypadku routerów, które oferują tylko jedno pole, działa wpis z myślnikiem „55536-55663”.

Dzięki współdzieleniu portów serwer domowy jest zasadniczo dostępny przez Internet. Teraz musiałbyś tylko wprowadzić publiczny adres IP swojej sieci na zdalnym kliencie FTP, takim jak Filezilla, jako serwer - i oczywiście użytkownika i hasło. To samo dotyczy dostępu SSH za pomocą Putty lub klienta Linux SSH. Należy zauważyć, że bardziej rygorystyczne wymagania dotyczące bezpieczeństwa powinny dotyczyć serwera dostępnego publicznie niż udziałów w prywatnej sieci domowej. Innymi słowy, hasło musi być stosunkowo złożone, a użytkownika niekoniecznie należy nazywać „root”. Pozostaje jedna główna przeszkoda: jak zdalnie określić, jaki publiczny adres IP ma Twoja sieć domowa? Co gorsza, dostawcy DSL i telewizji kablowej rozłączają połączenie raz dziennie, a następnie przypisują nowy publiczny adres IP. Ta przymusowa separacja ma utrudnić działanie prywatnych danych i serwerów WWW, ale ma też pozytywny efekt uboczny polegający na tym, że ataki typu brute force na hasła na prywatne serwery trwają tylko jeden dzień.

Excursus Dyn DNS: dostawcy Dyn-DNS, tacy jak www.dyndns.org (płatny), www.noip.com (bezpłatny), www.dlinkddns.com (bezpłatny dla routerów D-Link) lub myfritz .net oferuje sprawdzone rozwiązanie (bezpłatnie dla AVM Fritzbox). Istnieją również inne bezpłatne alternatywy. Działa to w taki sposób, że router zgłasza to natychmiast do usługi Dyn-DNS po otrzymaniu nowego publicznego adresu IP. Oczywiście musisz dokładnie powiedzieć routerowi, gdzie - z Fritzbox w "Internet> Zatwierdzenia> Dynamiczny DNS". Pseudodomena, taka jak „apfelboeck.dlinkddns.com”, jest następnie przechowywana w usłudze Dyn-DNS, a wszystkie zapytania dotyczące tego pseudoadresu są przekierowywane na bieżący adres IP. W ten sposób możesz niezawodnie dostać się do routera pomimo zmiany adresu IP i, w zależności od reguł przekierowania, do serwera domowego. Poniższe wskazówki pokazują, że możesz obejść się bez pomocy usługi dynamicznego DNS.

Jako właściciel własnej strony domowej nie musisz polegać na pomocy z zewnątrz: potrzebujesz tylko skryptu PHP na stronie domowej, który określa publiczny adres IP Twojej sieci domowej i zapisuje go jako plik tekstowy. Ilustracja na tej stronie przedstawia dwa przykładowe skrypty. Plik tekstowy „ip.txt” jest przechowywany tutaj w katalogu skryptu PHP. Jeśli pracujesz za serwerem proxy w swojej sieci domowej, skorzystaj z drugiego, nieco bardziej rozbudowanego skryptu.

Teraz to tylko kwestia niezawodnego wywoływania tego skryptu PHP każdego dnia - z sieci domowej. Istnieją różne opcje: Jeśli komputer z systemem Windows jest uruchamiany codziennie, wystarczy skrypt autostartu, na przykład za pomocą narzędzia wiersza poleceń Wget:

Ponieważ jednak komputer prawdopodobnie nie został uruchomiony, gdy chcesz uzyskać dostęp do swoich danych w ruchu, bardziej logiczne jest samodzielne uruchomienie skryptu na serwerze danych. Każdy system NAS może codziennie pobierać pliki w żądanym czasie. Quasi-pobranie skryptu PHP uruchamia kod, a adres IP jest świeżo zapisywany. Potrzebujesz pracy crona na serwerze płytowym, takim jak Raspberry Pi lub Odroid. Użyj SSH (Putty w systemie Windows) do administrowania serwerem i wejdź w konsolę SSH

na. Po liniach komentarza napisz:

Publiczny adres IP przechowuje to na Twojej stronie głównej codziennie o godzinie siódmej. Użyj spacji lub tabulatorów, aby oddzielić sześć parametrów crontab.

Zdalna obsługa serwera przez SSH – tak to działa

Bez własnej strony głównej możesz przechowywać swój publiczny adres IP w codziennej pamięci w chmurze. Poza samym dostawcą chmury nie jest to całkowicie możliwe bez pomocy z zewnątrz, ponieważ musisz również zapytać o adres IP za pośrednictwem usługi sieciowej. System Windows, który jest uruchamiany codziennie, może to zrobić za pomocą pliku wsadowego w autostartu:

Plik tekstowy z adresem IP jest następnie po krótkim czasie automatycznie przesyłany z lokalnego folderu synchronizacji do chmury. W żadnym systemie nie powinno zabraknąć narzędzia Curl wymaganego dla polecenia. Ale również tutaj najlepszą rzeczą do zrobienia jest wykonanie tej pracy na stale działającym serwerze. Większość urządzeń NAS musi się tutaj zmieścić. Z drugiej strony na Raspberry Pi i innych płytach nie ma problemu, aby codziennie wysyłać polecenie curl za pomocą zadania crona (patrz wyżej) lub żądać publicznego adresu IP w inny sposób. Pierwszym wyborem wśród systemów Linux jest narzędzie informacyjne Inxi, które pozwala na zapytanie

IP dostarcza szybciej niż wiele innych usług. Inxi nie jest standardem w systemach Linux, ale tak jest

zainstalowany zaraz potem. Inxi jest sponsorowane przez firmę Google, która teoretycznie oprócz innych big data może zbierać publiczne adresy IP. Narzędzie jest świetne, ale hejterzy Google powinni robić to inaczej. Witryny internetowe, które umożliwiają wyszukiwanie adresu IP w wierszu poleceń za pomocą Curl, obejmują ifconfig.me, checkip.dyndns.org, whatismyip.akamai.com lub icanhazip.com. Ważny wymóg dla rozwiązania w chmurze: przechowywanie w chmurze musi być zintegrowane z lokalnym systemem plików, aby można było tam przechowywać adres IP określony za pomocą Curl lub Inxi. Dostawcy chmury, tacy jak Strato Hidrive, Microsoft OneDrive, Dropbox i inni, oferują takie foldery synchronizacji na komputerze lokalnym. Foldery synchronizacji zazwyczaj znajdują się w profilu użytkownika, tj. w „/ home” na serwerach z systemem Linux. W przypadku serwerów opartych na systemie Linux pierwszym wyborem jest Dropbox. Technicznie jeszcze lepszy Strato Hidrive nie jest już darmowy (od 1,49 euro miesięcznie). Pamiętaj, że w Dropbox nie każdy system Linux oferuje klienta Dropbox. Jeśli szukasz rozwiązania w chmurze z Dropbox, powinieneś wybrać system Linux oparty na Ubuntu dla swojego serwera danych.

Po wykonaniu opisanych czynności publiczny adres IP Twojej sieci domowej znajduje się w ogólnodostępnym miejscu przechowywania w Internecie – na Twojej stronie głównej lub w pamięci w chmurze. Aby uzyskać dostęp do serwera danych, wystarczy skopiować adres IP z pliku tekstowego, a następnie wkleić go do klienta SSH lub FTP jako adres serwera. Należy sprawdzić, czy z zewnątrz wszystko działa zgodnie z oczekiwaniami w rzeczywistych warunkach – czyli z urządzenia, które nie jest we własnej sieci. Jedną z często pomijanych opcji jest smartfon z Androidem, na którym można wyłączyć domowe WiFi i połączyć się przez 3G („dane mobilne”). Bezpłatną aplikacją na Androida do dostępu SSH jest serwer audytor klienta SSH/SFTP, który na stałe zdobywa miejsce na smartfonie. Aby uzyskać dostęp do FTP, najlepiej użyć wersji Total Commander na Androida z wtyczką FTP.

Gdy tylko dostęp działa sprawnie, zaznajomieni ze skryptami użytkownicy mogą uczynić to jeszcze wygodniejszym: klient FTP Filezilla zapisuje dane serwera w postaci zwykłego tekstu w pliku „sitemanager.xml”. Klient SSH Kitty (Putty zapisuje w rejestrze systemu Windows) również przechowuje zwykły plik tekstowy dla każdego skonfigurowanego serwera w podkatalogu „Sesje”. W związku z tym na komputerach z systemem Windows i Linux automatyczne wypełnianie tych plików aktualnym adresem IP serwera przed uruchomieniem klienta nie stanowi większego wyzwania. Musiałoby to być poprzedzone pobraniem zapisanego pliku tekstowego, a następnie odczytaniem zawartego w nim IP, a następnie wpisanie tego IP w odpowiednie miejsce w plikach konfiguracyjnych. Program klienta jest następnie uruchamiany na końcu skryptu.

Nawiasem mówiąc, Owncloud to ciekawa alternatywa dla użytkowników NAS. Dostępna jest nawet aplikacja na smartfona, która umożliwia dostęp do danych w podróży.

  • Kolbowicz Marek
  • November 25,2021

Leave a Reply