Linux v síti. Ondřej Vondrouš



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

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

Osobní firewall s iptables

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

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

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

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?

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

Základní konfigurace Linux firewallu

5. Směrování v počítačových sítích a směrovací protokoly

Semestrální projekt do předmětu SPS

ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

Firewal ing v Linuxe

Praktikum Směrování Linux

Site - Zapich. Varianta 1

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin:

IP protokol v linuxu trocha teorie a hodně praxe příkazy ip, iptables a další.

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

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

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

X36PKO Úvod Protokolová rodina TCP/IP

Standardizace Internetu (1)

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

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

STRUČNÝ NÁVOD K POUŽITÍ

Studentská unie ČVUT v Praze, klub Silicon Hill. 22. února Ondřej Caletka (SU ČVUT) IPv6 nové (ne)bezpečí? 22.

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Počítačové sítě I LS 2004/2005 Návrh a konstrukce sítě zadání

Access Control Lists (ACL)

Směrování. static routing statické Při statickém směrování administrátor manuálně vloží směrovací informace do směrovací tabulky.

Hot Standby Router Protocol (zajištění vysoké spolehlivosti výchozí brány)

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

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

Projekt VRF LITE. Jiří Otisk, Filip Frank

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

Další nástroje pro testování

Administrace Unixu a sítí

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.

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

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

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

VLSM Statické směrování

Uživatelský modul. Transparent Mode

Zkrácení zápisu dvojitou dvojtečkou lze použít pouze jednou z důvodu nejednoznačnosti interpretace výsledného zápisu adresy.

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

Konfigurace síťových stanic

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

Stručný návod pro nastavení routeru COMPEX NP15-C

Obsah. Úvod 13. Věnování 11 Poděkování 11

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

Routování směrovač. směrovač

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

Střední odborná škola a Střední odborné učiliště, Hořovice

Zabezpečení v síti IP

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

Při konfiguraci domácího směrovače a bezdrátové sítě se setkáte s obrovským počtem zkratek, jejichž význam je jen málokdy dostatečně vysvětlen.

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

Analýza protokolů rodiny TCP/IP, NAT

VLSM Statické směrování

Základy IOS, Přepínače: Spanning Tree

Obsah PODĚKOVÁNÍ...11

Uživatelský modul. Modem Bonding

Switch - příklady. Příklady konfigurací pro switch.

Počítačové sítě ZS 2005/2006 Návrh sítě zadání

OpenVPN. Ondřej Caletka.

XMW3 / IW3 Sítě 1. Štefan Pataky, Martin Poisel YOUR LOGO

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

Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc

Multikast z pohledu uživatele

3.17 Využívané síťové protokoly

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.

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

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

Správa systému MS Windows II

WrapSix aneb nebojme se NAT64. Michal Zima.

Adresování v internetu

TheGreenBow IPSec VPN klient

Počítačové sítě ZS 2012/2013 Projekt návrhu sítě zadání

Y36SPS Jmenné služby DHCP a DNS

Úvod do síťových technologií

PSK3-11. Instalace software a nastavení sítě. Instalace software

Počítačové sítě - program cvičení

Audit bezpečnosti počítačové sítě. Předmět: Správa počítačových sítí Jiří Kalenský

WireGuard. nová a jednoduchá linuxová VPN. Petr Krčmář. 3. listopadu 2018

Základní principy obrany sítě II. Michal Kostěnec CESNET, z. s. p. o.

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

JAK ČÍST TUTO PREZENTACI

Virtální lokální sítě (VLAN)

Co znamená IPv6 pro podnikovou informatiku.

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

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

DNS, DHCP DNS, Richard Biječek

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

Průmyslová komunikace přes mobilní telefonní sítě. Michal Kahánek


Konfigurace Windows 7

ÚČETNICTVÍ ORGANIZAČNÍCH KANCELÁŘÍ KOMPLEXNÍ SYSTÉM PRO VEDENÍ ÚČETNICTVÍ

Audit bezpečnosti počítačové sítě

Transkript:

Linux v síti Ondřej Vondrouš

Autor: Ondřej Vondrouš Název díla: Linux v síti Zpracoval(a): České vysoké učení technické v Praze Fakulta elektrotechnická Kontaktní adresa: Technická 2, Praha 6 Inovace předmětů a studijních materiálů pro e-learningovou výuku v prezenční a kombinované formě studia Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

VYSVĚTLIVKY Definice Zajímavost Poznámka Příklad Shrnutí Výhody Nevýhody

ANOTACE Tento modul seznamuje studenty s možnostmi použití operačního systému Linux v sítích. CÍLE Tento modul umožní studentům získat základní znalosti pro připojení zařízení s operačním systémem Linux do sítě. Modul se zaměřuje částečně na připomenutí adresace IPv4. Studenti se v rámci tohoto modulu dále seznámí s pokročilejším užitím operačního systému Linux v sítích. Studenti se seznámí s pokročilou administrací síťových rozhraní, s konfigurací směrovače a firewallu na bázi operačního systém Linux. Tento modul obsahuje řadu příkladů k zamyšlení nad danou tématikou a stejně tak několik cvičení pro ověření nabytých znalostí. LITERATURA [1] NEMETH,Evi; SNYDER, Garth; HEIN,R.,Trent. LINUX Kompletní příručka administratora. : Computer Press, 2004.828 s. ISBN 80-7226-919-4. [2] RFC 1918, Address Allocation for Private Networks, http://tools.ietf.org/html/rfc1918

Obsah 1 Sítě IPv4 - úvod... 6 1.1 Adresace sítě IPv4... 6 1.2 Adresace sítě IPv4... 7 1.3 Adresace sítě IPv4... 8 1.4 Adresace sítě IPv4 ověření znalostí... 9 2 Sítě v OS Linux příkaz ip... 10 2.1 Příkaz ip... 10 2.2 Příkaz ip link nastavení rozhraní... 11 2.3 Příkaz ip addr nastavení adres IP... 12 2.4 Příkaz ip route nastavení směrovacích tabulek... 13 2.5 Příkaz ip route pokročilé metody směrování... 14 2.6 Příkaz ip tunnel vytvoření tunel rozhraní... 17 3 Sítě v OS Linux ostatní nastavení... 19 3.1 Nastavení překladu adres DNS revolver... 19 3.2 DHCP klient... 20 3.3 Síťový most Network Bridge... 21 3.4 OS Linux jako síťový směrovač... 22 3.5 Příkazy ověření znalostí... 23 4 Sítě v OS Linux zabezpečení sítí... 24 4.1 TCP Wrappers / Iptables... 24 4.2 Iptables struktura... 25 4.3 Iptables pravidla (manipulace s pravidly)... 27 4.4 Iptables pravidla (selekce paketů)... 29 4.5 Iptables pravidla (pokročilé moduly selekce paketů)... 30 4.6 Iptables akce... 32 4.7 Iptables překlad adres NAT / PAT... 33 4.8 Iptables výpis pravidel... 36 4.9 Iptables ověření znalostí... 37 5 Sítě v OS Linux užitečné nástroje... 38 5.1 Tcpdump... 38 5.2 Netstat... 40 6 Sítě v OS Linux závěrečné cvičení... 41 6.1 Test... 41

1 Sítě IPv4 - úvod 1.1 Adresace sítě IPv4 Tento modul se zabývá konfigurací sítě v prostředí Linux. Je proto důležité, aby čtenář alespoň z části rozuměl způsobu adresování v sítích IPv4. Pro oživení těchto znalostí se budeme v úvodu tohoto modulu věnovat rychlému zopakování základům adresace sítě IPv4. Adresní rozsah IPv4 má velikost 2^32 = 4.294.967.296 adres. Adresní rozsah IPv4 je spravován organizací ICANN (Internet Corporation for Assigned Names and Numbers). Dělí se na několik skupin adres: soukromé adresy IP, adresy pro vícesměrové vysílaní, a další speciální skupiny. Výpis těch nejdůležitějších adresných rozsahů a jejich popis naleznete na následující stránce. Kromě těchto adres existují adresy, které jsou označovány jako veřejné, těch je většina. Veřejné adresy jsou přidělovány organizací IANA (Internet Assigned Numbers Authority) jednotlivým RIR (Regional Internet Registry). V Evropě se jedná o RIPE NCC (RIPE Network Coordination Centre)). RIPE NCC pak přiděluje adresy IP jednotlivým poskytovatelů služeb ISP (Internet Service Provider), anebo konkrétním zákazníkům. Zákazník, jenž chce vlastnit část adresného rozsahu IP musí mít také přidělené číslo ASN (autonomous system number), na jehož základě dochází ke směrování daného adresného rozsahu. Pouze veřejné adresy IP jsou dostupné v rámci celosvětové sítě internet I bez vlastního AS čísla je možné získat, aby běžný zákazník získal veřejné adresy. Ovšem pouze od jeho současného ISP. Při změně ISP zákazník o danou adresu IP automaticky přichází. Neexistuje zde možnost přenosu adres IP mezi ISP. Pokud má zákazník vlastní AS číslo, tak má možnost získa takzvané PI (Provider Independent) adresy IP, které, může volně přenášet mezi ISP, a navíc může využívat tzv. Multihoming (souběžné připojení k více ISP).

1.2 Adresace sítě IPv4 Následující tabulky specifikují nejvýznamnější rozsahy neveřejných adres IP. Adresní rozsahy IPv4 soukromé adresy Adresní rozsah Prefix Počet adres 10.0.0.0 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0-192.168.255.255 10.0.0.0/8 2^24 = 16.777.216 172.16.0.0/12 2^20 = 1.048.576 192.168.0.0/16 2^16 = 65.536 Adresní rozsahy IPv4 multicast (vícesměrové adresy) Adresní rozsah Prefix Počet adres 224.0.0.0-224.15.255.255 224.0.0.0/12 2^20 = 1.048.576 Adresní rozsahy IPv4 localhost(lokální adresy) Adresní rozsah Prefix Počet adres 127.0.0.0 127.255.255.255 127.0.0.0/8 2^24 = 16.777.216 Adresní rozsahy IPv4 linkové Adresní rozsah Prefix Počet adres 169.254.0.0 169.254.255.255 169.254.0.0/16 2^16 = 65.536 7

1.3 Adresace sítě IPv4 Pokud budeme uvažovat například síť 192.168.12.64/27 bude nás zajisté zajímat, jaké adresy budeme moci použít pro adresaci připojených počítačů a kolik jich případně máme celkem k dispozici. Při běžném použití bude adresa 192.168.12.64 označována jako síťová adresa, nebo také jako adresa sítě. Adresa 192.168.12.95 bude jakožto poslední adresa dané sítě použita pro Broadcast (všesměrové vysílání). Nakonec bude potřeba přidělit jednu adresu pro směrovač, aby byla umožněna komunikace počítačů s ostatními sítěmi. Tímto se dostáváme ke konečnému počtu použitelných adres pro počítače v rámci dané sítě. Výsledkem je celkem 32-3=29 adres pro adresaci koncových stanic. V případě adresace pomocí veřejných adres, kterých je většinou pro danou organizaci limitovaný počet, je možné použít fintu ve smyslu adresovaní směrovače veřejnými adresami s prefixem /32 a adresováním stanic neveřejnými adresami IP. Následně se využije překlad adres NAT (1:1 mapování). Tímto způsobem je možné využít všech dostupných adres v daném rozsahu, což v síti x.x.x.x/27 znamená všech 32 adres. Síťovou masku získáme z prefixu /27 velmi snadno. Číslo 27 znamená, že z 32bitů (4 bytů) masky má prvních 27 bitů hodnotu 1 a zbývající bity mají hodnotu 0. Jednoduchý přepočtem z bitové reprezentace zachycuje následující obrázek: Maska sítě Nebo alternativně: 32-27=5, 2^5=32 a to znamená, že. Maska sítě pokrývá rozsah přesně 32 adres IP. 8

1.4 Adresace sítě IPv4 ověření znalostí U následujících sítí - 10.20.0.0/24, 10.20.0.0/26, 10.20.0.0/22, 10.20.0.0/16 uveďte: a) Síťovou masku: b) Broadcast adresu: ŘEŠENÍ a) 255.255.255.0, 255.255.255.192, 255.255.252.0, 255.555.0.0 b) 10.20.0.255, 10.20.0.63, 10.20.63.255, 10.20.255.255 c) 10.20.0.1-10.20.0.254, 10.20.0.1-10.20.0.62, 10.20.0.1-10.20.63.254, 10.20.0.1-10.20.255.254 ŘEŠENÍ 8 11111111 00000000 00000000 00000000 255.0.0.0 12 11111111 11110000 00000000 00000000 255.240.0.0 16 11111111 11111111 00000000 00000000 255.255.0.0 18 11111111 11111111 11000000 00000000 255.255.192.0 22 11111111 11111111 11111100 00000000 255.255.252.0 25 11111111 11111111 11111111 10000000 255.255.255.128 27 11111111 11111111 11111111 11100000 255.255.255.224 29 11111111 11111111 11111111 11111000 255.255.255.248 9

2 Sítě v OS Linux příkaz ip 2.1 Příkaz ip Příkaz ip v Linuxu zastřešuje téměř veškeré nastavení sítě včetně pokročilých technik směrování, vytváření tunelů a v neposlední řadě i například nastavení VLAN dle standard IEEE 802.1Q. Vzhledem k rozsáhlým možnostem a jeho důležitosti mu bude věnováno několik následujících stránek. Nastavení sítě pomocí tohoto příkazu není složité a struktura syntaxe je veskrze jeho podpříkazy konzistentní. Příkaz ip není jediná možnost jak nastavovat síť v OS Linux a proto budou v rámci tohoto modulu uváděny i další alternativy. Snadnosti použití napomáhají kvalitně zpracované manuálové stránky dostupné přes standardní příkaz man. man ip Další usnadnění přináší dobře zpracovaná nápověda daného příkazu. Nápovědu je možné vyvolat jak na úrovní příkazu ip, tak i na úrovni jednotlivých podpříkazů jako je například ip addr, nebo ip route. ip help; ip addr help; ip route help; Zjednodušená struktura příkazu ip vypadá následovně: ip ip link add link delete set show ip addr add change replace delete show ip route add del list flush change ip rule add del list flush ip tunnel add del change list show Nejedná se zde o kompletní výpis všech možností příkazu ip, ale jedná se na ukázku těch nejdůležitějších. 10

2.2 Příkaz ip link nastavení rozhraní Tato variant příkazu ip slouží k nastavování síťového rozhraní. Je možné například rozhraní přejmenovat, což může byt užitečné pro lepší orientaci a snadnější rozpoznání příslušnosti rozhraní k nějaké konkrétní podsíti. To znamená, že pokud dané zařízení slouží například jako směrovač je možné rozhraní eth0 přejmenovat na LAN a rozhraní eth1 přejmenovat na WAN. V tomto případě jsme předpokládali, že rozhraní eth1 bude připojeno do sítě internet a rozhraní eth0 do lokální sítě. Nastavení jména rozhraní je možné provést následujícím příkazem ip link set eth0 name LAN Je evidentní, že pokud bude daný směrovač následně spravovat někdo nový, bude se mnohem snáze orientovat v konfiguraci například Firewallu, protože nebude muset neustále přemýšlet nad tím, kam je dané rozhraní připojeno, ale daný fakt bude přímo vyplývat z názvu rozhraní. Pomocí tohoto příkazu je možné nastavit hardwarovou adresu rozhraní MAC. ip link set eth0 address 00:AF:22:CD:01:EF To samé nastavení adresy MAC, ale s použitím příkazu ifconfig. ifconfig eth0 hw ether 00:AF:22:CD:01:EF Dále je důležité mít možnost dané rozhraní vypnout nebo naopak zapnou, což je možné použitím následujících příkazů. ip link set eth0 up ip link set eth0 down To samé nastavení, ale s použitím příkazu ifconfig. Ifconfig eth0 up Ifconfig eth0 down Více o použití příkazu ip link je možné nalézt v nápovědě daného příkazu. 11

2.3 Příkaz ip addr nastavení adres IP Tímto příkazem se nastavují adresy IP na síťová rozhraní spolu s dalšími parametry, které se týkají adresace sítí. Pomocí tohoto příkazu je možné jednoduše přidávat adresy IP na rozhraní, odstraňovat adresy IP z rozhraní, případně provádět různé změny v nastavení. Na síťové rozhraní je možné přiřadit více než jednu adresu IP Výpis všech přiřazených adres IP v daném system ip addr show Obdodně s použitím příkazu ifconfig ifconfig Pozor na fakt, že pomocí příkazu ifconfig není možné zobrazit více než jednu adresu IP nastavenou pomocí příkazu ip pro dané rozhraní v některých distribucích (CentOS, RHEL, ) Nastavení 2 adres IP na rozhraní eth0: ip addr add 192.168.10.254/24 dev eth0 brd + ip addr add 192.168.20.254/24 dev eth0 brd + Obdodně s použitím příkazu ifconfig, všesměrová adresa broadcast je nastavena automaticky ifconfig eth0 192.168.10.254/24 ifconfig eth0:1 192.168.10.254/24 Odebrání adresy 192.168.10.254/24 z rozhraní eth0 ip addr del 192.168.10.254/24 dev eth0 Obdodně s použitím příkazu ifconfig. ifconfig eth0 del 192.168.10.254 12

2.4 Příkaz ip route nastavení směrovacích tabulek Tento příkaz se používá pro přidávání a modifikaci směrovacích záznamů. Je možné nastavovat jak běžné statické směrování, tak je možné využít tento příkaz pro směrování, které je založeno na směrovacích politikách. V tomto případě je ovšem třeba použít více směrovacích tabulek a ošetřit jejich použití pomocí pravidel, která je možné definovat pomocí příkazu ip rule. Přidání dalších směrovacích tabulek je možné docílit editací souboru: /etc/iproute2/rt_tables Nastavení směrování působí studentům často značné potíže, nicméně je třeba poznamenat, že na vině není použití příkazu ip route. Studentům činí potíže sestavení vhodných pravidel. Při konfiguraci směrování je třeba dopředu pečlivě promyslet, čeho vlastně chceme dosáhnout a kudy pakety mohou dorazit k cíli. Také je třeba si uvědomit skutečnost, že pokud pakety dorazí správně k cíli, ještě to a priori neznamená, že existuje i cesta zpět k odesilateli. I opačnou cestu je potřeba v síti korektně nastavit. Výpis směrovací tabulky ip route show Přidání nového záznamu do směrovací tabulky ip route add 10.0.0.0/8 via 192.168.0.1 [ dev eth0 ] Odstranění záznamu ze směrovací tabulky ip route del 10.0.0.0/8 via 192.168.0.1 [ dev eth0 ] Alternativně je možné použít příkaz route route route add net 10.0.0.0/8 gw 192.168.0.1 route del 10.0.0.0/8 gw 192.168.0.1 13

2.5 Příkaz ip route pokročilé metody směrování Jak již bylo naznačeno na předchozí stránce, je možné používat více směrovacích tabulek, tato možnost je v řadě distribucí zkompilována již ve výchozím jádře systému. Pokud by tomu tak nebylo, je možné přidat podporu pro více směrovacích tabulek tak, že se nastaví patřičný parametr jádra. Nastavení jádra pro podporu více směrovacích tabulek. CONFIG_IP_MULTIPLE_TABLES=y Jádro je poté samozřejmě nutné znovu přeložit a nastavit jeho zavedení při startu systému. Typická struktura souboru /etc/iproute2/rt_tables vypadá následovně: Číslo směrovací tabulky 255 Local 254 Main 253 Default 0 unspec Jméno směrovací tabulky Při procházení směrovacích tabulek mají přednost ty, které mají vyšší číslo. Pokud tedy přidáme další tabulku, která bude mít číslo v rozsahu od 1 do 252 je potřeba upravit pomocí speciálních pravidel to, jakým způsobem se budou směrovací tabulky procházet, resp. která z tabulek bude použita pro směrování daného paketu. K tomu slouží příkaz ip rule, kterým je možné přidat potřebná pravidla. Pravidla mohou obsahovat definice ve smyslu: Pakety pocházející / nepocházející z určité sítě, určité adresy. Pakety směřující / nesměřující do konkrétní sítě, určité adresy. Pakety určitého typu služby TOS (Type Of Service) Pakety označené firewallem (iptables), nesoucí nějaké konkrétní označení FWMARK, v tomto případě je možné na dané označení použít i masku, tzn. FWMARK/MASK 14

Pravidlo, které říká, že pakety ze sítě 223.1.2.0/24 budou směrovány pomocí tabulky MojeTabulka ip rule add from 223.1.2.0/24 table MojeTabulka Vezměme si například následující situaci, kde budeme chtít směrovat na základě zdrojové adresy, viz následující obrázek: Směrování založené na zdrojové adrese Ze sítě 223.1.2.0/24 se budou pakety do sítě 223.1.1.0/24 standardně směrovat přes výchozí bránu 223.1.4.2. Standardní směrování je založeno na cílové adrese. Pokud budeme chtít, aby pakety, které pocházejí z adresy 223.1.2.2, procházeli přes směrovač s adresou 223.1.3.2 namísto výchozí brány, je možné požadovaného chování docílit použitím směrování založeném na politikách. V tomto konkrétním případě na politikách dle zdrojové adresy paketů. Vlastní nastavení směrovacích tabulek bude vypadat následovně: 1. ip route add default via 223.1.4.2 2. echo 100 MojeTabulka >> /etc/iproute2/rt_tables 3. ip rule add from 223.1.2.2/32 table MojeTabulka 4. ip route add default via 223.1.3.2 Řádek číslo 1 nastavuje standardní výchozí bránu. 15

Řádek číslo 2 přidává naši vlastní směrovací tabulku číslo 100 k ostatním směrovacím tabulkám. Řádek číslo 3 přidává pravidlo, které říká, že pokud přijde paket z adresy 223.1.2.2 má se pro jeho směrování použít směrovací tabulka, která se jmenuje MojeTabulka. Jméno tabulky je možné ekvivalentně nahradit jejím číslem. Řádek číslo 4 přidává výchozí bránu 223.1.3.2 pro pakety, které jsou směrovány pomocí tabulky MojeTabulka. Teprve směrování, které je založené na politikách, dává správci sítě plnou kontrolu nad tím, jakým způsobem budou pakety směrovány sítí. 16

2.6 Příkaz ip tunnel vytvoření tunel rozhraní Pomocí tohoto příkazu je možné vytvořit speciální rozhraní pro tunelování paketů. To znamená, že pakety jsou zapouzdřený do jiných paketů a tak jsou přenášený sítí na druhý konec tunelu, kde jsou opět obnoveny do původní podoby. Vytvoření tunelovacího rozhraní. ip tunnel add NazevRozhrani mode MOD local AdresaIP remote AdresaIP ip tunnel add tun0 mode gre local 223.1.1.1 remote 1.2.3.4 módy které lze použít: ipip, gre a sit. Změna tunelovacího rozhraní (například změna klíče) ip tunnel change tun0 mode gre local 223.1.1.1 remote 1.2.3.4 key 123456 Odstranění tunelovacího rozhraní ip tunnel del tun0 Výpis tunelovacích rozhraní Ip tunnel show Pozor na fakt, že každý tunel má dva konce, na druhém konci je potřeba provést to samé, ale adresy IP budou samozřejmě opačně. K čemu může být tunelování dobré? Tunely se používají v řadě případů asi nejtypičtějším použitím je například vytvoření šifrovaného tunelu v rámci připojení pomocí VPN (Virtual Private Network). V tomto případě je ovšem vytvářen zcela automaticky a většinou bez jakékoliv interakce s uživatelem. K vytvoření tunelu vás mohou vest i jiné pohnutky. Vezměme si například propojení poboček, kde chceme jednoduše sdílet nějaký segment veřejných adres IP. Nebo můžeme mít problém získat veřejný segment adres IP v nějaké konkrétní lokalitě. Vzhledem k faktu, že de facto veřejné adresy IP došly, může se to lehce stát. Pokud odhlédneme od případných dalších technických obtíží, může být tunelování paketů řešením. Představme si síť jako je na následujícím obrázku. Představme si, že v lokalitě A máme k dispozici veřejný segment PI (Provider Independent) adres IP o velikosti bloku C (256 adres IP). V lokalitě C potřebujeme instalovat několik serverů, ale a vzhledem k faktu, že nechceme být závislí na.rozsahu adres IP lokálního ISP, použijeme tunelu k propojení našich sítí. V tomto případě nemusíme s nikým na trase dohadovat směrování naší sítě, 17

což by bylo pravděpodobně jen těžko proveditelné. Představte si totiž, že pod směrovačem C se ve skutečnosti může skrývat například 8 směrovačů, kde v nejhorším případě bude každý patřit někomu jinému Řešení může vypadat tak, že si vytvoříme tunel ze směrovače A do C a na směrovači A nastavíme směrování požadovaného segmentu adres IP do takto vytvořeného tunelu. Na směrovači C zase obráceně nastavíme směrování pouze z přidělených adres zpět do tunelu a tím pádem ostatní provoz v lokalitě C nebude nijak ovlivněn. Vytvoření tunelu na A : ip tunnel add tun0 mode gre local 223.1.4.1 remote 223.1.6.1 key 123456 Vytvoření tunelu na C : ip tunnel add tun0 mode gre local 223.1.6.1 remote 223.1.4.1 key 123456 Po té již stačí jen rozhraní aktivovat, nastavit adresy IP a nastavit směrování. Tunelování segmentu adres IP. 18

3 Sítě v OS Linux ostatní nastavení 3.1 Nastavení překladu adres DNS revolver Pro potřeby síťové komunikace je ve většině případů nutné nastavit DNS revolver. Ten slouží k překladům doménových jmen libovolné úrovně na adresu IP a opačně. Nastavení je možné provést editací souboru /etc/resolv.conf, typický obsah může vypadat například takto: search fel.cvut.cz nameserver 10.0.0.1 nameserver 8.8.8.8 Toto nastavení nám zajistí, že pokud budeme potřebovat přistupovat například ke stránkám www.comtel.cz, dojde k odeslání požadavku na překlad doménového jména na IP adresu na specifikovaný jmenný server. Ten nám může vrátit několik různých odpovědí. Nejdůležitější z nich jsou odpovědi typu: doména neexistuje, anebo obdržíme požadované informace o doméně. Poté co naše zařízení získá adresu IP protějšku, může dojít k uskutečnění požadované komunikace. Také, protože jsme v konfiguraci zadali řádek začínající klíčovým slovem search, tak pokud zadáme například jenom www do adresního řádku prohlížeče, tak DNS revolver se pokusí dané jméno doplnit o fel.cvut.cz a vrátí výsledek. 19

3.2 DHCP klient DHCP (Dynamic Host Configuration Protocol) je protokol, který slouží k automatickému nastavení adres IP připojených zařízení. Díky DHCP není potřeba, aby administrátor sítě konfiguroval každé síťové zařízení zvlášť, případná nová zařízení jsou taktéž automaticky nastavena po jejich připojení. Tento protokol řeší: nastavení adresace stanic, nastavení směrovacích tabulek, nastavení jmen stanic, případně další síťová nastavení. Manuální spuštění DHCP klienta na rozhraní eth2 dhclient eth2 Pro automatické nastavení síťových rozhraní je třeba editovat patřičný soubor s konfigurací /etc/network/interfaces Pro automatickou konfiguraci rozhraní eth2 ze serveru DHCP a automatickou aktivaci rozhraní po startu je potřeba přidat následující řádky do výše zmiňovaného souboru: allow-hotplug eth2 iface eth2 inet dhcp 20

3.3 Síťový most Network Bridge V některých případech je potřeba propojit síťová rozhraní na úrovni 2 vrstvy RM- OSI modelu. K tomuto účelu slouží v OS Linux balíček nástrojů bridge-utils, který obsahuje příkaz brctl. Použití příkazů je vcelku jednoduché. Příkaz má následující syntaxi. brctl addbr delbr addif delif show v případě vytváření síťového mostu by daná rozhraní, která budou v rámci mostu použita, neměla být aktivní a neměla by mít přiřazené adresy IP Příklad vytvoření a nastavení sítového mostu z rozhraní eth1,tun0, eth0.10, a nastavení adres IP na daném síťovém mostu. brctl addbr br0 brctl addif br0 eth1 brctl addif br0 tun0 brctl addif br0 eth0.10 brctl stp br0 on brctl setbridgeprio br0 8192 ip addr add 192.168.10.254/24 dev br0 brd + ip link set dev br0 up 21

3.4 OS Linux jako síťový směrovač Pokud jsme se v textu zmiňovali o směrování, pak se doposud jednalo o zajištění dostupnosti jednotlivých sítí přímo z daného zařízení. Linux OS je možné ovšem také použít jako plnohodnotný síťový směrovač, který bude předávat pakety z jedné sítě do jiné. Nastavení statického směrování plně pokrývají již zmiňované příkazy route a ip route. Pokud se budeme bavit o dynamickém směrování ať už to je RIP, RIPv2, OSPF, BGP a další je třeba doinstalovat další podpůrné nástroje a daemony, které dynamické směrovaní zajistí. Za zmínku zde stojí projekt Zebra, resp jeho nástupce Quagga. V OS Linux je standardně předávání paketů mezi rozhraními při směrování zakázáno. Směrování je tedy nutné nejprve povolit. Povolení směrování je jednoduché, je možné ho zapnout hned několika způsoby. a) zápisem hodnoty 1 do pseudo souboru /proc/sys/net/ipv4/ip_forward echo 1 >/proc/sys/net/ipv4/ip_forward b) nebo pomocí příkazu sysctl sysctl w net.ipv4.ip_forward= 1 ) c) nebo editací souboru /etc/sysctl.conf (automatické zapnutí směrování po startu OS) 1 přidáním řádku: net.ipv4.ip_forward= 1 do souboru /etc/sysctl.conf Pokročilejšího čtenáře možná v tuto chvíli napadne otázka: Jak je to na OS Linux s překladem adres NAT (Network Address Translation), případně PAT (Port Address Translation)? V případě směrovačů na bázi OS Linux je řešení ponecháno na straně firewallu. V případě většiny distribucí se jedná o balík Iptables o němž bude velká část následujícího textu. 22

3.5 Příkazy ověření znalostí a) Jaký příkaz použijete pro nastavení adresy IP? b) Jaký příkaz použijete pro nastavení výchozí brány? c) Jaký příkaz použijete ke změně hardwarové adresy MAC? d) Kde se v OS Linux nastavuje DNS revolver? e) Jaký příkaz použijete pro vytvoření VLAN dle IEEE - 802.1Q? f) S informacemi jaké vrstvy pracuje síťový most? ŘEŠENÍ a) ip addr add, případně ifconfig b) ip route add, případně route add c) ip link set, případně ifconfig eth0 ether hw. d) v souboru /etc/resolv.conf e) ip link add,případně vconfig f) Jedná se o druhou vrstvu RM-OSI modelu. (MAC) g) Jedná se o třetí vrstvu RM-OSI modelu. (MAC) 23

4 Sítě v OS Linux zabezpečení sítí 4.1 TCP Wrappers / Iptables Způsobu jakým lze ošetřit přístup k zařízení s OS Linux je několik, mezi základní možnosti patří využití Firewallu nebo vrstvy TCP Wrappers. TCP Wrappers Použití této knihovny je docela jednoduché. Editací souborů /etc/hosts.allow a /etc/hosts.deny lze řídit z jakých adres IP bude povolen přístup k jednotlivým daemonům. Typicky je tak možné ošetřit přístup k poštovním službám, vzdálenému přihlášení pomocí protokolu SSH, přístup k webovému obsahu a samozřejmě k celé řadě dalších služeb. Definice daných souborů může vypadat například následovně: /etc/hosts.allow sshd: 192.168.0.0/255.255.0.0 sshd: 172.16.0.0/255.240.0.0 sshd: 10.0.0.0/255.0.0.0 etc/hosts.deny ALL:ALL Toto nastavení říká, že kromě přístupu z lokální sítě (neveřejné adresy IP) ke službě SSHd, nebude nikomu povolen přístup k danému zařízení. Je třeba si ovšem uvědomit, že se to týká pouze služeb, které jsou vytvářeny službou inetd - /etc/inetd.conf Iptables V tomto případě se jedná velice mocný program, pomocí něhož je možné vystavět komplexní bránu Firewall včetně překladu adres NAT nebo PAT. Dokáže definovat pravidla nejenom v bezestavovém módu firewallu, ale i v modu stavového firewallu. Vzhledem k velkému významu a rozsahu programu Iptables, bude tomuto tématu podrobněji věnováno několik následujících stránek. 24

4.2 Iptables struktura Následující obrázek zachycuje zjednodušeně, jakým způsobem prochází pakety bránou, která je založena na Iptables. Zjednodušená struktura Iptables Obrázek popisuje situaci, kdy dané zařízení může být zdrojem paketu, cílem paketu, anebo může paket daným zařízením pouze procházet z jedné sítě do jiné. Na obrázku jsou zachyceny nejdůležitější dva typy tabulek. Těchto tabulek je ve skutečnosti více tak jak zachycuje následující tabulka a jak je z tabulky patrné struktura Iptables je mnohem komplikovanější. Pro běžné použití ovšem bohatě dostačuje použití tabulek filter a nat dle obrázku. Výběr tabulky se provádí pomocí parametru -t. iptables t nat A POSTROUTING o eth1 j MASQUERADE 25

Typ tabulky (tables) Filter Nat Mangle Raw Seznamy pravidel (chains) INPUT, OUTPUT, FORWARD PREROUTING, OUTPUT, POSTROUTING PREROUTING, INPUT, OUTPUT, FORWARD, POSTROUTING PREROUTING, OUTPUT Význam Výchozí tabulka, není potřeba ji explicitně uvádět. Slouží k definici pravidel pro filtrování provozu. Slouží k manipulaci s obsahem paketů. Slouží k manipulaci s obsahuem paketů ve speciálních případech Slouží především k definicím vyjímek v případě použití překladu adres s podporou connection tracking, má nejvyšší prioritu. PREROUTING ke zpracování paketu dochází před vlastním směrováním paketu INPUT ke zpracování dochází v případě, že jsou pakety určeny pro dané zařízení po rozhodnutí o směrování paketu FORWARD ke zpracování dochází v případě, že jsou pakety určeny pro směrování do jiné sítě, po rozhodnutí o směrování paketu. OUTPUT ke zpracování dochází poté, co je paket vygenerován lokálním zařízením. POSTROUTING ke zpracování dochází těsně před tím, než je paket zařazen do fronty na rozhraní pro odeslání do sítě. 26

4.3 Iptables pravidla (manipulace s pravidly) Příkazy pro práci s pravidly je možné rozdělit na několik podskupin: manipulace s pravidly, pravidla pro selekci paketu a akce. Manipulace s pravidly -A, --append přidání pravidla na konec seznamu -D, --delete odebrání konkrétního pravidla -I, --insert přidání pravidla na konkrétní místo seznamu, pokud to není specifikováno, pak je pravidlo přidáno na začátek seznamu -R, --replace nahrazení vybraného pravidla -L, --list výpis pravidel -F, --flush vymazání všech pravidel v daném seznamu, pokud ten není uveden, pak dojde k vymazání všech pravidel v dané tabulce. -Z, --zero vynulování počítadel paketů a přenesených bytů u jednotlivých pravidel -N, --new-chain vytvoření nového seznamu pravidel daného jména vedle standardních seznamů jako jsou INPUT, OUTPUT, apod. -X, --delete-chain odstranění seznamu pravidel, nesmí se na něj odkazovat žádné pravidlo -P, --policy Nastavuje politiku zpracování paketů pro konkrétní seznam. Lze pouze u vnitřních seznamů pravidel, jako jsou INPUT, OUTPUT, apod.. Příklad užití zmíněných pravidel: iptables A INPUT p tcp s 192.168.0.0/16 -dport 22 j ACCEPT iptables A INPUT p tcp s 172.16.0.0.0/12 - dport 22 j ACCEPT iptables A INPUT p tcp s 10.0.0.0/8 - dport 22 j ACCEPT iptables A INPUT p tcp -dport j DROP iptables I INPUT 4 p tcp s 147.32.32/24 dport 22 j ACCEPT Nastavení politik pomocí -P nebo --policy si zaslouží zvláštní pozornost vzhledem k faktu, že zásadně ovlivňuje způsob, jakým se seznamem pravidel pracuje. Výchozí nastavení je na hodnotu ACCEPT. To znamená, že pokud není uvedeno jinak, všechny pakety daným seznamem pravidel mohou procházet. Pokud se naopak daný seznam nastaví na politiku DROP, znamená to, že všechny pakety budou implicitně zahozeny bez jakékoliv další akce, není-li to v seznamu pravidel definováno jinak. 27

Použití vypadá následovně: iptables P INPUT DROP iptables P FORWARD DROP iptables P OUTPUT ACCEPT 28

4.4 Iptables pravidla (selekce paketů) Velmi významná část pravidla je právě ta část, kde definujeme, na jaké pakety se bude vztahovat námi zvolená akce. Pakety je možné vybírat na základě velkého množství různých parametrů. Selekce paketů základní parametry -p, --protocol tímto přepínačem máme možnost zvolit typ protokolu, např. tcp, udp, icmp, esp, all, -s, --source specifikace zdroje paketu, např. konkrétní počítač, síť, -d,--destination specifikace cíle paketu, např. konkrétní počítač, síť, -j, --jump specifikace akce, která se provede s daným paketem, např ACCEPT, DROP, REJECT, MASQUERADE, DNAT, SNAT, -i, --in-interface specifikace vstupního zařízení příchozího paketu -o, --out-interface specifikace výstupního zařízení odchozího paketu. U daných parametrů je možné pracovat i s jejich negací. To je možné pomocí znaku!. Viz čtvrtý řádek následujícího příkladu. iptables -A FORWARD p tcp d 10.20.30.0/24 i eth3 j ACCEPT iptables -A FORWARD p tcp d 10.20.30.0/24 i eth2 j DROP iptables -A INPUT p tcp s my.server.cz i eth0 j ACCEPT iptables -A INPUT p tcp! s my.server.cz i eth0 j DROP iptables A INPUT p udp -j DROP iptables t nat A POSTROUTING o eth4 j MASQUERADE iptables t nat A POSTROUTING o eth3 j SNAT -to 172.31.255.10 Selekce paketů rozšíření základních parametrů Pakety je dále možné rozlišovat s použitím dalších modulů. Ty se vztahují vždy ke konkrétnímu protokolu. Velmi dobře to je vidět například na rozdílu protokolů TCP a UDP. V případě protokolu TCP můžeme na rozdíl od protokolu UDP pracovat navíc i s příznaky daného spojení a se stavovou informací o daném spojení. V případě stavových informací se používá samostatný modul state. Odtud také pochází pojem stavový firewall. V případě obou protokolů můžeme rozlišovat pakety podle zdrojového a cílového portu. Stavový firewall (statefull firewall) nazývá se tak brána firewall, která dokáže pakety dále rozlišit i podle toho v jaké fázi se spojení nachází. Tzn. Je možné určit zda se jedná o nově vytvářené spojení, již existující probíhající spojení, apod.. 29