Wykład 1 Konfiguracja środowiska sieciowego systemów unixowych na przykładzie GNU/Linux. Usługa DNS i SMB obsługa poleceń netstat, ifconfig, route, etc. hierarchiczna i rekurencyjna architektura DNS rekordy DNS SMB możliwości protokołu rodzaje wezłów SMB, proces elekcji parametry konfiguracyjne pakietu Samba
Podstawy konfiguracji środowiska sieciowego systemu GNU/Linux lspci <= lista wykrytych urządzeń modprobe/lsmod/rmmod <= zarządzanie modułem karty sieciowej ifconfig <= konfiguracja interfejsu sieciowego route <= konfiguracja rutingu statycznego netstat <= wyświetlanie otwartych gniazd UDP, połączeń TCP, tablicy rutingu,itp. ping, traceroute <= testowanie drożności tras /etc/hosts <= rozwiazywanie nazw(stat.) /etc/resolv.conf <= rozwiązywanie nazw(dyn.) /etc/hosts.{allow/deny} <= restrykcje dostępu do usług
ifconfig zarządzanie interfejsami sieciowymi ifconfig <interfejs> <opcje> <interfejs> <= nazwa interfejsu (np. eth0, eth1, ppp0) <opcje> mogą przyjmować przykładowe wartości: up/down <= włączanie/wyłączanie interfejsu <IP> <= numer IP przydzielony interfejsowi netmask <maska> <= ustawienie maski sieciowej arp <= włączanie/wyłączanie używania protokołu ARP [-]promisc <= włączanie/wyłączanie trybu promiscous (przechwytywanie wszystkich pakietów) mtu <N> <= ustawienie MTU hw ether <MAC> <= ustawienie adresu MAC
route zarządzanie trasami route [add/del] <cel> <opcje> <cel> <opcje> gw GW netmask M dev IF mss M <= docelowa sieć lub stacja mogą przyjmować przykładowe wartości: <= trasowanie pakietów poprzez bramkę GW <= ustawienie maski sieciowej M <= związanie trasy z podanym interfejsem <= ustawienie MSS na M
route przykład wyjścia polecenia Destination Gateway Genmask Flags Metric Ref Use Iface 213.25.2.139 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 213.25.2.139 0.0.0.0 UG 0 0 0 ppp0 U - trasa jest zestawiona [up] H - cel jest stacją [host] G - użyj bramki [gateway] R - reinstancjuj trasę na trasowanie dynamiczne D - dynamicznie instalowana przez demona lub przekierowanie M - modyfikowana z demona trasowania lub przekierowania A - instalowana przez addrconf C - wpis bufora podręcznego [cache]! - trasa odrzucenia [reject]
netstat przykład wyjścia polecenia (fragment) Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:8192 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:5222 0.0.0.0:* LISTEN tcp 0 0 192.168.0.5:80 0.0.0.0:* LISTEN tcp 0 22 83.26.26.21:3613 82.21.16.92:105 FIN_WAIT2 tcp 131 0 83.26.26.21:4247 80.108.9.23:2456 TIME_WAIT tcp 0 0 83.26.26.21:4662 83.24.14.20:3414 ESTABLISHED udp 0 0 0.0.0.0:4666 0.0.0.0:* udp 0 0 127.0.0.1:53 0.0.0.0:* Proto Ref Cnt Flags Type State I-Node Path unix 16 [ ] DGRAM 983 /dev/log unix 2 [ACC] STREAM LISTENING 11375257 /var/run/mysqld.sock
/etc/hosts & /etc/resolv.conf przykłady /etc/hosts 127.0.0.1 localhost 192.168.1.10 foo.mydomain.org foo 192.168.1.13 bar.mydomain.org bar 146.82.138.7 master.debian.org master 209.237.226.90 www.opensource.org /etc/resolv.conf domain kis.p.lodz.pl search kis.p.lodz.pl lab.kis.p.lodz.pl nameserver 127.0.0.1 nameserver 194.204.159.1
hosts.{allow/deny} hosts.allow i hosts.deny to pliki definiujące restrykcje dostępu do lokalnego komputera według kryteriów: wywoływany program (demon) adres źródłowy połączenia Kolejność wpisów ma znaczenie! (sprawdzanie w kolejności: hosts.allow => hosts.deny => przyjęcie połączenia) Można nastawić wykonanie komendy przy trafieniu!
hosts.{allow/deny} - przykłady /etc/hosts.allow /etc/hosts.deny in.tftpd: LOCAL, host.domain telnet: 10.0.0.8,.sub.domain (echo uwaga! ) ALL : ALL: spawn /usr/bin/mail Polecenie wywoływane (demon) Źródło połączenia Uruchomienie programu (opcjonalne)
DNS co to takiego? DNS Domain Name System (System Nazw Domenowych) RFC 1033,1034 Hierarchiczny, rozproszony system serwerów zapewniający zamianę nazw tekstowych (www.kis.p.lodz.pl) na adresy numeryczne IP (212.191.89.2).
DNS założenia funkcjonalne Spójna przestrzeń nazw umożliwiająca dostęp do wskazanych zasobów (adres IP) bez wiedzy o trasie, masce sieciowej itp. pl.firma.com uk.firma.com no.firma.com domena FIRMA.COM Możliwość decentralizacji zarządzania domeną (sukcesywne tworzenie poddomen) w celu zmniejszenia ruchu sieciowego wywołanego zapytaniami Wydajność protokół UDP (port 53) gdansk.pl.firma.com firma.com pl.firma.com uk.firma.com no.firma.com lodz.pl.firma.com s2.no.firma.com s1.no.firma.com s3.no.firma.com
Hierarchiczna i rekurencyjna architektura DNS TLD (Top Level Domain) domena.com domena.uk domena.pl domena.gov NS: www.p.lodz.pl? NS:.pl = 1.2.3.4 NS: www.p.lodz.pl? domena.firma.pl domena.lodz.pl NS:.lodz.pl = 2.3.4.5 NS: www.p.lodz.pl? domena.com (backup) domena p.lodz.pl NS:.p.lodz.pl = 3.4.5.6 A: www.p.lodz.pl? A: www.p.lodz.pl = 212.51.207.68 lokalny serwer DNS A: www.p.lodz.pl? 212.51.207.68 klient DNS
DNS Dialog między klientem a serwerem klient DNS (192.168.0.25) UDP TRNS. ID: 43265 SRC: 192.168.0.25:1087 DST: 192.168.0.1:53 (((((((( ))))))))!!! UDP TRNS. ID: 43265 DST: 192.168.0.25:1087 SRC: 192.168.0.1:53 serwer DNS (192.168.0.1) łatwy do podszycia się (tzw. spoofing) protokół UDP transmisja nieszyfrowana nr transakcji liczbą 16 bitową (0-65534) próby zabezpieczenia: DNSSec
Rodzaje rekordów DNS (fragment) SOA (Start of Authority) generalne informacje o domenie A (Address) zwykła translacja nazwy na numer IP CNAME (Cannonical Name) Alias. Wskazanie na inna nazwę NS (Name Server) Wskazanie na serwer nazw dla tej domeny MX (Mail Exchange) Wskazanie na serwer pocztowy obsługujący tą domenę PTR (Pointer) Translacja odwrotna numeru IP na nazwę HINFO (Host Info) Informacje o sprzęcie który obsługuje tą domenę
Przykład konfiguracji pliku strefy @ IN SOA test.pl. root.test.pl. ( 2005010504 ; Serial 7200 ; Refresh 3600 ; Retry 3600000 ; Expire 28800 ) ; Negative Cache TTL IN NS ns1.test.pl. IN NS ns2.test.pl. IN MX 10 mail1.test.pl. IN MX 20 mail2.test.pl. ns1 IN A 10.0.0.1 ns2 IN A 10.0.0.2 www IN CNAME ns1 mail1 IN CNAME ns2 mail2 IN CNAME ns.inna-domena.pl.
SAMBA co to takiego? SaMBa zbiór uniksowych aplikacji rozumiejących protokół SMB (Server Message Block). Umożliwia uniksowym serwerom porozumiewanie się za pomocą tego samego protokołu, którego używają systemy Microsoftu (tzw. otoczenie sieciowe ). (źródło: Robert Eckstein, David Collier-Brown, Peter Kelly: 'Using Samba', Wyd.: O'Reilly, 2000 )
Samba charakterystyka i ciekawostki Podobnie jak system operacyjny Linux, Samba to 'flagowe' oprogramowanie o otwartym kodzie źródłowym (Open Source Software), rozpowszechniana na warunkach Powszechnej Licencji Publicznej GNU (GPL). prace nad Sambą są w części sponsorowane przez Narodowy Uniwersytet Australii (gdzie autor - Andrew Tridgell uzyskał swój tytuł naukowy) oraz przez takie firmy jak Whistle i SGI. Microsoft upublicznił definicję protokołu SMB jako CIFS (Common Internet File System)
Samba możliwości udostępnianie zasobów plikowych udostępnianie drukarek uwierzytelnianie klientów logujących się do domeny Windows wspomaganie odwzorowywania nazw jako serwer WINS wszystko powyższe przy kompatybilności (*) z rozwiązaniami MS przy zerowej cenie i nieraz dużo lepszej wydajności(!)
Teoria, podstawy działania protokołu NetBEUI historyczny przodek SMB NetBEUI (NetBIOS Extended User Interface) : protokół warstwy sieciowej, nierutowalny, oparty o nazwy max 15 znakowe. następca NBT (NetBIOS over TCP/IP) zawierający usługę nazewniczą, obsługę datagramów i sesji. chcę zarejestrować się jako komp1 przykro mi, już ja mam tę nazwę chcę zarejestrować się jako komp1 NetBIOSowy serwer nazw ok, rejestruję tę nazwę
Protokół NetBEUI (NetBIOS Extended User Interface) gru pa r oboc za DOM zosia (BIURO ) zene k (DOM) zosia (D OM) franek (D OM) basia (BIURO ) zbys zek (BIU RO) wl adek (BIURO ) cechy NetBEUI: zenek (BIURO ) gru pa r oboc za BIURO basia (D OM) NIERUTOWALNY! oparty o nazwy max 15 znakowe
SMB typy węzłów Rola Działanie (rejestracja i odwzorowanie nazw) b-węzeł rozgłoszeniowo p-węzeł dwupunktowo (serwer NBNS) m-węzeł najpierw próbuj rozgłoszeniowo, jeśli się nie powiedzie dwupunktowo (przez NBNS) h-węzeł najpierw próbuj dwupunktowo (przez NBNS), jeśli się nie powiedzie rozgłoszeniowo C:\>ipconfig /all Windows 98 IP Configuration... Node Type.......... : Hybrid
SMB typy węzłów (c.d.) Wartość bajtu Działanie (rejestracja i odwzorowanie nazw) 00 Stacja robocza (standarowo) 03 Posłaniec (Winpopup) 06 Serwer dostępu zdalnego 1B Główna przeglądarka domeny 20 Serwer plików i drukarek BE Agent monitorowania sieci D:\>NBTSTAT -a serwer NetBIOS Remote Machine Name Table Name Type Status ------------------------------------------- SERWER <00> UNIQUE Registered SERWER <03> UNIQUE Registered SERWER <20> UNIQUE Registered
SMB Domeny i grupy robocze Grupa robocza : zbiór komputerów zarejestrowanych w tej samej grupie SMB Domena : Grupa robocza + serwer uwierzytelniający (kontroler domeny) komp1 (użytkownik:user) przyznaję dostęp do zasobu tak, user jest zalogowany, udostępniam żeton dla niego proszę o dostęp do zasobu serwer czy user jest zalogowany? kontroler domeny
SMB przeglądanie i elekcja LMB (Local Master Browser), serwer WINS (Windows Internet Name Service) niegdyś dostęp tylko przez UNC (\\serwer\zasób) obecnie przez wzgląd na wydajność sieci wprowadzono funkcję głównej przeglądarki lokalnej (przechowującej informacje o dostępnych komputerach w grupie roboczej) Samba OS Level = 69 Win 2000 OS Level = 34 ELEKCJA! Win 98 OS Level = 2 Win XP OS Level = 40 kryteria wyboru wg istotności: wartość systemu operacyjnego preferowana przeglądarka główna? czas w sieci nazwa (alfabetycznie)
Samba przegląd najważniejszych składowych pakietu nmbd Demon świadczący usługi Windows Internet Name Service (WINS) i wspomagający przeglądanie zasobów sieci. smbd Demon umożliwiający współdzielenie plików i drukarek w sieci SMB i zapewniający uwierzytelnianie klientów SMB. smbclient Program klienta dzięki którym można podłączyć się do zasobów serwera SMB. smbpasswd Zarządzanie użytkownikami sieci SMB. nmblookup Przeszukiwanie nazw NetBIOSowych w w sieci SMB.
ogólna struktura pliku /etc/samba/smb.conf [global] ; parametry globalne ustawień serwera... [homes] ; parametry zasobów użytkowników... [printers] ; parametry ustawień... ; podsystemu drukowania [udzial_testowy] ; definicja dowolnego udziału... możliwość używania zmiennych (fragment): %m - NetBIOSowa nazwa klienta %u - nazwa użytkownika %S - nazwa bieżącego udziału %v - wersja Samby %T - bieżąca data i czas
parametry sekcji [global] (fragment) workgroup = GRUPA_ROBOCZA netbios name = SERWER_SAMBY server string = %h server (Samba %v) security = user interfaces = 192.168.0.0/24 os level = 69 domain master= no local master = yes preferred master = yes logon script = %U.bat include = /usr/local/samba/lib/smb.conf.%l hosts allow = 192.168.0. 127.0.0.1 log file = /var/log/samba.log.%m
parametry udziałów [homes] i innych (fragment) path = /export/samba/dane comment = Dysk z danymi volume = Stacja-Sieciowa browseable = yes writeable = no ; read only = yes guest ok = yes ; public = yes valid users = @ksiegowosc szef invalid users = gosc root preexec = mount /dev/cdrom root postexec = umount /dev/cdrom
parametry udziału [printers] (fragment) printing = bsd path = /tmp printable = yes guest ok = yes print command = /usr/bin/ps2pdf %s
Tematyka Wykładu 1 podsumowanie obsługa poleceń netstat, ifconfig, route, etc. SMB możliwości protokołu rodzaje wezłów SMB, proces elekcji parametry konfiguracyjne pakietu Samba hierarchiczna i rekurencyjna architektura DNS rekordy DNS