|
|
(78 intermediate revisions not shown) |
Line 2: |
Line 2: |
| | __TOC__ | | | __TOC__ |
| |} | | |} |
| + | |
| + | <span style="color:red">'''UWAGA! Zajęcia 5 - nowa kolejność'''</span> |
| | | |
| == Zadania == | | == Zadania == |
Line 10: |
Line 12: |
| Zadania: | | Zadania: |
| * Ustawić hasło do wifi na “alamakota” | | * Ustawić hasło do wifi na “alamakota” |
- | * Ustawić nazwę sieci na “siecikomp” | + | * Ustawić nazwę sieci na “sk2017” |
| * Ukryć sieć tak, by nie była dostępna dla osób, które nie znają jej nazwy. | | * Ukryć sieć tak, by nie była dostępna dla osób, które nie znają jej nazwy. |
| Przy realizacji zadania trzeba pamiętać również o: | | Przy realizacji zadania trzeba pamiętać również o: |
| * Zmiana hasła administratora “alamakotaadmin” | | * Zmiana hasła administratora “alamakotaadmin” |
- | * Wybraniu optymalnego kanału Wifi (program “[https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer&hl=pl Wifi Analyzer]”) | + | * Wybraniu optymalnego kanału Wifi (np. program “[https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer&hl=pl Wifi Analyzer] na systemach Android”) |
| | | |
| ===Zadanie B=== | | ===Zadanie B=== |
Line 20: |
Line 22: |
| W Rasperry Pi należy: | | W Rasperry Pi należy: |
| * podłączyć kabel Ethernet z sygnałem internetowym oraz switch | | * podłączyć kabel Ethernet z sygnałem internetowym oraz switch |
- | * utworzyć odpowiednie reguły przekierowania (forwarding) z wykorzystaniem narzędia <code>iptables</code> | + | * utworzyć odpowiednie reguły przekierowania (forwarding) z wykorzystaniem narzędzia <code>iptables</code> |
| * skonfigurować serwery DHCP do automatycznego przydzielania adresów IP oraz DNS do rozpoznawania nazw wewnątrz podsieci, z wykorzystaniem narzędzia <code>dnsmasq</code> | | * skonfigurować serwery DHCP do automatycznego przydzielania adresów IP oraz DNS do rozpoznawania nazw wewnątrz podsieci, z wykorzystaniem narzędzia <code>dnsmasq</code> |
| | | |
Line 28: |
Line 30: |
| ===Zadanie D=== | | ===Zadanie D=== |
| W maszynie wirtualnej należy zainstalować serwer '''ssh''', umożliwiający zdalne łączenie się z komputerem. Następnie przetestować działanie zdalengo logowania <code>ssh</code> oraz zdalnego kopiowania pomiędzy komputerami w sieci za pomocą <code>scp</code> (ustawienia sieciowe maszyny wirtualnej przełączamy w "Bridged Adapter").<br/> | | W maszynie wirtualnej należy zainstalować serwer '''ssh''', umożliwiający zdalne łączenie się z komputerem. Następnie przetestować działanie zdalengo logowania <code>ssh</code> oraz zdalnego kopiowania pomiędzy komputerami w sieci za pomocą <code>scp</code> (ustawienia sieciowe maszyny wirtualnej przełączamy w "Bridged Adapter").<br/> |
- | Następnie na maszynie wirtualnej należy zainstalować aplikację '''x11vnc''' służącą do zdalnego przekazywania środowiska graficznego. Na drugim komputerze odpalamy system Windows, na który należy ściągnać aplikację VNC Viewer(https://www.realvnc.com/download/viewer/) służącą do dobioru sygnału VNC i następnie przetestować działanie zdalnego dostępu do systemu maszyny wirtualnej. | + | Następnie na maszynie wirtualnej należy zainstalować aplikację '''x11vnc''' służącą do zdalnego przekazywania środowiska graficznego. Na drugim komputerze odpalamy system Windows, na który należy ściągnać aplikację VNC Viewer (https://www.realvnc.com/download/viewer/) służącą do dobioru sygnału VNC i następnie przetestować działanie zdalnego dostępu do systemu maszyny wirtualnej. |
| | | |
- | == Sieci bezprzewodowe - podstawowe informacje (zadanie A)== | + | == Zadanie A - Sieci bezprzewodowe - podstawowe informacje == |
| | | |
- | '''Sieć bezprzewodowa lokalna''' (ang. WLAN, Wireless Local Area Network, w Polsce często jako synonim funkcjonuje nazwa Wi-Fi) jest to sieć lokalna, w której połączenia między urządzeniami sieciowymi zrealizowano bez użycia przewodów. | + | Należy skonfigurować router Linksys Model WRT54G w celu stworzeia sieci bezprzewodowej zabezpieczonej hasłem zaszyfrowanym w standardzie WPA2. |
| + | |
| + | Zadania: |
| + | * Ustawić hasło do wifi na "alamakota". |
| + | * Ustawić nazwę sieci na "sk2017". |
| + | * Zmienić adres podsieci na 192.168.100.1 |
| + | * Ukryć sieć tak, by nie była dostępna dla osób, które nie znają jej nazwy. |
| + | Przy realizacji zadania trzeba pamiętać również o: |
| + | * zmianie hasła administratora "alamakotaadmin", |
| + | * wybraniu optymalnego kanału Wifi (np. program [https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer&hl=pl Wifi Analyzer] na systemach Android). |
| + | |
| + | '''Sieć bezprzewodowa lokalna''' (ang. ''WLAN, Wireless Local Area Network'', w Polsce często jako synonim funkcjonuje nazwa ''Wi-Fi'') jest to sieć lokalna, w której połączenia między urządzeniami sieciowymi zrealizowano bez użycia przewodów. |
| | | |
- | '''SSID''' (ang. service set identifier) – identyfikator sieci (max 32 znaki). Pełni on rolę loginu przy próbie nawiązywania połączeń z punktami dostępowymi. | + | '''SSID''' (ang. ''Service Set Identifier'') – identyfikator sieci (maksymalnie 32 znaki). Pełni on rolę loginu przy próbie nawiązywania połączeń z punktami dostępowymi. |
| | | |
- | '''Kanały.''' Sygnał WiFi jest nadawany na tzw. kanałach. Gdy sieci WiFi w okolicy jest bardzo dużo może to prowadzić do problemów: niejednokrotnie używają tych samych kanałów, powodując zakłócenia. Te nie przekładają się na błędy połączenia, ale na wolniejszy transfer danych. Istnieją specjalne programy, które pozwalają sprawdzić, jakie kanały w okolicy są zajęte i przestawić nasz router tak, aby nadawał na kanałach wolnych. | + | '''Kanały''' - sygnał WiFi jest nadawany na tzw. kanałach. Gdy sieci WiFi w okolicy jest bardzo dużo może to prowadzić do problemów: niejednokrotnie używają tych samych kanałów, powodując zakłócenia. Te nie przekładają się na błędy połączenia, ale na wolniejszy transfer danych. Istnieją specjalne programy, które pozwalają sprawdzić, jakie kanały w okolicy są zajęte i przestawić nasz router tak, aby nadawał na kanałach wolnych. |
| Więcej informacji: [http://www.sloneczko.net/pomoc/pl:jak_znalezc_odpowiedni_kanal_sieci_wifi Sloneczko net] | | Więcej informacji: [http://www.sloneczko.net/pomoc/pl:jak_znalezc_odpowiedni_kanal_sieci_wifi Sloneczko net] |
| | | |
- | '''Logowanie się do routera.''' Zwykle router można znaleźć wpisując w przeglądarkę adres '''IP 192.168.1.1''' | + | '''Logowanie się do routera''' - zwykle router można znaleźć wpisując w przeglądarkę adres '''IP 192.168.1.1''' |
| (czasem bywa to 192.168.0.1). | | (czasem bywa to 192.168.0.1). |
- | Po restarcie routera wraca on zawsze do ustawień domyślnych. W takim wypadku by zalogować się do konsoli administratora można skorzystać z domyślnego loginu / hasła administratora dla naszego routera. Zwykle są to słowa “admin”, ale wyszukanie odpowiednich informacji w google nie powinno zająć więcej niż 2 minuty. | + | Po restarcie routera wraca on zawsze do ustawień domyślnych. W takim wypadku by zalogować się do konsoli administratora można skorzystać z domyślnego loginu / hasła administratora dla naszego routera. Zwykle w obu przypadkach jest to słowo "admin", ale wyszukanie odpowiednich informacji w google nie powinno zająć więcej niż 2 minuty. |
| | | |
| === Zabezpieczenia sieci bezprzewodowych === | | === Zabezpieczenia sieci bezprzewodowych === |
Line 67: |
Line 80: |
| Dzięki VPN, za pośrednictwem publicznej sieci (Internetu), możemy utworzyć bezpieczny tunel pomiędzy dwoma klientami/sieciami prywatnymi/klientem a siecią prywatną. Jednym ze sposobów podniesienia bezpieczeństwa sieci VPN jest zastosowanie zbioru protokołów kryptograficznych znanych jako IPsec. Więcej informacji https://pl.wikipedia.org/wiki/IPsec | | Dzięki VPN, za pośrednictwem publicznej sieci (Internetu), możemy utworzyć bezpieczny tunel pomiędzy dwoma klientami/sieciami prywatnymi/klientem a siecią prywatną. Jednym ze sposobów podniesienia bezpieczeństwa sieci VPN jest zastosowanie zbioru protokołów kryptograficznych znanych jako IPsec. Więcej informacji https://pl.wikipedia.org/wiki/IPsec |
| | | |
- | == Kable sieciowe (zadanie C)== | + | == Zadanie B - Konfigurowanie routera programowego == |
| | | |
- | Często się zdarza, że chcemy podłączyć jakieś urządzenie, np. komputer, do routera i nie posiadamy kabla o odpowiedniej długości. Najczęściej wybieramy się wtedy do sklepu i próbujemy kupić kabel, którego długość by nam odpowiadała. W przypadku pojedyńczego komputera nie ma z tym problemu, co jeśli próbujemy podłączyć kilkadziesiąt komputerów i uniknąć plątaniny zbyt długich kabli? Kupujemy wtedy szpulę kabla sieciowego, tniemy na odpowiednie dla nas długości i samodzielnie zaciskamy końcówki. Samodzielne zaciśnięcie końcówek kabla sieciowego jest zadaniem do wykonania dla Państwa.
| + | Konfigurujemy router programowy z wykorzystaniem mini komputera Raspberry Pi z zainstalowanym systemem operacyjnym Linux Mate. Do komputera podłączony jest na wejściu sygnał internetowy od dostawcy internetu (w naszym przypadku z "gniazdka" wydziałowego), zaś na wyjściu podpinany jest switch przekazujący sygnał do poszczególnych komputerów podłączanych do tworzonej przez nas sieci. |
- | | + | W Rasperry Pi należy: |
- | Do budowy sieci komputerowej typu Ethernet wykorzystuje się dedykowane kable miedziane typu skrętka, które ustandaryzowane są według europejskiej normy EN 50173. Norma ta dzieli skrętki na kilka kategorii, z czego najpopularniejsza jest kategoria 5 lub jej nowsza wersja 5e (mówimy wtedy, że jest to kabel '''Cat 5''' albo '''Cat 5e'''), wykorzystywana właśnie do transmisji danych w sieciach komputerowych.
| + | * podłączyć kabel Ethernet z sygnałem internetowym oraz switch |
- | | + | * utworzyć odpowiednie reguły przekierowania (forwarding) z wykorzystaniem narzędia <code>iptables</code> |
- | Kabel Cat 5/5e składa się z 8 '''żył''', które są skręcone ze sobą parami w celu eliminacji różnego rodzaju zakłóceń. Transmisja odbywa się w technologii zwanej 100Base-TX, pozwalającej na przesył danych z prędkością 100 Mb/s. Poszczególne żyły oznaczone są kolorami, jak również kolorami są one ze sobą skręcone. Wyróżniamy pary:
| + | * skonfigurować serwery DHCP do automatycznego przydzielania adresów IP oraz DNS do rozpoznawania nazw wewnątrz podsieci, z wykorzystaniem narzędzia <code>dnsmasq</code> |
- | # niebieski - biało-niebieski
| + | |
- | # pomarańczowy - biało-pomarańczowy
| + | |
- | # zielony - biało-zielony
| + | |
- | # czerwony - biało-czerwony
| + | |
- | Do transmisji danych wykorzystywane są jedynie dwie pary żył. Przykład kabla sieciowego Cat 5/5e przedstawia poniższe zdjęcie:
| + | |
- | [[File:Cat5cable.jpg|350px]]
| + | |
- | | + | |
- | Kabel Cat 5e zakończony jest z dwóch stron końcówką zwaną RJ45, która może mieć dwojaki układ żył (tzw. standardy 100BASE-T568A - '''typ A''' oraz 100BASE-T568B - '''typ B'''). Wyróżniamy dwie możliwe konfiguracje:
| + | |
- | * '''kabel nieskrosowany''' (prosty, ''straight'' lub ''patch'') - obie końcówki są typu B, wykorzystywany np. do podłączenia komputera do routera albo dysku sieciowego | + | |
- | * '''kabel skrosowany''' (crossover) - jedna końcówka jest typu A, druga typu B, wykorzystywany do połączenia dwóch komputerów (urządzeń tego samego typu) ze sobą
| + | |
- | | + | |
- | | + | |
- | | + | |
- | RJ4 zgodna z RJ11, środdkowe dwie telefon. Do RJ45 można wpiąć RJ11 i telefon będzie działał. W kablu komouterowym nie wolno wykorzystać dwóch środkowych złączy
| + | |
- | | + | |
- | == Konfigurowanie routera programowego (zadanie B)==
| + | |
| | | |
| ===Translacja adresów sieciowych (NAT)=== | | ===Translacja adresów sieciowych (NAT)=== |
| + | Pierwszym etapem będzie utworzenie odpowiednich reguł przekierowania. Chcemy w stworzonej przez nas podsieci chcemy przydzielać adresy w obrębie 192.168.155.x. |
| | | |
| * Potrzebujemy uzyskać nazwę interfejsu, dla którego będziemy stawiać serwer DHCP. Komenda | | * Potrzebujemy uzyskać nazwę interfejsu, dla którego będziemy stawiać serwer DHCP. Komenda |
| /sbin/ifconfig | | /sbin/ifconfig |
- | powinna pokazać nazwy wszystkich interfejsów danego urządzenia. Poszukujemy linijki podobnej do: | + | powinna pokazać nazwy wszystkich interfejsów danego urządzenia. Żeby uzyskać nazwę, poszukujemy linijki podobnej do: |
| enxbabebc616263 | | enxbabebc616263 |
- | Jeśli do jednego urządzenia mamy podłączone dwa kable sieciowe, uzyskamy dwa interfejsy typu "ethernet". Właściwy można wybrać np. analizując przydzielone numery IP. | + | Jeśli do jednego urządzenia mamy podłączone dwa kable sieciowe, uzyskamy dwa interfejsy typu "ethernet". Właściwy można wybrać np. analizując przydzielone numery IP. |
- | * W celu skonfigurowania sieci musimy zmienić plik interfaces: | + | |
- | sudo jed /etc/interfaces | + | '''Uwaga!''' Interfejs ustawiany to ten, który nie ma w tym momencie przydzielonego adresu IP. Sprawdzoną nazwę podstawiamy zamiast <code>'''<enx_ustawiany_interfejs>'''</code> (patrz niżej). Drugim interfejsem (z przydzielonym numerem IP) jest interfejs sieci zewnętrznej. Interfejsy lo oraz wlan ignorujemy. |
| + | * W celu skonfigurowania sieci musimy zmienić plik <code>interfaces</code>: |
| + | sudo nano /etc/network/interfaces |
| dodając linijki: | | dodając linijki: |
- | and add lines for the Ethernet:
| + | auto '''<enx_ustawiany_interfejs>''' |
- | auto enx_ustawiany_interfejs | + | iface '''<enx_ustawiany_interfejs>''' inet static |
- | iface enx_ustawiany_interfejs inet static | + | |
| address 192.168.155.254 | | address 192.168.155.254 |
| netmask 255.255.255.0 | | netmask 255.255.255.0 |
- | W ten sposób dla naszego switcha wybraliśmy prywatną sieć 192.168.155.x. Dla sieci większych niż 250 maszyn należy wybrać prywatną sieć z zakresu podsieci 172.x.x.x or 10.x.x.x. | + | |
| + | |
| + | W ten sposób dla naszego switcha wybraliśmy prywatną sieć 192.168.155.x. Dla sieci większych niż 250 maszyn należy wybrać prywatną sieć z zakresu podsieci 172.x.x.x albo 10.x.x.x. |
| * Teraz możemy zrestartować połączenia sieciowe. | | * Teraz możemy zrestartować połączenia sieciowe. |
| sudo service networking restart | | sudo service networking restart |
Line 112: |
Line 113: |
| /sbin/ifconfig | | /sbin/ifconfig |
| Zakładamy, że drugi interfejs ethernet został automatycznie skonfigurowany poprawnie, umożliwiając dostęp do internetu konfigurowanej maszynie. | | Zakładamy, że drugi interfejs ethernet został automatycznie skonfigurowany poprawnie, umożliwiając dostęp do internetu konfigurowanej maszynie. |
- | * Należy dodać nazwę naszego hosta do pliku hosts: | + | * Należy dodać nazwę naszego hosta do pliku <code>/etc/hosts</code>: |
- | sudo jed /etc/hosts | + | sudo nano /etc/hosts |
| Do pliku należy dopisać linijki: | | Do pliku należy dopisać linijki: |
| 127.0.0.1 routersk | | 127.0.0.1 routersk |
| 192.168.155.254 routersk.podsiecsk routersk | | 192.168.155.254 routersk.podsiecsk routersk |
| Oczywiście używane nazwy mogą być dowolne. | | Oczywiście używane nazwy mogą być dowolne. |
- | * Teraz należy skonfigurować NAT (ang. Network Address Translation, znane również jako maskarada sieci). Jest to technika przesyłania ruchu sieciowego poprzez router (w tym wypadku: nasze Raspberry Pi) która wiąże się ze zmianą źródłowych lub docelowych adresów IP. | + | * Teraz należy '''skonfigurować NAT''' (ang. ''Network Address Translation'', znane również jako ''maskarada sieci''). Jest to technika przesyłania ruchu sieciowego poprzez router (w naszym wypadku: Raspberry Pi), która wiąże się ze zmianą źródłowych lub docelowych adresów IP. |
| Wpierw musimy się upewnić, że w pliku | | Wpierw musimy się upewnić, że w pliku |
- | /etc/sysctl.conf | + | <code>/etc/sysctl.conf</code> |
| znajduje się linijka (niezakomentowana): | | znajduje się linijka (niezakomentowana): |
| net.ipv4.ip_forward = 1 | | net.ipv4.ip_forward = 1 |
| Uruchamiamy ją poprzez: | | Uruchamiamy ją poprzez: |
| sysctl -p /etc/sysctl.conf | | sysctl -p /etc/sysctl.conf |
- | Następnie należy dodać poprawne reguły przekazywania (tzw. forwarding rules): | + | Następnie należy dodać poprawne reguły przekazywania (tzw. forwarding rules). W tym celu wpisujemy w terminalu komendy: |
- | sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE | + | sudo iptables -t nat -A POSTROUTING -o '''<enx_interfejs_sieci_zewnetrznej>''' -j MASQUERADE |
- | sudo iptables -A FORWARD -i wlan0 -o enxbabebc616263 -m state --state RELATED,ESTABLISHED -j ACCEPT | + | sudo iptables -A FORWARD -i '''<enx_interfejs_sieci_zewnetrznej>''' -o '''<enx_ustawiany_interfejs>''' -m state --state RELATED,ESTABLISHED -j ACCEPT |
- | sudo iptables -A FORWARD -i enxbabebc616263 -o wlan0 -j ACCEPT | + | sudo iptables -A FORWARD -i '''<enx_ustawiany_interfejs>''' -o '''<enx_interfejs_sieci_zewnetrznej>''' -j ACCEPT |
| Przy użyciu komendy | | Przy użyciu komendy |
| sudo iptables -L | | sudo iptables -L |
| można sprawdzić, czy nowe reguły pojawiły się w łańcuchu. | | można sprawdzić, czy nowe reguły pojawiły się w łańcuchu. |
- | Jeśli wszystko jest w porządku, należy je zapisać i upewnić się, że będą używane również po restarcie systemu. | + | Jeśli wszystko jest w porządku, należy je zapisać i upewnić się, że będą używane również po restarcie systemu: |
| sudo iptables-save > iptables.up.rules | | sudo iptables-save > iptables.up.rules |
| sudo mv iptables.up.rules /etc/ | | sudo mv iptables.up.rules /etc/ |
- | Tworzymy skrypt w /etc/network/if-pre-up.d/iptables: | + | Tworzymy skrypt w folderze <code>/etc/network/if-pre-up.d/</code> o nazwie <code>iptables</code>: |
| #!/bin/bash | | #!/bin/bash |
| /sbin/iptables-restore < /etc/iptables.up.rules | | /sbin/iptables-restore < /etc/iptables.up.rules |
| a następnie nadajemy uprawnienia do wykonywania. | | a następnie nadajemy uprawnienia do wykonywania. |
| | | |
- | === DNS and DHCP === | + | === DNS i DHCP === |
- | Teraz musimy skonfigurować DHCP w ten sposób, by numery IP dla naszego switcha były alokowane dynamicznie, oraz serwer DNS zapewniający możliwość używania nazw wewnątrz naszej sieci. | + | Teraz musimy skonfigurować DHCP (ang. ''Dynamic Host Configuration Protocol'') w ten sposób, by numery IP dla naszego switcha były alokowane dynamicznie, oraz serwer DNS (and. ''Domain Name Server'') zapewniający możliwość używania nazw wewnątrz naszej sieci. |
- | Obie te funkcjonalności zapewnia jeden program '''dnsmasq''. | + | Obie te funkcjonalności zapewnia jeden program '''dnsmasq'''. |
| | | |
| * Wpierw musimy się upewnić, że Network Manager nie zacznie kolidować z naszym programem używając swojej własnej, okrojonej wersji dnsmasq. | | * Wpierw musimy się upewnić, że Network Manager nie zacznie kolidować z naszym programem używając swojej własnej, okrojonej wersji dnsmasq. |
- | W pliku | + | W pliku <code>/etc/NetworkManager/NetworkManager.conf</code> następująca linijka |
- | /etc/NetworkManager/NetworkManager.conf | + | #dns=dnsmasq |
- | linijka | + | powinna być '''zakomentowana''' (znak <code>#</code>). |
- | #dns=dnsmasq | + | |
- | powinna być '''zakomentowana'''. | + | |
| | | |
- | * Następnie instalujemy pełną wersję dnsmasq. | + | * Następnie instalujemy pełną wersję dnsmasq: |
- | apt-get install dnsmasq | + | sudo apt-get install dnsmasq |
| | | |
| * Zatrzymujemy program: | | * Zatrzymujemy program: |
| sudo service dnsmasq stop | | sudo service dnsmasq stop |
- | i konfigurujemy, edytując plik /etc/dnsmasq.conf . Mianowicie, dodajemy linijki odpowiadające naszej nazwie oraz przestrzeni adresowej: | + | i konfigurujemy, edytując plik <code>/etc/dnsmasq.conf</code>. Mianowicie, dodajemy linijki odpowiadające naszej nazwie oraz przestrzeni adresowej: |
| | | |
- | interface=enx_ustawiany_interfejs | + | interface='''<enx_ustawiany_interfejs>''' |
| domain=routersk | | domain=routersk |
- | dhcp-range= enx_ustawiany_interfejs,192.168.155.1,192.168.155.254,255.255.255.0 | + | dhcp-range='''<enx_ustawiany_interfejs>''',192.168.155.1,192.168.155.254,255.255.255.0 |
- | dhcp-host=ba:be:bc:61:62:63,192.168.155.254 | + | dhcp-host='''<adres MAC>''',192.168.155.254 |
- | ** Uwaga, należy użyć poprawnego numeru MAC! | + | ** '''Uwaga!''' Należy użyć poprawnego adresu (numeru) MAC - pole <code>HWaddr</code> z informacji wypisanych przez komendę <code>ifconfig</code>! |
| ** Należy zwrócić uwagę, że trzecia linia zawiera zakres adresów IP które będą przydzielane przez nasz serwer DHCP. Będą również automatycznie dodane do wewnętrznego DNS. | | ** Należy zwrócić uwagę, że trzecia linia zawiera zakres adresów IP które będą przydzielane przez nasz serwer DHCP. Będą również automatycznie dodane do wewnętrznego DNS. |
- | ** Należy '''szczególnie uważać, by użyć nazwy wewnętrznego interfejsu''', w przeciwnym wypadku stworzony serwer DHCP mógłby zakłócić DHCP istniejący w naszej sieci "zewnętrznej"! | + | ** Należy '''szczególnie uważać, by użyć nazwy wewnętrznego interfejsu''' (czyli '''ustawianego interfejsu'''), w przeciwnym wypadku stworzony serwer DHCP mógłby zakłócić DHCP istniejący w naszej sieci "zewnętrznej"! |
- | ** Można zwrócić uwagę, że zakres adresów zawiera również adres przydzielony dla naszego komputera. Jest to możliwe, gdyż w ostatniej linijce zarezerwowalśmy ten adres ręcznie przypisując adres MAC. W teorii, moglibyśmy w ten sposób przyporządkować numery IP dla wszystkich podłączanych urządzeń. Jednakże wtedy dołączanie ich nie byłoby "automatyczne" - za każdym razem gdy w naszej sieci pojawiałoby się nowe urządzenie, trzebaby dopisywać kolejną linijkę w pliku konfiguracyjnym. Dużo łatwiej jest określić nazwę dla każdego z urządzeń, a serwerowi DHCP umożliwić wybranie losowych adresów za każdym razem. To oznacza również, że będziemy identyfikować nasze urządzenia po '''nazwach''' a ''nie 'numerach IP'''. Nazwy pozostaną stałe, a adresy IP mogą się zmienić po restarcie systemu. | + | ** Można zwrócić uwagę, że zakres adresów zawiera również adres przydzielony dla naszego komputera. Jest to możliwe, gdyż w ostatniej linijce zarezerwowalśmy ten adres ręcznie przypisując adres MAC. W teorii, moglibyśmy w ten sposób przyporządkować numery IP dla wszystkich podłączanych urządzeń. Jednakże wtedy dołączanie ich nie byłoby "automatyczne" - za każdym razem gdy w naszej sieci pojawiałoby się nowe urządzenie, trzebaby dopisywać kolejną linijkę w pliku konfiguracyjnym. Dużo łatwiej jest określić nazwę dla każdego z urządzeń, a serwerowi DHCP umożliwić wybranie losowych adresów za każdym razem. To oznacza również, że będziemy identyfikować nasze urządzenia po '''nazwach''' a '''nie numerach IP'''. Nazwy pozostaną stałe, a adresy IP mogą się zmienić po restarcie systemu. |
| | | |
| * Należy zrestartować serwer | | * Należy zrestartować serwer |
Line 176: |
Line 175: |
| * Po podłączeniu nowego urządzenia do switcha, takie urządzenie powinno uzyskać numer IP z puli 192.168.155.x oraz dostęp do internetu poprzez nasz Raspberry-Pi-Router. | | * Po podłączeniu nowego urządzenia do switcha, takie urządzenie powinno uzyskać numer IP z puli 192.168.155.x oraz dostęp do internetu poprzez nasz Raspberry-Pi-Router. |
| | | |
- | == Tunelowanie SSH oraz VNC (zadanie D)== | + | == Zadanie C - Zaciskanie kabli sieciowych == |
| + | |
| + | Często się zdarza, że chcemy podłączyć jakieś urządzenie, np. komputer, do routera i nie posiadamy kabla o odpowiedniej długości. Najczęściej wybieramy się wtedy do sklepu i próbujemy kupić kabel, którego długość by nam odpowiadała. W przypadku pojedyńczego komputera nie ma z tym problemu, co jeśli próbujemy podłączyć kilkadziesiąt komputerów i uniknąć plątaniny zbyt długich kabli? Kupujemy wtedy szpulę kabla sieciowego, tniemy na odpowiednie dla nas długości i samodzielnie zaciskamy końcówki. Samodzielne zaciśnięcie końcówek kabla sieciowego jest zadaniem do wykonania dla Państwa. |
| + | |
| + | Do budowy sieci komputerowej typu Ethernet wykorzystuje się dedykowane kable miedziane typu skrętka, które ustandaryzowane są według europejskiej normy EN 50173. Norma ta dzieli skrętki na kilka kategorii, z czego najpopularniejsza jest kategoria 5 lub jej nowsza wersja 5e (mówimy wtedy, że jest to kabel '''Cat 5''' albo '''Cat 5e'''), wykorzystywana właśnie do transmisji danych w sieciach komputerowych. |
| + | |
| + | Kabel Cat 5/5e składa się z '''8 żył''', które są skręcone ze sobą parami w celu eliminacji różnego rodzaju zakłóceń. Transmisja odbywa się w technologii zwanej 100Base-TX, pozwalającej na przesył danych z prędkością 100 Mb/s. Poszczególne żyły oznaczone są kolorami, jak również kolorami są one ze sobą skręcone. Wyróżniamy pary: |
| + | # niebieski - biało-niebieski |
| + | # pomarańczowy - biało-pomarańczowy |
| + | # zielony - biało-zielony |
| + | # brązowy - biało-brązowy |
| + | Do transmisji danych wykorzystywane są jedynie dwie pary żył. Przykład kabla sieciowego Cat 5/5e przedstawia poniższe zdjęcie: |
| + | [[File:Cat5cable.jpg|350px]] |
| + | |
| + | Kabel Cat 5e zakończony jest z dwóch stron wtyczką zwaną '''RJ45''' (zdjęcie pniżej), która może mieć dwojaki układ żył (tzw. standardy 100BASE-T568A - '''typ A''' oraz 100BASE-T568B - '''typ B'''). |
| + | |
| + | [[File:rj45.jpeg|200px]] |
| + | |
| + | Wyróżniamy dwie możliwe konfiguracje kabla Cat 5/5e i wtyczki RJ45: |
| + | * '''kabel nieskrosowany''' (prosty, ''straight'' lub ''patch'') - obie końcówki są typu B, wykorzystywany np. do podłączenia komputera do routera albo dysku sieciowego |
| + | * '''kabel skrosowany''' (z przeplotem, ''crossover'' lub ''crossed'') - jedna końcówka jest typu A a druga typu B, wykorzystywany do połączenia dwóch komputerów (urządzeń tego samego typu) ze sobą |
| + | Oba typu kabli przedstawione są na rysunkach poniżej: |
| + | |
| + | [[File:straight.gif|300px]][[File:crossed.gif|300px]] |
| + | |
| + | Pomimo istniena aż 8 żył, do transmisji danych (połączenia) wykorzystywane są '''tylko 4 żyły'''. Pozostałe żyły są nieużywane - wynika z faktu, że do gniazdka RJ45 można podpiąć wtyczkę RJ11 służącą do połączeń telefonicznych, która wykorzystywałaby z kolei pozostałe 4 żyły. Tabelka poniżej prezentuje wykorzystanie żył: |
| + | |
| + | [[File:used.png]] |
| + | |
| + | Państwa zadanie polega na przygotowaniu kabla prostego (obie końcówki typu B) za pomocą dostępnych narzędzi (nożyczki, zaciskarka). |
| + | |
| + | == Zadanie D - Tunelowanie SSH oraz system VNC == |
| | | |
| Zadania z tej części powinien wykonać '''każdy''' student samodzielnie. | | Zadania z tej części powinien wykonać '''każdy''' student samodzielnie. |
| | | |
| ===Zmiana interfejsu sieciowego (Zadanie D.0) === | | ===Zmiana interfejsu sieciowego (Zadanie D.0) === |
| + | <u>Tylko jeśli nie było to wcześniej ustawiane: </u> |
| * Wyłączamy maszyny wirtualne | | * Wyłączamy maszyny wirtualne |
| * Settings -> Network Adapters -> Attached to: Bridged Adapter, eth0. | | * Settings -> Network Adapters -> Attached to: Bridged Adapter, eth0. |
Line 188: |
Line 219: |
| SSH to standard protokołów komunikacyjnych, które umożliwiają: | | SSH to standard protokołów komunikacyjnych, które umożliwiają: |
| * Bezpieczną zdalną pracę na komputerze podłączonym do Internetu | | * Bezpieczną zdalną pracę na komputerze podłączonym do Internetu |
- | * Bezpieczne logowanie za pomocą pary kryptograficznych kluczy | + | * Bezpieczne logowanie za pomocą pary kryptograficznych kluczy (będziemy ćwiczyć na innych zajęciach) |
| * Tworzenie bezpiecznych tuneli pozwalających na np. omijanie niektórych firewalli. | | * Tworzenie bezpiecznych tuneli pozwalających na np. omijanie niektórych firewalli. |
| | | |
Line 194: |
Line 225: |
| W maszynie wirtualnej należy zainstalować serwer '''ssh''', umożliwiający zdalne łączenie się z komputerem. | | W maszynie wirtualnej należy zainstalować serwer '''ssh''', umożliwiający zdalne łączenie się z komputerem. |
| Następnie przetestować działanie zdalengo logowania <code>ssh</code>: | | Następnie przetestować działanie zdalengo logowania <code>ssh</code>: |
- | * należy zalogować się na komputer kolegi poprzez ssh i utworzyć w katalogu $HOME katalog foo_123. | + | * należy zalogować się na komputer kolegi poprzez ssh i utworzyć w katalogu <code>$HOME</code> katalog <code>foo_123</code> |
| Należy przetestować działanie zdalnego kopiowania pomiędzy komputerami w sieci za pomocą <code>scp</code>: | | Należy przetestować działanie zdalnego kopiowania pomiędzy komputerami w sieci za pomocą <code>scp</code>: |
- | * należy stworzyć plik ze swoim imieniem i nazwiskiem, i umieścić go w uprzednio utworzonym katalogu $HOME/foo_123 | + | * należy stworzyć plik ze swoim imieniem i nazwiskiem, i umieścić go w uprzednio utworzonym katalogu <code>$HOME/foo_123</code> |
| | | |
| ===VNC=== | | ===VNC=== |
Line 212: |
Line 243: |
| '''Serwer'''. Na maszynie wirtualnej należy zainstalować aplikację '''x11vnc''' służącą do zdalnego przekazywania środowiska graficznego. | | '''Serwer'''. Na maszynie wirtualnej należy zainstalować aplikację '''x11vnc''' służącą do zdalnego przekazywania środowiska graficznego. |
| | | |
- | '''Klient.''' Na drugim komputerze odpalamy system Windows (login i hasło należy pobrać od prowadzącego), na który należy ściągnać aplikację [https://www.realvnc.com/download/viewer/ VNC Viewer ] służącą do odbioru sygnału VNC. | + | '''Klient.''' Na drugim komputerze odpalamy system Windows (login i hasło należy pobrać od prowadzącego), na który należy ściągnać aplikację [https://www.realvnc.com/download/viewer/ VNC Viewer ] (wersja Standalone x86) służącą do odbioru sygnału VNC. |
| | | |
| Następnie przetestować działanie zdalnego dostępu do systemu maszyny wirtualnej. | | Następnie przetestować działanie zdalnego dostępu do systemu maszyny wirtualnej. |
| | | |
| ====Serwer==== | | ====Serwer==== |
| + | * Instalacja programu x11vnc: |
| sudo apt-get install x11vnc | | sudo apt-get install x11vnc |
| + | * Utworzenie pliku z hasłem: |
| + | sudo x11vnc --storepasswd ~/x11vnc.pass |
| + | Należy również nadać utworzonemu plikowi uprawnienia do odczytu |
| + | * Uruchomienie serwera VNC |
| + | x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth ~/x11vnc.pass -rfbport 5900 -shared |
| | | |
- | sudo x11vnc –storepasswd /etc/x11vnc.pass
| + | Więcej informacji: [https://help.ubuntu.com/community/VNC/Servers help.ubuntu.com] |
- | | + | |
- | * Należy stworzyć plik "Service Unit"
| + | |
- | sudo nano /lib/systemd/system/x11vnc.service
| + | |
- | | + | |
- | Plik powinien zawierać poniższe linijki:
| + | |
- | [Unit]
| + | |
- | Description=Start x11vnc at startup.
| + | |
- | After=multi-user.target
| + | |
- | | + | |
- | [Service]
| + | |
- | Type=simple
| + | |
- | ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
| + | |
| | | |
- | [Install]
| + | ====Klient==== |
- | WantedBy=multi-user.target
| + | * Instalacja klienta VNC: [https://www.realvnc.com/download/viewer/windows/ RealVNC] |
| + | * Należy podać adres IP serwera wraz z numerem portu (5900) |
| + | * Należy podać hasło |
Należy skonfigurować router Linksys Model WRT54G w celu stworzeia sieci bezprzewodowej zabezpieczonej hasłem zaszyfrowanym w standardzie WPA2.
Konfigurujemy router programowy z wykorzystaniem mini komputera Raspberry Pi z zainstalowanym systemem operacyjnym Linux Mate. Do komputera podłączony jest na wejściu sygnał internetowy od dostawcy internetu (w naszym przypadku z "gniazdka" wydziałowego), zaś na wyjściu podpinany jest switch przekazujący sygnał do poszczególnych komputerów podłączanych do tworzonej przez nas sieci.
W Rasperry Pi należy:
Zadanie manualne polegające na przygotowaniu kabla sieciowego z końcówkami typu RJ45 bez przeplotu, służącego do połączenia komputera z routerem.
Należy skonfigurować router Linksys Model WRT54G w celu stworzeia sieci bezprzewodowej zabezpieczonej hasłem zaszyfrowanym w standardzie WPA2.
Konfigurujemy router programowy z wykorzystaniem mini komputera Raspberry Pi z zainstalowanym systemem operacyjnym Linux Mate. Do komputera podłączony jest na wejściu sygnał internetowy od dostawcy internetu (w naszym przypadku z "gniazdka" wydziałowego), zaś na wyjściu podpinany jest switch przekazujący sygnał do poszczególnych komputerów podłączanych do tworzonej przez nas sieci.
W Rasperry Pi należy:
Pierwszym etapem będzie utworzenie odpowiednich reguł przekierowania. Chcemy w stworzonej przez nas podsieci chcemy przydzielać adresy w obrębie 192.168.155.x.
powinna pokazać nazwy wszystkich interfejsów danego urządzenia. Żeby uzyskać nazwę, poszukujemy linijki podobnej do:
Jeśli do jednego urządzenia mamy podłączone dwa kable sieciowe, uzyskamy dwa interfejsy typu "ethernet". Właściwy można wybrać np. analizując przydzielone numery IP.
i sprawdzić czy oba interfejsy ustawione są poprawnie, ponownie używając komendy:
Zakładamy, że drugi interfejs ethernet został automatycznie skonfigurowany poprawnie, umożliwiając dostęp do internetu konfigurowanej maszynie.
Oczywiście używane nazwy mogą być dowolne.
Następnie należy dodać poprawne reguły przekazywania (tzw. forwarding rules). W tym celu wpisujemy w terminalu komendy:
można sprawdzić, czy nowe reguły pojawiły się w łańcuchu.
Jeśli wszystko jest w porządku, należy je zapisać i upewnić się, że będą używane również po restarcie systemu:
a następnie nadajemy uprawnienia do wykonywania.
Teraz musimy skonfigurować DHCP (ang. Dynamic Host Configuration Protocol) w ten sposób, by numery IP dla naszego switcha były alokowane dynamicznie, oraz serwer DNS (and. Domain Name Server) zapewniający możliwość używania nazw wewnątrz naszej sieci.
Obie te funkcjonalności zapewnia jeden program dnsmasq.
Często się zdarza, że chcemy podłączyć jakieś urządzenie, np. komputer, do routera i nie posiadamy kabla o odpowiedniej długości. Najczęściej wybieramy się wtedy do sklepu i próbujemy kupić kabel, którego długość by nam odpowiadała. W przypadku pojedyńczego komputera nie ma z tym problemu, co jeśli próbujemy podłączyć kilkadziesiąt komputerów i uniknąć plątaniny zbyt długich kabli? Kupujemy wtedy szpulę kabla sieciowego, tniemy na odpowiednie dla nas długości i samodzielnie zaciskamy końcówki. Samodzielne zaciśnięcie końcówek kabla sieciowego jest zadaniem do wykonania dla Państwa.
Do budowy sieci komputerowej typu Ethernet wykorzystuje się dedykowane kable miedziane typu skrętka, które ustandaryzowane są według europejskiej normy EN 50173. Norma ta dzieli skrętki na kilka kategorii, z czego najpopularniejsza jest kategoria 5 lub jej nowsza wersja 5e (mówimy wtedy, że jest to kabel Cat 5 albo Cat 5e), wykorzystywana właśnie do transmisji danych w sieciach komputerowych.
Do transmisji danych wykorzystywane są jedynie dwie pary żył. Przykład kabla sieciowego Cat 5/5e przedstawia poniższe zdjęcie:
Państwa zadanie polega na przygotowaniu kabla prostego (obie końcówki typu B) za pomocą dostępnych narzędzi (nożyczki, zaciskarka).
Należy przetestować działanie zdalnego kopiowania pomiędzy komputerami w sieci za pomocą scp
:
Program składa się z części klienta oraz serwera. Serwer udostępnia swój pulpit, który poprzez program klienta możemy oglądać zdalnie. Istnieje możliwość, że klient będzie sterował myszką bądź klawiaturą serwera. Komputery te muszą być połączone ze sobą za pomocą protokołu TCP/IP (internet, sieć lokalna).
Klient i serwer mogą pracować równocześnie na różnych systemach operacyjnych.
Następnie przetestować działanie zdalnego dostępu do systemu maszyny wirtualnej.