Administrace Unixu a sítí. Tomáš Kouba <17731@mail.vsfs.cz>, < tomas@jikos.cz>

Podobné dokumenty
Konfigurace síťových stanic

Přednáška 9. Síťové rozhraní. Úvod do Operačních Systémů Přednáška 9

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

X36PKO Úvod Protokolová rodina TCP/IP

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Identifikátor materiálu: ICT-3-03

Počítačové sítě Transportní vrstva. Transportní vrstva

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Administrace Unixu a sítí

Y36PSI Protokolová rodina TCP/IP

Hodinový rozpis kurzu Správce počítačové sítě (100 hod.)

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Zásobník protokolů TCP/IP

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

Síťová vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Počítačové sítě II. 14. Transportní vrstva: TCP a UDP. Miroslav Spousta, 2005

Téma 11: Firewall v CentOS. Nastavení firewallu

Inovace bakalářského studijního oboru Aplikovaná chemie

Analýza protokolů rodiny TCP/IP, NAT

Úvod do síťových technologií

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

Administrace Unixu a sítí

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

Inovace bakalářského studijního oboru Aplikovaná chemie

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Nová cesta ip. Stará cesta ifconfig, route. Network address translation NAT

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

Linux RAID, LVM. 27. listopadu Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

6. Transportní vrstva

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu

Úvod do analýzy. Ústav informatiky, FPF SU Opava Poslední aktualizace: 8. prosince 2013

Zjednodusene zaklady prace s IPTABLES Jiri Kubina jiri.kubina@osu.cz Ver. 1.1 zari 2006

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík

GRE tunel APLIKA ˇ CNÍ P ˇ RÍRU ˇ CKA

Firewall, mac filtering, address filtering, port forwarding, dmz. Ondřej Vojtíšek, Jakub Niedermertl

Ladislav Pešička KIV FAV ZČU Plzeň

Firewally a iptables. Přednáška číslo 12

Praktikum Směrování Linux

Site - Zapich. Varianta 1

Zásobník protokolů TCP/IP

Osobní firewall s iptables

Počítačové sítě II. 15. Internet protokol verze 6 Miroslav Spousta, 2006

Počítačové sítě. Miloš Hrdý. 21. října 2007

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

Správa sítí. RNDr. Ing. Vladimir Smotlacha, Ph.D.

FIREWALL - IPTABLES. 1. Co je to firewall 2. IPTABLES 3. Manuálové stránky 4. Nastavení směrovače 5. Příklady. 1. Co je to firewall?

Instalace. Samotný firewall již je s největší pravděpodobností nainstalovaný Zjistíme dle parametru při použití. aptitude search iptables

Maturitní okruhy pro 1.KŠPA Kladno, s.r.o. Počítačové sítě a komunikace

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Standardizace Internetu (1)

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL

Vlastnosti podporované transportním protokolem TCP:

PB169 Operační systémy a sítě

Inovace a zkvalitnění výuky prostřednictvím ICT Počítačové sítě Vrstvový model TCP/IP Ing. Zelinka Pavel

Počítačové síťě (computer network) Realizují propojení mezi PC z důvodu sdílení SW (informací, programů) a HW(disky, tiskárny..)

Internet & Sítě (1. přednáška)

JAK ČÍST TUTO PREZENTACI

Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace DNS

Systémy pro sběr a přenos dat

Protokoly přenosu. Maturitní otázka z POS - č. 15. TCP/IP (Transmission Control Protocol/Internet Protocol)

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE

Pohled na pojem počítačová síť

Téma 9 Základy počítačových sítí Obsah

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

POČÍTAČOVÉ SÍTĚ Metodický list č. 1

Maturitní otázky z předmětu Počítačové sítě školní rok 2007/2008

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Počítačové sítě II. 11. IP verze 4, adresy Miroslav Spousta, 2006

POČÍTAČOVÉ SÍTĚ 1. V prvním semestru se budeme zabývat těmito tématy:

Počítačové sítě 1 Přednáška č.6 Transportní vrstva

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

íta ové sít TCP/IP Protocol Family de facto Request for Comments

Historie, současnost a vývoj do budoucnosti Anna Biernátová, Jan Faltys, Petr Kotek, Pavel Pokorný, Jan Šára

OSI TCP/IP Aplikace a protokoly 7. aplikační 6. presentační 5. relační

MODELY POČÍTAČOVÝCH SÍTÍ

Instalační a uživatelský manuál pro Linux Mission 1.0. David Häring a kolektiv autorů LinuxZone

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část

Další nástroje pro testování

Firewal ing v Linuxe

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE

A7B36PSI Úvod 1/29. Jan Kubr. Honza Kubr - 1_uvod

Inovace výuky prostřednictvím šablon pro SŠ

Úvod Bezpečnost v počítačových sítích Technologie Ethernetu

Y36SPS Bezpečnostní architektura PS

Maturitní témata pro 1.KŠPA Kladno, s.r.o. Počítačové sítě a komunikace

VPN - Virtual private networks

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Úvod do počítačových sítí 1. A4B33OSS (J. Lažanský) verze: Podzim 2012

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

ADMINISTRACE UNIXU A SÍTÍ - AUS Metodický list č. 1

PB169 Operační systémy a sítě

SSL Secure Sockets Layer

Architektura TCP/IP je v současnosti

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

OpenVPN. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) OpenVPN 3. března / 16

Základní struktury LAN Lokální sítě s vysíláním (broadcast networks)

Obsah. O autorech 9. Předmluva 13. KAPITOLA 1 Počítačové sítě a Internet 23. Jim Kurose 9 Keith Ross 9

Transkript:

Administrace Unixu a sítí Tomáš Kouba <17731@mail.vsfs.cz>, < tomas@jikos.cz>

Regulární výrazy I. Formální jazyk k popisu textu (jeho částí) Rozpoznatelný konečným automatem V praxi se používají silnější než regulární Jsou součástí jazyků Perl, TCL Jako knihovna dostupné v mnoha dalších (python, java, PHP) Mnoho unixových utilit s nimi umí pracovat (grep, ed, sed, awk) Popis regexpů: man 1 ed

Regulární výrazy II. Speciální znaky:. - jakýkoliv znak krom \ ruší význam metaznaku [list], [^list] jakýkoliv znak z výčtu/doplňku <LF> [a-za-z0-9_], [\]^-], [\]\^\-\\] ^, $ - začátek a konec řádky \<, \>, \b - začátek a konec slova Třídy znaků: [:alpha:], [:upper:], [:blank:], [:alnum:]

Regulární výrazy III. expression* - libovolné opakování znaku daného výrazem A*, [0-9][0-9]* + pro alespoň jedno opakování expression\{n\}, exp\{m,n\} opakování nkrát, m-n-krát \(, \), \n uzávorkování části vzoru pro znovupoužití \(ab\)* A\(.\)\1A

Regulární výrazy IV. sed s/:.*//;s/^/uzivatel: / /etc/passwd ls *.c sed s/\(.*\).c/cp \1.c \1.bak/ Uzivatel: login pro všechny záznamy v /etc/passwd cp foo.c foo.bak ls *.c sed s/\(.*\).c/cp -p \1.c \1.bak/

Regulární výrazy - cvičení Najděte v zadaném souboru řádky končící dekadickým číslem Najděte řádky souboru /etc/passwd, které obsahují informace o uživatelích s domovskými adresáři v adresáři /home Vypište z /etc/passwd plná jména uživatelů (pomocí sed) Ze souboru index.html (získaný např. wget www.seznam.cz) vypište všechny http odkazy

Základy systémové administrace Základní úkoly: instalace (OS, SW balíky) konfigurace (systémy souborů, uživatelé, služby,...) zálohování systému sledování systému (syslog, cron,...) Na různých UNIXech stejné úkoly, často se liší prostředky a cesty (/var/adm vs. /var/log)

Start systému I. Bootloader (na linuxu typicky grub nebo lilo) předá řízení a paramtery kernelu inicializace perfierií, připojení kořenového fs spuštění programu init, který řídí zbytek startu/běhu systému /etc/rc* - startovací/ukončovací skripty (SysV startup scripts) /sbin/init spouští skripty dle /etc/inittab Nově alternativy řízené událostmi (upstart)

Start systému II. /etc/init.d obsahuje startovací/ukončovací skripty Linky pro runlevel X v /etc/rcx.d Začínající na S nebo K, čísla určují pořadí Runlevel mód ve kterém systém běží. Typicky 0-6 + S who -r / runlevel - zjistí aktuální runlevel init <number> přepne runlevel

Runlevel - přehled Standard: 0 přechod do tohoto runlevelu shutdownuje systém S singleuser (žádná síť, démoni. Často ekvivalentní init=/bin/sh) 6 přechod do tohoto runlevelu rebootuje systém Typické linuxové distribuce navíc: 1 singleuser bez sítě, démonů (nestandardní) 2 multiuser většinou podobné jako 1, navíc dovoluje non-root login 3 multiuser + síť běžný mód 4 nepoužívaný 5 X11 runlevel 3 + X window system

Startování služeb Standardizovány pouze symlinky, jejich vytváření je system-specific většinou shell scripty s podporou v init skriptech Redhat - chkconfig Suse - yast Debian - update-rc.d Solaris - svcs, inetadm

Ještě k procesům Init - první proces, rodič všech ostatních V unixu má každý proces rodiče => stromová struktura procesů (pstree, ps wwwfaux) Nejvyšší ve stromě procesů je init Každý proces vrací návratový kód a někdo jej musí vyzvednout (většinou rodič voláním wait()) Co když to rodič neudělá? (nechce se mu, neexistuje) Stavy procesů (man ps process state codes)

Rozdělení disku Utility fdisk, cfdisk, parted, qtparted, diskdruid

Qtparted

Diskdruid

Odbočka - loop device Linux má speciální zařízení /dev/loop# Umožňuje ze souborů vytvářet disky soubory se pro systém tváří jako bloková zařízení lze na nich vytvářet filesystémy provádět ioctl() volání atd. Vhodné pro testování, vytváření images atd. losetup [{-e -E} encryption] [-o offset] [-p pfd] [-r] {-f loop_device} file Podobné programu daemon-tools na Win

RAID RAID - Redundant array of inexpensive disks JBOD just a bunch of disks Mirroring Stejná data na více discích Striping rozdělení dat na různé disky RAID0 RAID6, RAID 0+1, RAID 1+0, RAID 5+0, RAID 0+5

JBOD Lze kombinovat různé velikosti (narozdíl od RAID0) Existují prostředky jak z více disků udělat jeden (na linuxu LVM) pvcreate, vgcreate, lvcreate, pvs, vgs, lvs

RAID 0 Není redundantní (spíš naopak) V SW variantě se spíše nepoužívá (máme LVM) Vyšší výkon, sjednocení disků mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb6 / dev/sdc5

HW RAID

RAID 1

RAID 1 Zrcadlení Data jsou zapisována na oba disky Čtení jde z obou disků (zlepšení výkonu) Některá nastavení umožňují spare disk mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1 --spare-devices=1 /dev/sdd1

RAID 2 Nepoužívá se Rozseká data na bity, ty zapisuje zvlášť na disky Na další disky pak zapíše samoopravný kód (Hammingův kód) Příliš drahé na realizaci

RAID 3 Vyhrazený disk na paritu Parita se počítá po bytech A1-A6 je jeden blok dat

RAID 4 Podobný jako RAID3 Parita se počítá na úrovni bloků Úzkým místem je zápis na paritní disk

Srovnání RAID3 a RAID4

RAID5 Jako RAID4 Paritní disk není dedikovaný, jeho úlohu mají všechny disky Zlepšuje výkon Minimum jsou 3 disky Kapacita: celkem*(pocet1)/pocet mdadm --create --verbose /dev/md0 \ --level=5 --raid-devices=3 \ /dev/sdb1 /dev/sdc1 /dev/sdd1 \ --spare-devices=1 /dev/sde1

Nested RAID

Různá vylepšení RAID<n>E spare bloky distribuované mezi disky VRAID RAID-Z

Problémy Typicky: kernel: sidisk I/O error: dev 08:01, sector 1590410 kernel: SCSI disk error : host 0 channel 0 id 0 lun 0 return code = 28000002 Nebo: kernel: hde: read_intr: error=0x10 { SectorIdNotFound }, CHS=31563/14/35, sector=0 kernel: hde: read_intr: status=0x59 { DriveReady SeekComplete DataRequest Error }

Problémy V /proc/mdstat potom: Personalities : [linear] [raid0] [raid1] [translucent] read_ahead not set md7 : active raid1 sdc9[0] sdd5[8] 32000 blocks [2/1] [U_] Výpadek lze nasimulovat: mdadm --manage --set-faulty /dev/md1 /dev/loop2 mdadm --manage /dev/md1 --remove /dev/loop2 mdadm --manage /dev/md1 --add /dev/loop2

ZFS moderní filesystém, který řeší všechny problémy admina abstrahuje od partitions zabudovaný raid (tzv. RAIDZ) quoty snapshoty (ty umí i LVM) rychlý (většina operací probíhá za běhu) pro Linux problematická licence podobné věci umí BTRFS

Typy síťových propojení

Typy síťových rozhraní Loopback - tento počítač, žádné fyzické zařízení TUN virtuální rozhraní (VPN, virtuální stroje) PPP - sériové propojení point-to-point Ethernet- společná sběrnice: současný přístup, řešení kolizí (CSMA/CD) Token ring - předávání volného-obsazeného tokenu po kruhu FDDI - jednoduchý nebo dvojitý kruh (překlene přerušení vlákna) ATM - systém přepínačů a virtuálních cest pro tok dat, hlasu,...

Základní příkazy ifconfig route správa firewallových pravidel (linux specific) netstat správa routovacích tabulek jádra iptables práce se síťovými rozhraními výpis stavu sítě a statistik ip moderní náhrada předchozích

OSI model Číslo Název 7 aplikační 6 5 4 Účel application specific protocol prezentační datové konverze (little/big endian) relační navázání relace transportní korektnost (kontrolní součty apd.) 3 síťová dosažení cíle, routing 2 linková přenos dat (frames, MAC adresy) 1 fyzická interpretace elektrického signálu

TCP/IP model

RFC dokumenty Request for comment Dokument popisující prostředí internetu Příklady: 793 TCP, 822 email formát, 1149 přenos IP packetů poštovními holuby Jednotná terminologie terminologie, protokoly, formáty MUST, MUST NOT, REQUIRED Ne každé RFC je standard!

Spojované vs. nespojované služby Spojované (a-la telefon) Zaručeno doručení, navíc ve správném pořadí Aplikace se nemusí starat o síťování TCP, sofistikovaný netriviální protokol Na druhou stranu nemá takovou kontrolu nad spojením Spolehlivost zaručena pomocí potvrzování (TCP okna) Nespojované (a-la pošta) Není zaručeno ani pořadí, ani doručení Všechny potřebné kontroly v režii aplikace UDP, jednodušší než TCP

Monitoring sítě tcpdump nmap jednoduchý tcp/udp klient-server ethereal, wireshark port scanner netcat/nc vypisuje provoz na síti analyzátor packetů iftop monitoring zatížení sítě

Zahájení spojení Navázání TCP spojení (SYN, SYN+ACK, sekvenční čísla) IP 147.231.25.244.38199 > 147.231.25.248.websm: S 1788881918:1788881918(0) win 5840 <mss 1460,sackOK,timestamp 1546559963 0,nop,wscale 7> IP 147.231.25.248.websm > 147.231.25.244.38199: S 1877526254:1877526254(0) ack 1788881919 win 5792 <mss 1460,sackOK,timestamp 3062710 1546559963,nop,wscale 7> IP 147.231.25.244.38199 > 147.231.25.248.websm:. ack 1 win 46 <nop,nop,timestamp 1546559964 3062710>

Ukončení spojení Uzavření spojení (FIN) IP 147.231.25.248.websm > 147.231.25.244.38195: F 1:1(0) ack 2 win 46 <nop,nop,timestamp 3054293 1546526291> IP 147.231.25.244.38195 > 147.231.25.248.websm:. ack 2 win 46 <nop,nop,timestamp 1546526292 3054293>

Adresace Linková vrstva dána výrobcem není uspořádání Síťová vrstva MAC adresa (de:ad:be:ef:6:1f) IP adresa (např.: 127.0.31.12) uspořádání Jednoznačná identifikace v rámci sítě Aplikační vrstva Doména (např.: vsfs.cz) přidělována podle organizační struktury snazší zapamatování (DNS překlad)

Konverze adres

Kontrola konverze Resolver ping host IP<->name, nepoužívá libc nslookup, dig používá pro resolving pokročilé dotazy na DNS ARP tabulka: arp

Subnetting - sítě, podsítě I. Původní myšlenka: velikost sítě určuje kolik bytů v IP adrese je adresa sítě: A 1 byte, např. 10.0.0.0 B 2 byty, např. 192.168.0.0 C 3 byty, např. 147.231.25.0 Sítě se tedy dělí do tříd => plýtvání Subnetting dovoluje rozšířit síťovou část adresy pomocí specifikace tzv síťové masky (netmask)

Subnetting - sítě, podsítě II. 255.255.255.192 V definici je přípustná nespojitá maska, ale většinou se neimplementuje. V současnosti se často ignorují třídy (classless) a místo masky se uvádí jen počet bitů (např. 127.0.5.0/26).

Speciální adresy I. RFC 1918 Loopback 127.0.0.1 adresa loopback rozhraní Privátní adresy 10.0.0.0, 172.16-31.0.0, 192.168.*.0 nepřidělované, k použití pro lokální sítě nesmí opustit síť

Speciální adresy II. Network broadcast <adresa sítě>.<samé jedničky> adresa sítě: nejnižší IP adresa v síti network broadcast: nejvyšší IP adresa v síti všem v dané síti normálně se doručí do cílové sítě Limited broadcast 255.255.255.255 nesmí opustit síť

Cvičení Jaký rozsah IP adres je možný v síti 192.168.1.192/26 (192 je v binárním zápisu 11000000) Napište masku sítě 192.168.1.128, víte-li že má broadcast na adrese 192.168.1.143 (128 je v binárním zápisu 10000000, 143 je v binárním zápisu 10001111)

Tok dat v TCP/IP scatter-gather ovladače

Socket, port Port 16bitové číslo identifikující jednu stranu spojení - aplikaci, proces destination-port musí být znám, typicky je to některý z tzv. wellknown services (viz /etc/services) source-port navazovatele (>1024) spojení přiděluje lokální systém (pro <1024 je potřeba oprávnení roota) Socket jeden konec komunikačního kanálu mezi klientem a servrem označení (adresa) jednoho konce kanálu <IPadresa, port> Výpis otevřených socketů: netstat [ an]

Struktura ethernetového rámce

Historie TCP/IP úzce provázán s Internetem (ARPAnetem) potřeba otestovat packetové technologie financováno DoD (americké ministerstvo obrany) po otestování síť předána akademické sféře další specifikace vznikají až na univerzitách jsou volné (daňoví poplatníci už je zaplatili)

Historie TCP/IP 1973 poprvé prezentováno veřejnosti 1974 publikováno v IEEE Transaction on Computers 1979 ustaveno ICCB (Internet control and configuration board) 1979 univerzity získávají BSD Unix s první implementací TCP/IP (platí DoD) 1980 ARPA prechází z NCB na TCP/IP

Historie TCP/IP 1983 NCB vypnuto 1983-1986 nástup TCP/IP 1992 implementace ve Windows (winsock) 1993 implementace v Linuxu (hlavně Alan Cox)

Požadované vlastnosti TCP/IP žádné centrum, které by nepřítel zničil jako první (v dnešní době jsou úzká místa) decentralizovaný charakter obsažený už ve slově Internet robustnost ustát i velký výpadek podpora záložních tras nespojované a nespolehlivé procesy (na úrovni IP splněno)

Nepožadované vlastnosti TCP/IP bezpečnost mobilita autentizace i autorizace (obou stran) je ponechána na aplikaci uzel je v rámci sítě jasně určen místem zapojení do sítě QOS prioritizace, vyhrazení spojení

Síťová vrstva (IP) úkolem je pokusit se doručit data od odesílatele k adresátovi v rámci celé sítě narozdíl od linkové, která doručuje jen sousedům v rámci lokální sítě je potřeba packety směrovat tedy najít nejlepší další síťový prvek, přes který má packet jít předávat (forwarding) předávat packet ze sítě do sítě vrstva může také předcházet zahlcení a zajištovat QoS

IP datagramy IP nevytváří virtuální okruhy virtuální okruh je na začátku spojení vytvořená a vyhrazená cesta, kterou jdou všechny packety během spojení se trasa může měnit směrování je třeba dělat pro každý packet na každém směrovači velmi robustní plýtvání zdroji

Routing v linuxu Zařízení rozhodující v síti o tom kam půjde linkový rámec: přepínač (switch) Zařízení rozhodující v síti o tom kam půjde síťový packet: směrovač (router) větší inteligence, tabulky, filtrace v linuxu realizován jádrem a routovacími tabulkami

Routing v linuxu příkazy route, ip route $ route n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.88.99.1 10.88.99.9 255.255.255.255 UGH 0 0 0 tun0 10.88.99.9 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 147.231.25.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.0.0 10.88.99.9 255.255.0.0 UG 0 0 0 tun0 0.0.0.0 147.231.25.253 0.0.0.0 UG 0 0 0 eth1 Nutno povolit v sysctl.conf net.ipv4.ip_forward = 1

Struktura IP datagramu

Struktura IP datagramu velikost mezi 576B a 65536B verze 4 nebo 6 (budeme mluvit jen o 4) délka hlavičky v 32bitových slovech typicky 5 typ služby většinou ignorováno, někdy se používá pro QoS celková délka celková délka včetně hlavičky v bytech pořadové číslo používá se k sestavení fragmentu (různé fragmenty z jednoho packetu mají stejné toto číslo) příznaky nefragmentuj, poslední část fragmentovaného packetu fragment offset ttl počet již prošlých routerů (kvůli zacyklení) protocol 1 ICMP, 6 TCP, 17 UDP (/etc/protocols)

Struktura IP datagramu kontrolní součet hlavičky kvůli TTL je potřeba naustále přepočítávat zdrojová/cílova IP adresa další volby volitelné rozšíření (směrování podle zdroje apd.), často směrovače nepodporují zarovnání vycpávka do násobku 4 bytů data

Fragmentace Kvůli různým velikostem rámců pod síťovou vrstvou Jediná informace, kterou linková vrstva předává nahoru v IP modelu Náročné na inteligenci směrovačů Lze fragmentova fragmenty Minimální velikosti fragmentu: 576B (512B dat)

Struktura TCP paketu

Struktura TCP paketu source port, destination port seq no. - pozice bytu v proudu bytů ack no. - číslo posledního přijatého bytu v proudu (viz minule výstup tcpdumpu) data offset velikost hlavičky v 32bit slovech příznaky SYN, ACK, FIN, URG window počet bytů, které příjemce je schopen přijmout navíc (užitečné pro Flow control )

Struktura TCP paketu urgent offset do dat, určuje konec přednostních dat (např. CTRL-C v ssh spojení)

Spojování segmentů sítě

NAT RFC 1631 privátní adresy jsou automaticky měneny bránou (směrovačem) Varianty 1:1, 1:N

NAT 1:1 statický mapování veřejné-soukromé adresy je pevné umožnuje spojení dovnitř privátní sítě nešetří IP adresy dynamický mapování se mění podle potřeby neumožňuje jednoduše spojení dovnitř (lze např. přes dynamické DNS) šetříip adresy pokud # privátních. > # veřejných

NAT 1:N veřejnou IP adresu má pouze brána (router) průchozím packetům je zdrojová adresa změněna na adresu venkovního rozhraní brány spojení je identifikováno zdrojovým portem na bráně někdy nazýváno maškaráda nelze uskutečnit spojení dovnitř (nutno obcházet např. skype, hamachi) někdy NAT musí rozumět protokolu (FTP)

Principy firewallu

Firewall a NAT v Linuxu - iptables iptables - administration tool for IPv4 packet filtering and NAT Usage: iptables [ t table] [AD] chain rule [options] iptables [ t table] I chain [rulenum] rule [options] iptables [ t table] P chain target [options] iptables list [ v] iptables F [chain]

Firewall a NAT v Linuxu - iptables Příklady iptables P INPUT DROP iptables A INPUT p tcp dport ssh j ACCEPT iptables A OUTPUT d uglysite.cz j DROP iptables t nat A POSTROUTING o ppp0 j SNAT to 1.2.3.4 iptables t nat A PREROUTING p tcp dport 80 j REDIRECT to localhost:3128 iptables t nat A POSTROUTING s 10.8.0.0/255.255.255.0 j MASQUERADE

Stavový firewall Problém: při limitování příchozího trafficu nezahazovat příchozí packety od spojení která byla iniciována z naší strany dříve povolení všech příchozích packetů na porty > 1024 velmi špatné Nyní stavové firewally Sledují veškerou komunikaci, umí přiřadit přichozí packet k otevřenému spojení

Stavový firewall iptables -A INPUT -m state state ESTABLISHED,RELATED -j ACCEPT Problém protokoly obsahující údaje o adresách a portech v datech (ftp, H.323) Specializované moduly které zkoumají vnitřnosti procházejících packetů modprobe ip_conntrack_ftp,...