Obsah

Hlavní stránka

Fedora v počítačové síti

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í.

 Nastavení sítě

Restartování síťových služeb

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: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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 iproute (kam patří program ip).

ifconfig

Výstupem tohoto příkazu by mělo být

em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  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<global>
      inet6 fe80::223:7dff:fec3:ca2c  prefixlen 64  scopeid 0x20<link>
      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<UP,LOOPBACK,RUNNING>  mtu 65536
      inet 127.0.0.1  netmask 255.0.0.0
      inet6 ::1  prefixlen 128  scopeid 0x10<host>
      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.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.

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ří Firestarter.

 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 článku na fedora.cz.

 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 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ř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íť.

 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ř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….

 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 Sdílení adresářů pomocí serveru Samba.

Sdílení připojení k internetu

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

  1. ping 192.168.10.1
  2. ping <adresa rozhraní eth1>
  3. 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í.


Hlavní stránka