Fedora v počítačové síti
- Přečtěte si kapitolu Obecné poznámky.
Správa síťových připojení
Ve Fedoře existují dva způsoby správy sítě.
- služba Network (síť)
- služba NetworkManager
Network je vhodný pro nastavení stálých pracovních stanic a serverů, pomocí ní lze nastavit statické adresy nebo dynamické získávání adres. Připojení k síti nastavené přes tuto službu je aktivní ihned po startu systému.
NetworkManager je správce síťových připojení vhodný především pro přenosná zařízení a pro zařízení, která často mění typ připojení. Připojení k síti se aktivuje až s přihlášením uživatele na základě jeho voleb a nastavení.
Neodporučuje se provozovat obě služby najednou, protože jejich nastavení mohou vzájemně kolidovat. Výchozí nastavení ve Fedoře má zapnutou službu NetworkManager a vypnutou službu Network.
Nastavení připojení k počítačové síti
Služba Network (síť)
Grafické rozhraní pro správu síťových připojení vyvoláte pomocí Systém → Správa → Síť. Tato nabídka vyvolá okno Nastavení síťových připojení.
Nastavení jednotlivých síťových připojení lze provést pomocí ikony Upravit. Mezi nastavované parametry patří např. jméno připojení, automatická aktivace při spuštění počítače a konfigurace pomocí DHCP.
Jméno počítače lze změnit v záložce DNS okna Nastavení sítě. Ve většině případů je však lepší se na počítač odvolávat pomocí jeho IP adresy.
Aktivaci/deaktivaci vybraného síťového připojení lze provést pomocí ikon Aktivovat, Deaktivovat v okně Nastavení sítě v pravém horním rohu okna.
Služba NetworkManager
Grafické rozhraní pro službu NetworkManager vyvoláte kliknutím na ikonu v liště. V závislosti na vašich síťových rozhraních a dostupných sítích vám bude zobrazena přehledná nabídka pro práci se sítěmi. NetworkManager umožňuje mimo jiné i nastavení VPN a sdílení sítě.
Restartování síťových služeb
- Přečtěte si kapitolu Obecné poznámky.
V případě, že používáte službu Network, restartujte síť deaktivací a aktivací síťového zařízení, nebo všechna zařízení najednou, tak že službu zastavíte a znovu pustíte. Toho lze dosáhnout z příkazové řádky příkazem
service network restart
Pokud používáte pro správu sítě v systému NetworkManager, klikněte na ikonu počítače na liště vedle ukazatele času a restartujte příslušné spojení.
Zjistě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: <LOOPBACK,UP,LOWER_UP> mtu 16436 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 inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:23:7d:c3:ca:2c brd ff:ff:ff:ff:ff:ff inet 10.34.33.229/22 brd 10.34.35.255 scope global eth0 inet6 fec0::f101:223:7dff:fec3:ca2c/64 scope site dynamic valid_lft 2591981sec preferred_lft 604781sec inet6 fe80::223:7dff:fec3:ca2c/64 scope link valid_lft forever preferred_lft forever
Hledaná IP adresa je v našem případě uvedena v části 2: eth0
za položkou inet
- tedy 10.34.33.229.
Číslo 22 za lomítkem znamená, že takto určená síť je určena prvními 22 bity adresy (maska je 255.255.252.0).
Více sekce Adresování sítí a podsítí 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 ve skutečnosti 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 iproute (kam patří program ip).
/sbin/ifconfig
Výstupem tohoto příkazu by mělo být
eth0 Link encap:Ethernet HWadr 00:23:7D:C3:CA:2C inet adr:10.34.33.229 Všesměr:10.34.35.255 Maska:255.255.252.0 inet6-adr: fec0::f101:223:7dff:fec3:ca2c/64 Rozsah:Stanoviště inet6-adr: fe80::223:7dff:fec3:ca2c/64 Rozsah:Linka AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST MTU:1500 Metrika:1 RX packets:231471 errors:0 dropped:0 overruns:0 frame:0 TX packets:178993 errors:0 dropped:0 overruns:0 carrier:0 kolizí:0 délka odchozí fronty:1000 RX bytes:117081771 (111.6 MiB) TX bytes:19238191 (18.3 MiB) Přerušení:17
lo Link encap:Místní smyčka inet adr:127.0.0.1 Maska:255.0.0.0 inet6-adr: ::1/128 Rozsah:Počítač AKTIVOVÁNO SMYČKA BĚŽÍ MTU:16436 Metrika:1 RX packets:3525 errors:0 dropped:0 overruns:0 frame:0 TX packets:3525 errors:0 dropped:0 overruns:0 carrier:0 kolizí:0 délka odchozí fronty:0 RX bytes:326219 (318.5 KiB) TX bytes:326219 (318.5 KiB)
Hledaná IP adresa je v našem případě uvedena v části eth0
za položkou inet adr
(druhý řádek) - tedy 10.34.33.229.
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.fedora.cz PING fedora.cz (193.86.238.16) 56(84) bytes of data. 64 bytes from www6.pipni.cz (193.86.238.16): icmp_seq=1 ttl=56 time=5.87 ms 64 bytes from www6.pipni.cz (193.86.238.16): icmp_seq=2 ttl=56 time=4.14 ms 64 bytes from www6.pipni.cz (193.86.238.16): icmp_seq=3 ttl=56 time=4.17 ms 64 bytes from www6.pipni.cz (193.86.238.16): icmp_seq=4 ttl=56 time=4.20 ms 64 bytes from www6.pipni.cz (193.86.238.16): icmp_seq=5 ttl=56 time=4.00 ms --- fedora.cz ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4000ms rtt min/avg/max/mdev = 4.007/4.482/5.876/0.701 ms
ping 193.86.238.16 PING 193.86.238.16 (193.86.238.16) 56(84) bytes of data. 64 bytes from www6.pipni.cz (193.86.238.16): icmp_seq=1 ttl=56 time=5.87 ms 64 bytes from www6.pipni.cz (193.86.238.16): icmp_seq=2 ttl=56 time=4.14 ms 64 bytes from www6.pipni.cz (193.86.238.16): icmp_seq=3 ttl=56 time=4.17 ms 64 bytes from www6.pipni.cz (193.86.238.16): icmp_seq=4 ttl=56 time=4.20 ms 64 bytes from www6.pipni.cz (193.86.238.16): icmp_seq=5 ttl=56 time=4.00 ms --- 193.86.238.16 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4000ms rtt min/avg/max/mdev = 4.007/4.482/5.876/0.701 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.fedora.cz traceroute to www.fedora.cz (193.86.238.16), 30 hops max, 40 byte packets 1 192.168.2.1 (192.168.2.1) 0.472 ms 0.642 ms 1.027 ms 2 gw2.nsnet.cz (217.11.231.174) 19.399 ms 19.438 ms 19.487 ms 3 unassigned-82-208-51-021.casablanca.cz (82.208.51.21) 20.902 ms 21.751 ms 21.844 ms 4 tr-hilly-nadprehradou.casablanca.cz (81.0.222.21) 22.378 ms 22.932 ms 23.377 ms 5 * * * 6 S0-95.cas.ip-anywhere.net (82.208.0.17) 25.333 ms 4.352 ms 4.797 ms 7 nix4.gts.cz (194.50.100.50) 4.934 ms 5.650 ms 5.697 ms 8 hca.gts.cz (195.39.37.6) 6.749 ms * * 9 gw.pipni.cz (193.86.70.226) 7.572 ms * * 10 www6.pipni.cz (193.86.238.16) 5.189 ms 5.688 ms 5.132 ms
traceroute 193.86.238.16 traceroute to 193.86.238.16 (193.86.238.16), 30 hops max, 40 byte packets 1 192.168.2.1 (192.168.2.1) 0.463 ms 0.650 ms 1.839 ms 2 gw2.nsnet.cz (217.11.231.174) 40.908 ms 40.939 ms 40.972 ms 3 unassigned-82-208-51-021.casablanca.cz (82.208.51.21) 43.495 ms 43.544 ms 43.630 ms 4 tr-hilly-nadprehradou.casablanca.cz (81.0.222.21) 44.415 ms 44.578 ms 44.798 ms 5 * * * 6 S0-95.cas.ip-anywhere.net (82.208.0.17) 46.445 ms 4.415 ms 5.701 ms 7 nix4.gts.cz (194.50.100.50) 5.405 ms 6.283 ms 6.331 ms 8 hca.gts.cz (195.39.37.6) 6.567 ms * * 9 gw.pipni.cz (193.86.70.226) 7.537 ms * * 10 www6.pipni.cz (193.86.238.16) 4.274 ms 5.262 ms 4.889 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ů
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.
V Linuxu lze porty otevřít/uzavřít pomocí nabídky Systém → Správa → Firewall.
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.
Poznámka: Pro složitější nastavení je možné použít aplikaci Firestarter.
Procházení okolních počítačů
- Přečtěte si kapitolu 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íť.
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 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….
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 Sdílení adresářů pomocí serveru Samba.
Sdílení připojení k internetu
- Přečtěte si kapitolu 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
yum 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 fedora.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 <adresa rozhraní eth1>
- ping fedora.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í.