[[obsah|Hlavní stránka]] ===== Fedora v počítačové síti ===== {{:navody:48x48:places:network.png?48 }} * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]]. ==== Správa síťových připojení ==== Nástrojem, který ve Fedoře spravuje sítě, je **NetworkManager**. //NetworkManager// je dynamický správce síťových připojení, který se snaží připojovat k sítím podle toho, jak jsou zrovna dostupné. Podporuje následující typy sítí: drátové, bezdrátové, mobilní (např. 3G), DSL a PPPoE (Point-to-Point over Ethernet). //NetworkManager// běží na pozadí jako démon, který můžete ovládat přes rozhraní příkazové řádky nebo přes jeden z několika grafických nástrojů. Grafické nástroje pro nastavení sítí ve všech desktopových prostředích Fedory využívají právě //NetworkManager//. :!: **Poznámka:** Nástroj //Network// (system-config-network), který sloužil ke statickému nastavení sítí, byl označen za zastaralý a již se neudržuje, byť se ještě v repozitářích Fedory nachází. Dnes je pro nastavení síťových rozhraní všeho druhu doporučován //NetworkManager//. ==== Nastavení připojení k počítačové síti ==== V prostředí GNOME naleznete nastavení sítě pod ikonou sítě v pravé části horního panelu. V nabídce pod touto ikonou můžete vidět stav jednotlivých síťových rozhraní, zapínat je, nebo vypínat, a dostupné bezdrátové sítě. Pokud chcete provést složitější nastavení sítě, klikněte v nabídce na položku //Nastavení sítě//, která vás přesune do modulu //Síť// v //Nastavení systému//. Kromě nastavení drátové a bezdrátové sítě zde můžete nastavit také připojení přes bluetooth, VPN, svazek připojení, proxy a most. V pravém horním rohu okna potom můžete zapnout tzv. režim //Letadlo//, který vypne všechna bezdrátová zařízení. {{ :navody:f19nastaveni-site.png?400 | Nastavení sítě}} ==== Restartování síťových služeb ==== * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]]. Jednotlivá rozhraní můžete restartovat vypnutím a zapnutím v nabídce pod ikonou sítě na horním panelu. Restart celého //NetworkManageru// provedete příkazem: systemctl restart NetworkManager.service ==== Zjištění IP adresy počítače s Fedorou ==== //IP// adresu počítače, ke kterému jste momentálně přihlášeni, zjistíte pomocí ip addr show nebo zkráceně ip a Výstupem tohoto příkazu by mělo být 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: em1: mtu 1500 qdisc mq state UP qlen 1000 link/ether 00:23:7d:c3:ca:2c brd ff:ff:ff:ff:ff:ff inet 10.34.4.75/23 brd 10.34.5.255 scope global em1 valid_lft forever preferred_lft forever inet6 2620:52:0:2204:223:7dff:fec3:ca2c/64 scope global dynamic valid_lft 2586485sec preferred_lft 599285sec inet6 fe80::223:7dff:fec3:ca2c/64 scope link valid_lft forever preferred_lft forever Hledané //IP// adresy jsou v našem případě uvedeny v části ''2: em1:'' za položkami ''inet'' a ''inet6''. Síťové rozhraní ''em1'' má tedy jednu //IPv4// adresu: ''10.34.4.75'' a dvě //IPv6// adresy : ''2620:52:0:2204:223:7dff:fec3:ca2c'' a ''fe80::223:7dff:fec3:ca2c''. Více v [[http://cs.wikipedia.org/wiki/IP_adresa]] Další možnost jak získat ip adresu je program //ifconfig//, který stále mnoho lidí používá, přestože se jedná o nástroj, jehož koncept již neodpovídá současnému síťovému modelu v jádře. //ifconfig// je součástí balíčku //net-tools//, jehož vývoj skončil někde kolem roku 2001 a který bude dříve či později ve Fedoře (i jiných distribucích) nahrazen balíčkem [[http://cs.wikipedia.org/wiki/Iproute2|iproute]] (kam patří program //ip//). ifconfig Výstupem tohoto příkazu by mělo být em1: flags=4163 mtu 1500 inet 10.34.4.75 netmask 255.255.254.0 broadcast 10.34.5.255 inet6 2620:52:0:2204:223:7dff:fec3:ca2c prefixlen 64 scopeid 0x0 inet6 fe80::223:7dff:fec3:ca2c prefixlen 64 scopeid 0x20 ether 00:23:7d:c3:ca:2c txqueuelen 1000 (Ethernet) RX packets 238264 bytes 200215753 (190.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 147634 bytes 31100401 (29.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 17 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 0 (Local Loopback) RX packets 6365 bytes 931013 (909.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6365 bytes 931013 (909.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 Hledané //IP// adresy jsou v tomto případě uvedeny v části ''em1:'' opět za položkami ''inet'' a ''inet6''. ==== Základní příkazy pro zjištění funkčnosti vzdáleného serveru ==== === ping === Jestliže chcete zjistit, zda-li je vzdálený server funkční, je možné použít příkaz ''ping'' následovaný označením serveru. Server lze identifikovat pomocí //doménového jména// nebo //IP// adresy. Činnost programu ukončíte stiskem kombinace kláves CTRL+c. ping www.mojefedora.cz PING www.mojefedora.cz (188.114.97.9) 56 (84) datových bajtů. 64 bajtů od 188.114.97.9 (188.114.97.9): pořadí=1 TTL=56 čas=16,9 ms 64 bajtů od 188.114.97.9 (188.114.97.9): pořadí=2 TTL=56 čas=13,4 ms 64 bajtů od 188.114.97.9 (188.114.97.9): pořadí=3 TTL=56 čas=11,2 ms 64 bajtů od 188.114.97.9 (188.114.97.9): pořadí=4 TTL=56 čas=11,5 ms 64 bajtů od 188.114.97.9 (188.114.97.9): pořadí=5 TTL=56 čas=10,2 ms --- Statistika pingů na www.mojefedora.cz --- 5 paketů odesláno, 5 přijato, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 10.210/12.647/16.923/2.373 ms ping 188.114.97.9 PING 188.114.97.9 (188.114.97.9) 56 (84) datových bajtů. 64 bajtů od 188.114.97.9: pořadí=1 TTL=56 čas=17,9 ms 64 bajtů od 188.114.97.9: pořadí=2 TTL=56 čas=12,3 ms 64 bajtů od 188.114.97.9: pořadí=3 TTL=56 čas=13,0 ms 64 bajtů od 188.114.97.9: pořadí=4 TTL=56 čas=11,7 ms 64 bajtů od 188.114.97.9: pořadí=5 TTL=56 čas=11,6 ms --- Statistika pingů na 188.114.97.9 --- 5 paketů odesláno, 5 přijato, 0% packet loss, time 4004ms rtt min/avg/max/mdev = 11.572/13.292/17.924/2.371 ms === traceroute === Příkaz ''traceroute'' je možné použít v návaznosti na příkaz ''ping''. Tento příkaz slouží k mapovaní cesty k Vámi specifikovanému serveru. Tímto způsobem lze zjistit, kde konkrétně došlo k problémům ve spojení. Cílový server lze opět identifikovat pomocí //doménového jména// nebo //IP// adresy. Činnost programu lze předčasně ukončit stiskem kombinace kláves CTRL+c. traceroute www.mojefedora.cz traceroute to www.mojefedora.cz (188.114.96.9), 30 hops max, 60 byte packets 1 _gateway (192.168.0.1) 7.356 ms 7.500 ms 11.228 ms 2 * * * 3 static-89-176-100-145.bb.vodafone.cz (89.176.100.145) 26.414 ms 26.174 ms 26.638 ms 4 pzmsc-rc-01-ae22.net.vodafone.cz (185.188.187.34) 22.836 ms 29.566 ms 22.626 ms 5 * * * 6 * * * 7 * * * 8 cst2-191-82.cust.vodafone.cz (31.30.191.82) 31.196 ms 31.235 ms 29.087 ms 9 188.114.96.9 (188.114.96.9) 19.354 ms 12.928 ms 16.749 ms traceroute 188.114.96.9 traceroute to 188.114.96.9 (188.114.96.9), 30 hops max, 60 byte packets 1 _gateway (192.168.0.1) 7.798 ms 7.997 ms 5.370 ms 2 * * * 3 static-89-176-100-145.bb.vodafone.cz (89.176.100.145) 22.569 ms 26.603 ms 22.576 ms 4 pzmsc-rc-01-ae22.net.vodafone.cz (185.188.187.34) 27.043 ms 28.829 ms 28.395 ms 5 * * * 6 * * * 7 * * * 8 cst2-191-82.cust.vodafone.cz (31.30.191.82) 33.843 ms 33.546 ms 34.164 ms 9 188.114.96.9 (188.114.96.9) 16.920 ms 12.658 ms 16.755 ms === mtr === Příkaz ''mtr'' je kombinací příkazů ''ping'' a ''traceroute''. Program průběžně vypisuje celkový stav a ukončíte ho klávesou ''q''. Příkaz musí být spuštěn uživatelem ''root'', má-li být použitelný i obyčejnými uživateli, musíte mu nastavit SUID bit příkazem ''chmod u+s /usr/sbin/mtr''. /usr/sbin/mtr My traceroute [v0.71] opteron.pslib.cz (0.0.0.0) Thu Dec 4 23:20:53 2008 Keys: Help Display mode Restart statistics Order of fields quit Packets Pings Host Loss% Last Avg Best Wrst StDev 1. neptun.pslib.cz 0.0% 0.1 0.2 0.1 0.2 0.0 2. ten155-r1-nextel.cesnet.cz 0.0% 0.7 0.6 0.4 0.7 0.2 3. nix1.gin.cz 0.0% 4.3 88.0 4.3 193.5 96.5 4. r2-bbs.gin.cz 0.0% 4.4 4.4 4.3 4.4 0.1 5. fedora.ipex.cz 0.0% 4.4 4.5 4.4 4.6 0.2 ==== Otevření / uzavření portů ==== {{:navody:48x48:apps:firewall.png?48 }}Základním nástrojem ochrany počítačů je firewall. Každý počítač je v síti jedinečně určen tzv. //IP// adresou. Jestliže však některá z aplikací chce s tímto počítačem komunikovat, musí znát nejen jeho //IP// adresu ale také tzv. port, který musí být otevřen.\\ Velice často jsou pojmy //IP// adresa, port a firewall vysvětlovány na následujícím příkladu. Jestliže potřebujete zajít např. na úřad, musíte znát v zásadě dvě věci - adresu domu, kde se úřad nachází (//IP// adresa), a číslo dveří, za kterými sedí úředník, se kterým potřebujete mluvit (port). Význam //IP// je zřejmý - jak již bylo řečeno výše, identifikuje počítač v síti. Co se portů týče, podobně jako úředník "naslouchají" jednolivé aplikace na portech, zda-li budou kontaktovány některým z počítačů v síti. Tyto porty jsou pro základní typy aplikací všeobecně známé (např. //HTTP// má defaultní port 80).\\ Firewall dělá to, že uzavírá ty porty, které nebudete potřebovat. Jestliže je port zavřený, nemohou přes něj aplikace komunikovat, čímž se snižuje riziko neautorizovaného průniku do systému. Na druhou stranu, jestliže chcete provozovat některé z aplikací (např. vzdálenou plochu, WWW server apod.), je potřeba tyto porty otevřít. V opačném případě nebude aplikace fungovat.\\ Ve Fedoře existují dva druhy firewallů: statické a dynamické. Liší se tím, jak jsou aplikovány změny v nastavení. Zatímco statické pracují s neměnou konfigurací a provedete-li jakoukoliv změnu, musíte firewall restartovat, aby se změna aplikovala, u dynamických lze aplikovat změny za běhu. Statické firewally jsou zpravidla postavené na //iptables//. Patří mezi ně i nástroj //Firewall// (system-confing-firewall), který byl donedávna výchozím nástrojem pro nastavení firewallu ve Fedoře. Mezi pokročilejší statické nástroje pro nastavení firewallu patří [[nekomercni_aplikace_internet#Instalace firewallu (Firestarter) | Firestarter]]. {{ navody:f19porty.png?400 | Nastavení úrovně zabezpečení }} Výchozím firewallem ve Fedoře je nyní //firewallD//, který patří mezi dynamické. Jeho nastavení můžete měnit dvěma nástroji: grafickým //firewall-config// a textovým //firewall-cmd//. //FirewallD// podporuje tzv. zóny, což jsou profily o různé přísnosti firewallu, které lze přiřadit jednotlivým sítím. Někde na bezdrátové sítí v kavárně tak můžete mít nastavený přísný režim, protože se jedná o nedůvěryhodnou síť, zatímco doma na drátové síti budete mít nejbenevoletnější režim, protože to je pro vás důvěryhodná síť. Více se o //firewallD// můžete dozvědět v [[https://mojefedora.cz/firewalld-nahrada-iptables/|článku]] na mojefedora.cz. {{ :navody:f19firewall-config.png?400 | Nastavení firewallD}} Jak můžete na obrázku vidět, v levém sloupci je seznam dostupných zón. V pravém sloupci vidíte, seznam definovaných služeb a indikaci toho, jestli jsou pro danou zónu zapnuté nebo ne. Berte v úvahu, že všechny změny, které v tomto náhledu provedete, jsou pouze dočasné. Chcete-li provádět trvalé změny, vyberte v horní části okna u //Současný náhled// volbu //Trvalá konfigurace//. Budete požádáni o heslo roota a potom budete moci provádět trvalé změny. V tomto náhledu se objeví také další možnosti nastavení. Budete moci přidávat či odebírat zóny, upravovat služby apod. Chcete-li nastavit zóny pro jednotlivé sítě, běžte do //Možnosti->Nastavení zón připojení...//, vyberte síť, pro kterou chcete síť nastavit a klikněte na //Upravit//. V dialogovém okně, které se otevře, můžete změnit zónu na kartě //Obecné//. Výchozí zónou pro všechny sítě je //public//. Změnit výchozí zónu můžete v //Možnosti->Změnit výchozí zónu//. Jak už bylo řešeno, //firewallD// lze ovládat v příkazové řádce pomocí nástroje //firewall-cmd//. Mezi základní příkazy patří: Zjištění, jaká zóna je aktivovaná: firewall-cmd --get-active-zone Vypsání dostupných zón: firewall-cmd --get-zones Ukázková změna zóny pro vybrané síťové rozhraní: firewall-cmd --zone=home --change-interface=wlan0 Vypsání povolených služeb pro danou zónu: firewall-cmd --zone=home --list-services Vypsání povolených portů pro danou zónu: firewall-cmd --zone=home --list-ports Nebo si můžete nechat vypsat všechna nastavení pro danou zónu: firewall-cmd --zone=home --list-all Přidání a odebrání portu v dané zóně: firewall-cmd --zone=home --add-port=2222/tcp firewall-cmd --zone=external --remove-port=2222/tcp Pokud chcete, aby byly změny trvalé, tedy i např. po restartu počítače, přidejte k příkazům parametr ''--permanent''. Tyto změny se ale projeví právě až po restartu //firewalld// nebo restartu celého systému. Pokud vám základní nastavení firewallu nestačí, vězte, že //firewallD// podporuje tzv. bohatý jazyk pro vytváření komplexních pravidel. Více se o možnostech tohoto jazyku můžete dozvědět na [[http://fedoraproject.org/wiki/Features/FirewalldRichLanguage|jeho wiki stránce]], nebo v dokumentaci firewallD, kterou zobrazíte příkatem //man firewall-cmd//. :!: **Upozornění** Původní nástroj //Firewall// (system-config-firewall) nemůže běžet zároveň s //firewallD//. Chcete-li tedy používat tradiční firewall, musíte //firewallD// vypnout. To provedete příkazy: systemctl stop firewalld.service systemctl disable firewalld.service Seznam defaultních portů pro jednotlivé aplikace naleznete např. na stránkách [[http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers]].\\ ==== Procházení okolních počítačů ==== * Přečtěte si kapitolu [[obecne_poznamky|Obecné poznámky]]. Předpokládejme, že síťová připojení jsou správně nakonfigurována. Procházet místa v síti lze pomocí nabídky //Aplikace -> Místa -> Síť//.\\ {{ navody:f8okolni_site.png | Okolní sítě }} Pokud počítače nebo síťové složky nebudou nalezeny, zkuste je zapsat přímo přes nabídku //Místa -> Připojit se k serveru...//. ==== Přípojování sdílených adresářů ==== * Přečtěte si kapitolu [[sit#Zjistění IP adresy počítače s Fedorou]]. Připojit sdílený adresář nebo soubor umístěný na jiném počítači s //Fedorou// lze poměrně snadno přes nabídku //Místa -> Připojit se k serveru...//. {{ navody:f8pripojeni_k_serveru.png | Připojení se k serveru }} V okně //Připojit se k serveru// nastavíte //Typ služby// na //WebDAV(HTTP)// popř. na //Zabezpečené WebDAV(HTTP)//, vyplníte požadované údaje jako jsou označení serveru (tj. vzdáleného počítače), připojovaného adresáře popř. souboru a jméno uživatele. Pomocí tlačítka //Připojit// sdílený adresář popř. soubor připojíte.\\ **Poznámka:** Problematikou sdílení souborů a adresářů mezi //Fedorou// a //OS Windows// se zabývá kapitola [[sdileni_adresaru#Sdílení adresářů pomocí serveru Samba]]. ==== Sdílení připojení k internetu ==== * Přečtěte si kapitolu [[sit#Zjistění IP adresy počítače s Fedorou]]. **Toto je pokročilé téma a vyžaduje hlubší znalosti konfigurace sítě.** Umožňuje vám vytvořit z jednoho z vašich počítačů tzv. směrovač (router) a pomocí něj vytvořit malou domácí síť se sdíleným připojenim k internetu. Počítač který určíte jako směrovač bude mít pro náš popis jméno **brána**. Počítač který se přes bránu bude připojovat budeme nazývat **klient**. Nejdříve nakonfigurujeme počítač //brána//. Ten musí mít minimálně dvě síťová rozhraní. V našem případě to bude //eth0//, kterým se připojujeme k poskytovateli internetu a //eth1// na které se připojuje //klient//. === Nastavení adres rozhraní brány === Nastavení adres můžete provést mnoha způsoby. Buď z //NetworkManageru// nebo ze správy síťě nebo editací konfiguračního souboru. Pokud používáte //NetworkManager// nepoužívejte spravu sítě a obráceně! __Pro směrovač //brána// doporučujeme vypnout službu //NetworkManager// zapnout službu //Síť// a používat správu sítě.__ Adresa rozhraní //eth0// je přidělována od poskytovatele připojení, nejčastěji z jeho směrovače přes DHCP. Nastavte jej je tedy pro příjem adresy přes DHCP. Adresu rozhraní //eth1// je potřeba napevno nastavit na některý z tzv. privátních rozsahů. Nejčastěji z oblasti 192.168.x.x. Pro naše potřeby ji nastavíme na 192.168.10.1 a masku na 255.255.255.0. === Konfigurace směrování === V první řadě je potřeba povolit na //bráně// funkci směrování paketů gedit /etc/sysctl.conf Změňte či přidejte # Controls IP packet forwarding net.ipv4.ip_forward = 1 Nainstalujte //dnsmasq// server dnf install dnsmasq dnsmasq zajišťuje přeposílání překladů internetových adres z klienta na jmenné servery poskytovatele a zároveň umožňuje vytvořit jednoduchý DHCP server, který přiděluje IP adresu klientovy. Je potřeba ho ale nastavit. gedit /etc/dnsmasq.conf minimální nastavení by mělo vypadat asi následovně (nápovědu k položkám naleznete přímo v souboru) domain-needed filterwin2k interface=eth1 dhcp-range=192.168.10.127,192.168.10.254,255.255.255.0,59m #dhcp-host=00:AA:BB:CC:DD:EE,klient,192.168.10.130 dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases Zajistěte aby se služba //dnsmasq// pouštěla při startu počítače. Buď povolením v //system-config-services// (//Systém->Správa->Služby//) nebo příkazem chkconfig dnsmasq on Dále je potřeba povolit překlad adres vaší klientské sítě tak, aby se pro síť internet tvářila jako jeden počítač. V tomto případě jako //brána//. Spusťte //system-config-firewall// (//Systém->Správa->Firewall//, v konzoli můžete použít //system-config-firewall-tui//) a v sekci //Maškarádování//, zaškrtněte pod //eth+// rozhraní //eth0// (to jest rozhraní //brány// za nějž se bude maskovat //klient//). Tím jste povolil tzv. NAT (Network address translation). Ve stejném nástroji v sekci //Důvěryhodná rozhraní// zaškrtněte pod //eth+// rozhraní //eth1//. Tím jste povolili přístup VŠECH paketům z vašeho //klienta// na //bránu//. \\ **Poznámka**: Toto nastavení učiní //bránu// napadnutelnou z //klienta//. Je proto potřeba, aby i váš //klient// měl dobré zabezpečení před viry a napadením z vnějšku. **Tím je konfigurace //brány// dokončena**. Proveďte její restart. === Konfigurace klienta === Konfigurace //klienta// je velice jednoduchá a vyžaduje pouze nastavení získávání adresy pro //klienta// přes DHCP. Zde již záleží na použitém OS. Ve //Fedoře// opět buď přes //NetworkManager// nebo přes správu sítě. === Ověření funkce === Po restartu //brány// zkontrolujte, že rozhranní //eth0// má přidělenu adresu od poskytovatele. ip addr show eth0 zkontrolujte, že můžete přistupovat na internet, např. ping mojefedora.cz zkontrolujte nastavení rozhraní //eth1//, kde musí být vámi nastavená adresa 192.168.10.1 ip addr show eth1 Připojte //klienta// a v záznamech systému (/var/log/messages) by se měla objevit žádost a přidělení adresy pro klienta cca takto dnsmasq[30214]: DHCPDISCOVER(eth1) 192.168.10.130 00:AA:BB:CC:DD:EE dnsmasq[30214]: DHCPOFFER(eth1) 192.168.10.130 00:AA:BB:CC:DD:EE dnsmasq[30214]: DHCPREQUEST(eth1) 192.168.10.130 00:AA:BB:CC:DD:EE dnsmasq[30214]: DHCPACK(eth1) 192.168.10.130 00:AA:BB:CC:DD:EE Ověřte, že z //klienta// můžete přistupovat na //bránu// a dále do internetu - ping 192.168.10.1 - ping - ping mojefedora.cz Pokud selhává krok 1 pak váš klient nemá správně přidělenou adresu a nekomunikuje s bránou. \\ Pokud selhává krok 2 máte na bráně špatně nastavene směrování. \\ Pokud selhává krok 3 máte na bráně špatně nastaven dnsmasq a tento nepřekládá adresy nebo máte špatně nastaven Maškarádování. \\ ---- [[obsah|Hlavní stránka]]