June 2, 2024, Sunday, 153

SK Zadanie 3

From Łukasz Graczykowski

(Difference between revisions)
Jump to: navigation, search
(Zadanie B - Konfigurowanie routera programowego)
(Zadanie A - Sieci bezprzewodowe - podstawowe informacje)
 
(40 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 “sk2016”
+
* 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:
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.
== Zadanie A - Sieci bezprzewodowe - podstawowe informacje ==
== Zadanie A - Sieci bezprzewodowe - podstawowe informacje ==
Line 35: Line 37:
Zadania:
Zadania:
-
* Ustawić hasło do wifi na “alamakota”
+
* Ustawić hasło do wifi na "alamakota".
-
* Ustawić nazwę sieci na “sk2016”
+
* 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.
* 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”
+
* 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”)
+
* 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.  
+
'''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 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 78: Line 81:
== Zadanie B - Konfigurowanie routera programowego ==
== Zadanie B - Konfigurowanie routera programowego ==
 +
 +
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:
 +
* podłączyć kabel Ethernet z sygnałem internetowym oraz switch
 +
* utworzyć odpowiednie reguły przekierowania (forwarding) z wykorzystaniem narzędia <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>
===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:
+
 
 +
'''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
  sudo nano /etc/network/interfaces
dodając linijki:
dodając linijki:
-
  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
-
'''Uwaga!''' Nazwy interfejsów sprawdzamy komendą <code>ifconfig</code> lub (jeżeli nie jest tak dostępna) <code>/sbin/ifconfig</code>. Interfejs ustawiany to ten, który nie ma w tym momencie przydzielonego adresu IP.
 
-
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 101: 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 enx_interfejs_sieci_zewnetrznej -j MASQUERADE
+
  sudo iptables -t nat -A POSTROUTING -o '''<enx_interfejs_sieci_zewnetrznej>''' -j MASQUERADE
-
  sudo iptables -A FORWARD -i interfejs_sieci_zewnetrznej -o enx_interfejs_sieci_wewnetrznej -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 enx_interfejs_sieci_wewnetrznej -o enx_interfejs_sieci_zewnetrznej -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.
Line 175: Line 185:
# pomarańczowy - biało-pomarańczowy
# pomarańczowy - biało-pomarańczowy
# zielony - biało-zielony
# zielony - biało-zielony
-
# czerwony - biało-czerwony
+
# 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:
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]]
[[File:Cat5cable.jpg|350px]]
-
Kabel Cat 5e zakończony jest z dwóch stron końcówką 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''').
+
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]]
[[File:rj45.jpeg|200px]]
Line 185: Line 195:
Wyróżniamy dwie możliwe konfiguracje kabla Cat 5/5e i wtyczki RJ45:
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 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'' 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ą
+
* '''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:
Oba typu kabli przedstawione są na rysunkach poniżej:
Line 201: Line 211:
===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 232: 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.

Latest revision as of 12:57, 17 January 2020

Contents

UWAGA! Zajęcia 5 - nowa kolejność

Zadania

Zadanie A

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”
  • 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:

  • Zmiana hasła administratora “alamakotaadmin”
  • Wybraniu optymalnego kanału Wifi (np. program “Wifi Analyzer na systemach Android”)

Zadanie B

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:

  • podłączyć kabel Ethernet z sygnałem internetowym oraz switch
  • utworzyć odpowiednie reguły przekierowania (forwarding) z wykorzystaniem narzędzia iptables
  • skonfigurować serwery DHCP do automatycznego przydzielania adresów IP oraz DNS do rozpoznawania nazw wewnątrz podsieci, z wykorzystaniem narzędzia dnsmasq

Zadanie C

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.

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 ssh oraz zdalnego kopiowania pomiędzy komputerami w sieci za pomocą scp (ustawienia sieciowe maszyny wirtualnej przełączamy w "Bridged Adapter").
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.

Zadanie A - Sieci bezprzewodowe - podstawowe informacje

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 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 (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. Więcej informacji: Sloneczko net

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). 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

  • Popularne:

WEP (Wired Equivalent Privacy). Jest to najczęściej używany standard bezpieczeństwa na świecie powstały pod koniec lat 90-tych. Występuje zwykle na pierwszej pozycji na listach w ustawieniach routerów. A zarazem jest najsłabszym i najbardziej podatnym na ataki standardem jaki można wybrać.

WPA (Wi-Fi Protected Access). WPA jest następcą mniej bezpiecznego standardu WEP. Niestety, ze względu na chęć łatwego wdrożenia standardu do wszystkich urządzeń WPA musiał posiadać pewien poziom wstecznej kompatybilności z WEP. Z tego względu TKIP (protokół będący kluczową częścią standardu WPA) cierpi na podobne przypadłości, co WEP.

WPA2 (Wi-Fi Protected Access II) - najlepszy wybór. Dla sieci domowej WPA2 jest obecnie najlepszym zabezpieczeniem z trzech (WEP, WPA, WPA2) omawianych. Radzimy upewnić się, że to właśnie WPA2 (z typem szyfrowania AES) jest wybrany w ustawieniach sprzętu sieciowego. Użycie któregokolwiek ze starszych standardów naraża nasze bezpieczeństwo, gdyż złamanie zabezpieczeń WEP i WPA zajmuje od kilku do kilkunastu minut.

Personal vs Enterprise. Jak nazwa wskazuje, szyfrowanie typu “Personal” przewidywane jest dla użytku domowego, a “Enterprise” zostało zaprojektowane do ochrony organizacji i firm.

  • Zaawansowane:

Filtrowanie adresów MAC. Technika ta polega na ustawieniu w Punkcie Dostępowym listy adresów kart sieciowych, które legalnie mogą (bądź nie mogą) korzystać z sieci. Jeżeli adres MAC klienta nie znajduje się na tej liście, nie uzyska on połączenia z siecią. Ten rodzaj zabezpieczenia zwykle łączy się również z innymi. Przykład ustawiania tego zabezpieczenia na używanych na laboratoriach routerach Linksys: link.

RADIUS (Remote Authentication Dial-In User Service). RADIUS jest protokołem, umożliwiającym autentykację, autoryzację oraz rozliczanie (AAA - Authencication, Authorization, Accounting). Więcej informacji https://pl.wikipedia.org/wiki/RADIUS

VPN (Virtual Private Network). 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

Zadanie B - Konfigurowanie routera programowego

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:

  • podłączyć kabel Ethernet z sygnałem internetowym oraz switch
  • utworzyć odpowiednie reguły przekierowania (forwarding) z wykorzystaniem narzędia iptables
  • skonfigurować serwery DHCP do automatycznego przydzielania adresów IP oraz DNS do rozpoznawania nazw wewnątrz podsieci, z wykorzystaniem narzędzia dnsmasq

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
/sbin/ifconfig

powinna pokazać nazwy wszystkich interfejsów danego urządzenia. Żeby uzyskać nazwę, poszukujemy linijki podobnej do:

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.

Uwaga! Interfejs ustawiany to ten, który nie ma w tym momencie przydzielonego adresu IP. Sprawdzoną nazwę podstawiamy zamiast <enx_ustawiany_interfejs> (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 interfaces:
sudo nano /etc/network/interfaces

dodając linijki:

auto  <enx_ustawiany_interfejs>
iface  <enx_ustawiany_interfejs> inet static
address 192.168.155.254
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 albo 10.x.x.x.

  • Teraz możemy zrestartować połączenia sieciowe.
sudo service networking restart

i sprawdzić czy oba interfejsy ustawione są poprawnie, ponownie używając komendy:

/sbin/ifconfig

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 /etc/hosts:
sudo nano /etc/hosts

Do pliku należy dopisać linijki:

127.0.0.1 routersk
192.168.155.254 routersk.podsiecsk routersk

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 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 /etc/sysctl.conf znajduje się linijka (niezakomentowana):

net.ipv4.ip_forward = 1  

Uruchamiamy ją poprzez:

sysctl -p /etc/sysctl.conf

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 <enx_interfejs_sieci_zewnetrznej> -j MASQUERADE
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 <enx_ustawiany_interfejs> -o <enx_interfejs_sieci_zewnetrznej> -j ACCEPT

Przy użyciu komendy

sudo iptables -L

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:

sudo iptables-save > iptables.up.rules
sudo mv iptables.up.rules /etc/

Tworzymy skrypt w folderze /etc/network/if-pre-up.d/ o nazwie iptables:

#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules

a następnie nadajemy uprawnienia do wykonywania.

DNS i DHCP

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.

  • Wpierw musimy się upewnić, że Network Manager nie zacznie kolidować z naszym programem używając swojej własnej, okrojonej wersji dnsmasq.

W pliku /etc/NetworkManager/NetworkManager.conf następująca linijka

#dns=dnsmasq

powinna być zakomentowana (znak #).

  • Następnie instalujemy pełną wersję dnsmasq:
sudo apt-get install dnsmasq
  • Zatrzymujemy program:
sudo service dnsmasq stop

i konfigurujemy, edytując plik /etc/dnsmasq.conf. Mianowicie, dodajemy linijki odpowiadające naszej nazwie oraz przestrzeni adresowej:

interface=<enx_ustawiany_interfejs>
domain=routersk
dhcp-range=<enx_ustawiany_interfejs>,192.168.155.1,192.168.155.254,255.255.255.0
dhcp-host=<adres MAC>,192.168.155.254
    • Uwaga! Należy użyć poprawnego adresu (numeru) MAC - pole HWaddr z informacji wypisanych przez komendę ifconfig!
    • 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 (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.
  • Należy zrestartować serwer
sudo service dnsmasq restart

W razie problemów należy spróbować:

sudo service dnsmasq status
sudo service dnsmasq start
  • 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.

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:

  1. niebieski - biało-niebieski
  2. pomarańczowy - biało-pomarańczowy
  3. zielony - biało-zielony
  4. 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: Cat5cable.jpg

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).

Rj45.jpeg

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:

Straight.gifCrossed.gif

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ł:

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.

Zmiana interfejsu sieciowego (Zadanie D.0)

Tylko jeśli nie było to wcześniej ustawiane:

  • Wyłączamy maszyny wirtualne
  • Settings -> Network Adapters -> Attached to: Bridged Adapter, eth0.
  • Startujemy maszyny.

Serwer ssh

SSH to standard protokołów komunikacyjnych, które umożliwiają:

  • Bezpieczną zdalną pracę na komputerze podłączonym do Internetu
  • 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.

Zadanie D.1

W maszynie wirtualnej należy zainstalować serwer ssh, umożliwiający zdalne łączenie się z komputerem. Następnie przetestować działanie zdalengo logowania ssh:

  • należy zalogować się na komputer kolegi poprzez ssh i utworzyć w katalogu $HOME katalog foo_123

Należy przetestować działanie zdalnego kopiowania pomiędzy komputerami w sieci za pomocą scp:

  • należy stworzyć plik ze swoim imieniem i nazwiskiem, i umieścić go w uprzednio utworzonym katalogu $HOME/foo_123

VNC

VNC (ang. Virtual Network Computing) jest to system przekazywania obrazu ze środowiska graficznego.

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.

Najczęściej wykorzystywane są następujące tryby pracy programu:

  • Klient steruje serwerem, by zdalnie coś naprawić, sprawdzić bądź skonfigurować.
  • Wielu klientów ogląda pulpit serwera. Jest to tryb "nauczyciela" który chce pokazać coś wielu "uczniom".
  • Jeden klient ogląda pulpit wielu serwerów w celu kontroli innych komputerów.

Zadanie D.2

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ę 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.

Serwer

  • Instalacja programu 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

Więcej informacji: help.ubuntu.com

Klient

  • Instalacja klienta VNC: RealVNC
  • Należy podać adres IP serwera wraz z numerem portu (5900)
  • Należy podać hasło