Spisu treści:

Zapora Raspberry Pi4: 12 kroków
Zapora Raspberry Pi4: 12 kroków

Wideo: Zapora Raspberry Pi4: 12 kroków

Wideo: Zapora Raspberry Pi4: 12 kroków
Wideo: Raspberry Pi400 - komputer IDEALNY dla dziecka - a w sumie to dla każdego :) 2024, Czerwiec
Anonim
Zapora sieciowa Raspberry Pi4
Zapora sieciowa Raspberry Pi4

Z nowym Raspbery Pi 4 (RPi4), który właśnie został wydany, postanowiłem zrobić sobie firewall do użytku domowego. Po przejrzeniu internetu znalazłem świetny artykuł na ten temat autorstwa Guillaume Kaddouch (https://networkfilter.blogspot.com/2012/08/building-your-piwall-gateway-firewall.html). Artykuł jest niesamowity i powinieneś go przeczytać, zanim przejdziesz dalej – ułatwi to opisany tutaj proces. Rzecz w tym, że artykuł powstał w 2012 roku i jest oparty na dystrybucji ArchLinux. Nic przeciwko ArchLinux, ale chciałem to zrobić przy użyciu bardziej popularnej wersji Raspbian. RPi4 może sprostać wymaganiom przetwarzania. Więc dziękuję, Guillaume, za inspirację!! Ta instrukcja będzie odnosić się do oryginalnego postu Guillaume'a (w skrócie „GK”), prawdopodobnie będziesz chciał, aby obie strony były otwarte w przeglądarce.

Kilka kluczowych rzeczy dotyczących mojego firewalla:

  • Mam wbudowane gniazdo Ethernet (eth0) podłączone do sieci LAN
  • Router ISP jest na adapterze TRENDnet (eth1)
  • Aktywnie wyłączyłem kartę sieci bezprzewodowej (wlan0)
  • Nie gwarantuje to, że dotrzesz tam w 100%… miejmy nadzieję, że przynajmniej w 99%:) więc prosimy o przesyłanie opinii/komentarzy
  • To moja pierwsza instrukcja. Przepraszamy za wszystko, co nie jest zgodne z odpowiednimi instrukcyjnymi normami.

A teraz pobawmy się…

Kieszonkowe dzieci

  • Raspberry Pi 4

    • Użyłem wersji 4 GB, wypróbuj inną wersję
    • Sprawa (podoba mi się FLIRC, ale to twoja sprawa)
    • Zasilacz
  • Karta MicroSD, 32 GB lub większa (użyłem karty 64 GB)
  • TRENDnet USB3.0 Gigabit Ethernet Dongle (Model: TU3-ETG)
  • Kilka kabli sieciowych RJ45
  • Klawiatura i mysz USB
  • Kabel Micro-HDMI do HDMI (podłączony do monitora HDMI)

Ta klawiatura, wideo i mysz mogą zostać usunięte, gdy będziesz w stanie uruchomić i uruchomić SSH i VNC.

Krok 1: Wstępna konfiguracja RPi

Wstępna konfiguracja RPi
Wstępna konfiguracja RPi

Pierwszą rzeczą do zrobienia jest uruchomienie RPi4 jako nowego systemu. Pobierz i zainstaluj pełną dystrybucję Raspbian (Raspbian Buster z komputerem stacjonarnym i zalecanym oprogramowaniem). Będziesz musiał kilka razy ponownie uruchomić komputer, aby mógł się rozwinąć i wykorzystać pełną kartę MicroSD.

Podczas uruchamiania będziesz musiał odpowiedzieć na pytania dotyczące lokalizacji, sieci, klawiatury i myszy. Połącz się z siecią i zezwól na jej aktualizację.

Potwierdźmy również, że wszystko zostało poprawnie zaktualizowane i uzyskajmy kilka narzędzi, które mogą pomóc w późniejszym debugowaniu:

$ sudo apt-get update

$ sudo apt-get dist-upgrade $ sudo apt-get install htop $ sudo apt-get install tcpdump

NIE zainstalowałem vima, ani żadnego kroku 8 GK (konfiguracja vima). Właśnie użyłem edytora vi, ponieważ i tak ma większość tych funkcji. Zaoszczędziło to również trochę czasu i wysiłku.

Gdy to się skończy, ustawmy RPi4 tak, abyśmy mogli podłączyć monitor na gorąco. Moim celem było sprawienie, by działał bez głowy, ale gdybym musiał podłączyć monitor, zostałby rozpoznany.

$ sudo vi /boot/config.txt

W tym pliku:

odkomentuj (usuń przedni symbol #): hdmi_force_hotplug=1

odkomentuj: hdmi_drive=2

opcjonalnie dodaj: enable_hdmi_sound

Krok 2: Sieć

Sieć
Sieć
Sieć
Sieć

Jeśli śledzisz stronę GK, to jest krok 3. Pamiętaj jednak, że nie wykonałem wielu jego pierwszych kroków w dokładnej kolejności.

Kiedy po raz pierwszy to uruchomiłem, podłączyłem RPi bezpośrednio do mojego routera ISP („obok mojej istniejącej sieci”). To pozwoliło mi bawić się konfiguracją bez wpływu na sieć. Podłącz wbudowany RPi4 RJ45 do routera (lub bezprzewodowego, jeśli chcesz). W Raspbian najłatwiej to zrobić za pomocą GUI. Na pulpicie kliknij ikonę Raspberry> Preferencje> Konfiguracja Raspberry Pi. Pamiętaj, aby włączyć SSH i VNC. Spowoduje to zainstalowanie klienta serwera Real-VNC. Odkryłem, że jeśli spróbujesz połączyć się z klientem Tight VNC, spowoduje to pasowania i będzie wymagało dodatkowej konfiguracji. W tym momencie zainstaluj klienta Real-VNC na swoim głównym komputerze stacjonarnym/laptopie (nie na swoim RPi4).

SSH nie będzie działać od razu po wyjęciu z pudełka (krok 7 GK). Musimy zmodyfikować niektóre konfiguracje. Najpierw zmodyfikujmy plik konfiguracyjny ssh. Oto zmiany, które wprowadziłem. Pamiętaj, że nie badałem tutaj wpływu każdej zmiany. Zrobiłem to, co sugerowała strona GK. Niektóre z tych zmian mogą NIE być wymagane.

$ sudo vi /etc/ssh/sshd_config

W tym pliku odkomentuj następujące wiersze:

HostKey /etc/ssh/ssh_host_rsa_keyHostKey /etc/ssh/ssh_host_ecdsa_keySyslogFacility AUTHlogLevel INFOStrictModes takPubkeyAuthentication takHostBasedAuthentication nie

Ignoruj Rhosts tak

PrintMotd niePrintLastLog takTCPKeepAlive tak

I dodaj następujące wiersze:

Protokół 2UsePrivilegeSeparation takKeyRegenerationInterval 3600ServerKeyBits 768RSAAuwierzytelnianietakRhostsRSAAuwierzytelnianienie

I zmodyfikuj następujące wiersze:

Port 15507LoginGraceTime 60ZezwolenieRootNumer logowania

Porozmawiajmy szybko o pierwszej modyfikacji…port 15507. SSH normalnie działa na porcie 22. GK przeniosło go na 15507 -- nie wiem dlaczego. Możesz go zmodyfikować lub nie… Jeśli zdecydujesz się go zmodyfikować, będziesz musiał dodać „-p 15507” do każdego polecenia SSH, z którym próbujesz się połączyć. Jeśli zdecydujesz się go pominąć, miej oko na inne miejsca, w których 15507 jest wymieniony w tych instrukcjach i zignoruj je, w szczególności zasady zapory!

Na koniec zdobądźmy adres IP RPi4, abyśmy wiedzieli, z czym się połączyć:

$ ipconfig -a

Znajdź aktywne połączenie sieciowe (prawdopodobnie na eth0 lub wlan0) i zapisz ten adres IP. Teraz masz to, czego potrzebujesz, aby zdalnie połączyć się z RPi4. Zrestartujmy, zanim przejdziemy dalej:

$ restart sudo

Krok 3: Inny użytkownik

Inny użytkownik
Inny użytkownik

Najlepiej nie używać domyślnej nazwy użytkownika RPi (pi) iz pewnością należy zmienić hasło. Aby być bezpiecznym, dodajmy kolejne konto użytkownika, którego możesz użyć do zdalnego połączenia i kontynuuj (krok 6 GK). Wróćmy do RPi, dodajmy nowego użytkownika i ustawmy uprawnienia dla użytkownika do SSH i wydajmy polecenie sudo:

$ sudo useradd -m -g użytkownicy -G sudo, netdev -s /bin/bash [NAZWA UŻYTKOWNIKA]

$ hasło sudo [NAZWA UŻYTKOWNIKA]

Zapraszam do wylogowania się lub ponownego uruchomienia i korzystania z nowo utworzonego konta w przyszłości.

Krok 4: Plik Syctl

Plik Syctl
Plik Syctl

Następnym krokiem jest modyfikacja pliku /etc/sysctl.conf (krok 9 w GK). Ten plik służy do zmiany kilku ustawień jądra. Zrobimy dokładnie to, co mówi GK. Oto uproszczony zestaw kroków.

$ sudo vi /etc/sysctl.conf

W tym pliku odkomentuj następujące wiersze:

net.ipv4.conf.default.rp_filter=1net.ipv4.conf.all.rp_filter=1net.ipv4.tcp_syncookies=1

net.ipv4.ip_forward = 1

net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.all.accept_source_route = 0net.ipv4.conf.all.log_martians = 1

I dodaj następujące wiersze:

net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.icmp_ignore_bogus_error_responses = 1net.ipv4.conf.eth0.accept_redirects = 0vm.min_free_kbytes = 8192

Uruchom ponownie usługę z tymi nowymi ustawieniami i uruchom ponownie:

$ sudo sysctl -p

$ restart sudo

Krok 5: DHCP i DNS (część 1)

DHCP i DNS (część 1)
DHCP i DNS (część 1)

Dla mnie były dwie bolesne części tego procesu… Konfiguracja DHCP i DNS oraz konfiguracja reguł zapory. A więc zaczynamy od pierwszej części. Jeśli śledzisz stronę GK, jesteśmy w kroku 10.

Aby to zrobić, będziesz potrzebować kilku informacji z routera ISP (lub aktualnej zapory):

  • Wewnętrzny adres IP routera
  • Adres IP, którego możesz użyć dla interfejsu RPi4 do routera
  • Adresy IP serwera nazw (lub dwóch)
  • Nazwa interfejsu dla połączenia LAN (np. eth0 lub eth1)
  • Nazwa interfejsu dla połączenia ISP (np. cokolwiek, czego nie używałeś w sieci LAN)

Może być również konieczne zmodyfikowanie ustawień routera, aby nadać RPi4 statyczny adres IP (punkt 2, powyżej). Przynajmniej tak zrobiłem.

Najpierw zmodyfikujmy plik dhcpcd.conf…

$ sudo vi /etc/dhcpcd.conf

Odkomentuj te linie:

opcja constant_commitoption nazwa_domeny serwery_nazwa_domeny, nazwa_domeny, wyszukiwanie_domeny, nazwa_hosta opcja_interfejs_mtu

Dla każdego interfejsu sieciowego musisz ustawić szczegóły sieci. Powinny wyglądać mniej więcej tak:

# Statyczny dla interfejsu do ISP

interface eth1 statyczny adres_ip=192.168.1.static routers=192.168.1.254 static domain_name_servers=8.8.8.8 8.8.4.4 metric 100 # Statyczny dla interfejsu do interfejsu LAN eth0 statyczny adres_ip=10.210.212.static routers=10.210.212.1 statyczny domain_name_servers=8.8.8.8 8.8.4.4 #interface wlan0 #static ip_address=10.210.212.#static routers=10.210.212.1 #static domain_name_servers=8.8.8.8 #Usuń komentarz z tej sekcji, jeśli chcesz wymusić adres IP na urządzeniu. Nazwa po 'host' # jest bez znaczenia dla systemu. Wprowadź adres MAC urządzenia, a także żądany adres #IP. Upewnij się, że jest poza zasięgiem DHCP. W razie potrzeby powtórz. #host [WSZYSTKO] { # sprzętowy ethernet xx:xx:xx:xx:xx:xx; # stały adres 10.210.212.250; #}

Pamiętaj, aby używać numerów, które Ci odpowiadają. Powyższe adresy IP dotyczą mojej sieci, z wyjątkiem serwerów nazw, którymi są Google. Zauważ, że ustawiłem również metrykę dla ISP na 100, aby wymusić to jako domyślną pierwszą próbę ruchu sieciowego. Konkretnie też nic nie zrobiłem z moją kartą sieci bezprzewodowej (wlan0). Zamierzam całkowicie wyłączyć ten interfejs, więc miało to dla mnie sens.

Ponadto, jeśli chcesz wymusić adres IP na urządzeniu (takim jak NAS), użyj tej dolnej sekcji. Nadaj gospodarzowi nazwę, która ma dla Ciebie znaczenie, ale pamiętaj, że nigdy nie jest używana przez nic. Nie zapomnij o średnikach.

Krok 6: DHCP i DNS (część 2)

DHCP i DNS (część 2)
DHCP i DNS (część 2)

Następnym krokiem jest modyfikacja pliku dnsmasq.conf…

$ sudo vi /etc/dnsmasq.conf

Musimy odkomentować kilka linijek i edytować kilka linijek. Będziesz także musiał skopiować kilka ustawień z pliku dhcpcd.conf. Dwa inne pytania, na które musisz sobie odpowiedzieć, to:

Czy wewnętrzna sieć LAN (np. eth0) potrzebuje DHCP i DNS? Jaki zakres DHCP chcesz dla swojej sieci LAN i jak długo powinna trwać każda dzierżawa?

Zacznij od odkomentowania kilku linijek:

bogus-privno-dhcp-interface=wlan0bind-interfacesdhcp-name-match=set:wpad-ignore, wpaddhcp-ignore-names=tag:wpad-ignore

Ustaw swój serwer nazw. Poszukaj wiersza, który zaczyna się od „server=” i zmień go na coś w rodzaju „server=8.8.8.8”.

Ustaw zakres DHCP. Jest na to wiele sposobów. Zdecydowałem się podać dwa adresy IP punktów końcowych, maskę i długość dzierżawy. Mój zakres to 10.210.212.20-10.210.212.240, z maską sieci 255.255.255.0 i czasem dzierżawy 12 godzin. Zalecam pozostawienie niektórych adresów IP na górze i na dole zakresu na wypadek, gdybyś kiedykolwiek potrzebował statycznego adresu IP.

Ustaw interfejs, który będzie pobierał DNS i DHCP (sieć LAN), modyfikując linię „interface=” na coś w rodzaju „interface=eth0). Zauważ, że specjalnie powiedziałem mu, aby NIE przypisywać adresu IP DHCP do mojej sieci bezprzewodowej. Ponownie zamierzam całkowicie wyłączyć ten interfejs, więc miało to dla mnie sens.

Krok 7: DHCP i DNS (część 3)

DHCP i DNS (część 3)
DHCP i DNS (część 3)

Odejście od instrukcji GK dotyczących tego ostatniego kroku…

Kiedy w tym momencie poszedłem zrestartować moje RPi, proces dnsmasq nie był aktywny. Trochę poszperałem i odkryłem, że moje interfejsy sieciowe eth0 i eth1 nie były aktywne przed uruchomieniem dnsmasq, więc dnsmasq nie zadziałał przy starcie. Musiałbym podłączyć klawiaturę i mysz do RPi i ręcznie zrestartować dnsmasq. Nie jest to idealne rozwiązanie w przypadku konfiguracji bezgłowej. Przeczytałem kilka postów, w których mówiono, że należy wprowadzać różne zmiany w ustawieniach (np. Wyłącz interfejs powiązania) i inne rzeczy. Nic z tego nie zadziałało. W końcu postanowiłem po prostu napisać skrypt powłoki, który będzie uruchamiał się co 2 minuty i sprawdzał stan dnsmasq. Jeśli nie działał, uruchom go. Zakładam, że ta sytuacja nie jest dla mnie wyjątkowa. Oto, co musisz zrobić:

Utwórz poniższy kod w pliku o nazwie 'dns_masq_keepalive.sh' na swoim RPi.

#!/kosz/bash

# Plik: dns_masq_keepalive.sh # Sierpień 2019 # Użyj tego z crontab -e (*/2 * * * * /etc/dns_masq_keepalive.sh), aby upewnić się, że dnsmasq działa. Usługa zatrzyma się, jeśli # wszystkie interfejsy wymienione w dhcpcd.conf nie działają przed rozpoczęciem. To rozwiązuje problem. # Ta następna linia zwróci wszystkie aktywne zadania ze słowem 'dnsmasq' w nich. Więc nie dodawaj 'dnsmasq' w nazwie tego # pliku, w przeciwnym razie zwróci to za każdym razem i nigdy nie będziesz miał restartu. dns_running=$(ps -e | grep dnsmasq) echo $dns_running if [-z "$dns_running"] then #echo Brak DNSMasq sudo /etc/init.d/dnsmasq restart #else #echo DNSMasq Uruchamianie fi

W razie potrzeby wytnij i wklej. Cokolwiek robisz, nie umieszczaj w nazwie „dnsmasq”. Skrypt szuka słowa „dnsmasq” i jeśli skrypt ma je w nazwie, zakłada, że usługa jest uruchomiona. Zmień również nazwę pliku, aby kończyła się na '.sh'. Intructables nie pozwoliłby mi przesłać pliku „.sh” - co jest dobre. Pozostałe instrukcje zakładają, że plik istnieje pod adresem: /etc/dns_masq_keepalive.sh.

Po drugie, ustaw uprawnienia do pliku, aby można go było wykonać:

$ sudo chmod u+x /etc/dns_masq_keepalive.sh

Teraz użyjemy systemu crontab, aby program uruchamiał się co 2 minuty każdego dnia. Uruchom crontab:

$ sudo crontab -e

Powinien wyświetlić monit o edycję za pomocą vi lub czegoś innego. Każdy będzie działać. Gdy będziesz mógł go edytować, dodaj na końcu pliku:

*/2 * * * * sudo /etc/dns_masq_keepalive.sh

Brak spacji w „*/2”, ale odstępy między gwiazdkami. Zapisz i wyjdź. Powinno ci powiedzieć, że praca jest zaplanowana lub coś w tym rodzaju.

Krok 8: Zapora sieciowa

Zapora
Zapora

Kolejnym bolesnym procesem jest firewall (krok 11 GK). Raspbian używa dobrze znanego systemu iptables. Blog GK zawiera trzy pliki, które pomogą Ci się tam dostać… firewall.simple, firewall.advanced i firewall.flows. Z całym szacunkiem dla GK, ale ułatw sobie to i po prostu idź z firewall.simple. Spędziłem dużo czasu próbując wymyślić system i zasady iptables. Cieszę się, że to zrobiłem, ale to było bolesne. Tak więc, daję ci załączone dwa pliki, które pomogą ci… firewall.simple i firewall.clear. Skopiuj oba te pliki do folderu /etc i zmień uprawnienia, aby były wykonywalne:

$ sudo chmod u+x /etc/firewall.simple

$ sudo chmod u+x /etc/firewall.clear

Zanim skonfigurujesz jakiekolwiek reguły zapory, podłącz komputer stacjonarny/laptop do portu eth0 RPi i upewnij się, że otrzymuje adres IP i działa DNS. Najłatwiej to zrobić, próbując wysłać polecenie ping do ogólnej witryny, a następnie do znanego adresu IP. Wyślij także ping do routera RPi i ISP. Jeśli uzyskasz wyniki, wszystko jest w porządku, a wszelkie problemy z siecią, które teraz napotkasz, będą prawdopodobnie wynikiem problemów z zaporą ogniową.

Pierwszy dostarczony plik początkowo był plikiem firewall.simple GK (ponownie dziękuję, GK!). Wprowadziłem kilka zmian, aby działało w tym systemie. Powinien umożliwiać przynajmniej HTTP, HTTPS, DNS, DHCP, ping, wewnętrzny SSH, wewnętrzny VNC i plex. Plex może nie mieć wszystkich otwartych portów dla każdego możliwego urządzenia, ale istnieje kilka postów, które to naprawią. W górnej części pliku znajdują się wartości, które należy zmienić w konfiguracji sieci.

Drugi plik, firewall.clear, jest przeznaczony do użycia podczas testowania reguł zapory. Po uruchomieniu 'sudo /etc/firewall.clear' wszystkie reguły zapory zostaną wyczyszczone, a system powinien być w pełni połączony z Internetem. Tak więc, jeśli nie możesz sprawić, by usługa sieciowa (taka jak dns) działała z regułami firewall.simple, ale zacznie działać po uruchomieniu firewall.clear, wiesz, że masz problem z regułą. Będzie to naprawdę ważne tylko podczas testowania reguł.

Tak więc mamy tam reguły zapory, musimy je uruchomić, gdy uruchomi się RPi. W tym celu edytujemy plik /etc/rc.local:

$ sudo vi /etc/rc.local

Gdy znajdziesz się w środku, dodaj na końcu pliku:

echo „Ładowanie reguł iptables”/etc/firewall.simple >> /dev/null

Jeśli zdecydujesz się dodać system wykrywania włamań snort, będziesz musiał ponownie edytować ten plik. Na razie po prostu go zapisz i uruchom ponownie.

$ restart sudo

Krok 9: Syslog

Syslog
Syslog

Dwa kroki w lewo…

To jest proste. Jeśli nadal tam jesteś i podążasz za blogiem GK, jest to krok 12. Musisz zrobić dokładnie to, co mówi w odniesieniu do pliku syslog. Oto skrócone kroki:

Zachowaj dane z dziennika systemowego z 2 miesięcy…

$ sudo vi /etc/logrotate.conf

Musimy mu powiedzieć, aby używał „jeden tydzień” jako miary, a następnie zachował 12 z nich. W tym pliku potrzebne są następujące dwa wiersze. Wierzę, że będziesz musiał zmienić istniejące linie.

Obrót tygodniowy 12

Zapisz to.

Krok 10: Wykrywanie włamań za pomocą Snort

Wykrywanie włamań za pomocą Snort
Wykrywanie włamań za pomocą Snort

Ostatnią rzeczą, jaką konfiguruje GK, jest system snort. To też polecam. Możesz przestrzegać jego zasad i nie zamierzam tutaj kopiować wszystkich z kilkoma drobnymi modyfikacjami. Jego instrukcje dotyczą dystrybucji ArchLinux. Oto kilka zmian w dystrybucji Raspbian, której tutaj używamy. Reszta instrukcji działa dobrze.

Po pierwsze, nie używaj sudo pacman -S snort do pobierania i instalowania snort. Wykonaj następujące czynności:

$ sudo apt-get install snort

Po drugie, nie możesz zweryfikować snort za pomocą sudo snort -version. Zweryfikuj instalację za pomocą:

$ sudo parskanie -V

Na koniec, aby uruchomić go podczas uruchamiania, nie modyfikuj pliku rc.conf, edytuj plik rc.local (ponownie)…

$ sudo vi /etc/rc.local

Dodaj następujące wiersze na końcu pliku:

echo „Ładowanie parskania”

#/usr/sbin/snort -D -u snort -g snort -c /etc/snort/snort.conf -i eth0 -l /var/log/snort

Teraz uruchom ponownie i wszystko powinno działać magicznie.

$ restart sudo

Krok 11: Ciesz się

Cieszyć się
Cieszyć się

To powinno być to!

Po pierwsze, nie mogę wystarczająco podziękować Guillaume Kaddouch! On to zainspirował.

Po drugie, jeśli jeszcze nie odłączyłeś klawiatury, wideo i myszy, możesz. Użyj SSH i VNC, aby w razie potrzeby wrócić.

Na koniec może to nie być w 100% idealne. Proszę odesłać ze zmianami/sugestiami/zaleceniami. Moim celem byłoby, aby to był początek dyskusji i wielu ludzi cieszących się!

Dziękuję!!

PS… Na zdjęciu RPi4 w aluminiowej obudowie FLIRC ze starym wentylatorem Intela, lekko zmodyfikowanym i przywiązanym do góry. Pod wentylatorem jest też pasta termiczna, na wypadek gdybyś się zastanawiał. Znalazłem coś podobnego w Internecie (https://www.reddit.com/r/raspberry_pi/comments/9bdgrr/it_turns_out_putting_a_heatsink_on_the_flirc_case/) i postanowiłem spróbować sam.

Krok 12: Dziennik zmian

Ponieważ wprowadzane są zmiany w tej instrukcji, udokumentuję je tutaj. Jeśli masz problem, sprawdź tutaj, czy nie masz starych instrukcji lub plików.

25 września 2019:

  • Naprawiono reguły DHCP w firewall.simple
  • Poprawiono zakres DHCP w instrukcjach (pliki były poprawne)
  • Dodano przypisania stałego adresu IP do instrukcji DHCP

13 października 2019 r.

  • Naprawiono wiele literówek
  • Utworzyłem drugie pi, więc w razie potrzeby będę miał testową kartę SD do wymiany

Zalecana: