Tento příspěvek je na doplnění prvního výborného návodu Lukáše Svobody. Je vytvořen na základě zkušeností a opakovaných dotazů na fóru, zejména s důrazem na nastavení routovací tabulky.
Znaky "<>" jsou uvozeny příkazy, když budete některé zde popsané příkazy používat, tyto znaky tam nepište !
*--------------------------------------------------------------------------------------
Pro dobrou funkci sítí a routování - předáváni paketů na Linux PC jsou potřebné tři předpoklady
1. Nastavení IP adres.
2. Nastavení default route.
3. Zapnutí, či spuštění předávání paketů.
1. Nastavení IP adres je dobře popsáno v příspěvku #1. Jen krátce doplním.
Pokud na jsou na PC zároveň windows a v nich je síť funkční, je možné zjistit tyto údaje z windows.
Zjistit se dají jednak přes GUI na kartě "
Okolní počítače", nebo v příkazovém řádku příkazem <
ipconfig /all>
Tyto hodnoty vložíte na příslušná místa v Linuxu buď v grafickém nastavení sítě, nebo v příkazovém řádku
2. Nastavení default route
Proč je routovací tabulka důležitá je stručně popsáno v
http://forum.ubuntu.cz/index.php?topic=14521.msg104719;topicseen#msg104719Nastavení default route přiblíženo znamená "
Cesta pro odeslání všech paketů, které sem nepatří"
Routovací tabulka v jádře Linuxu se ovládá příkazem <
route>. Její změnu ale může provést také nějaký network manager, tak i skript, který spouští síť.
Je možné např. nastavit default route přidáním řádku: <
gateway 10.20.30.1> do souboru "
/etc/network/interfaces" do sekce odpovídajícího rozhraní.
Pak se při startu sítě nastaví v routovací tabulce hodnota default route na stroj s IP 10.20.30.1. Tento způsob se využije při ručním nastavování parametrů rozhraní.
Obsah směrovací tabulky vypíšeme v terminálu příkazem <
sudo route>.
Příklad nastavení routování jednoduché sítě s bránou do internetu popsané v #1.
IP adresa tohoto PC je 192.168.1.2 a je zde jedno rozhraní
Směrovací tabulka na tomto PC s jedním rozhraním (jednou síťovou kartou) vypadá takto:
Směrovací tabulka v jádru pro IP
Adresát Brána Maska Přízn Metrik Odkaz Užt Rozhraní
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
*----------------------------------------------------------------------------
Na prvním řádku je směr na síť. Určuje, přes které rozhraní mají jít pakety určené do sítě, ve které je PC adresováno - 192.168.1.0. Pakety pro všechny počítače v síti 192.168.1.0, to je 192.168.1.1 až 192.168.1.254 jsou poslány přes rozhraní eth0. (Přes jiné to nejde, je tu jen jedno).
Na druhém řádku je defaultní směr, to je IP adresa PC přes který se pošlou pakety do
všech jiných sítí. Překvapivě je to taky přes rozhraní eth0, protože toto je stroj jen s jednou síťovou kartou a jinam to poslat nejde. Celek je ovšem v pořádku, protože jak toto PC, tak i gateway jsou na stejné síti, tedy jednotlivá PC "
na sebe vidí".
Další příklad ukazuje routovací tabulku na bráně - gatewayi.
IP adresy tohoto PC jsou dvě: eth1 je vnější internetové rozhraní, IP AAA.BBB.CCC.DDD, maska 255.255.255.0
eth0 je vnitřní síť, IP 192.168.1.1, maska 255.255.255.0
Jedná se o gateway z vnitřní sítě do internetu. Je zde prováděno předávání paketů mezi oběma sítěmi (viz obrázek v #1).
Směrovací tabulka v jádru pro IP
Adresát Brána Maska Přízn Metrik Odkaz Užt Rozhraní
AAA.BBB.CCC.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 AAA.BBB.CCC.1 0.0.0.0 UG 0 0 0 eth1
*----------------------------------------------------------------------------
Trošičku nám přituhlo, ale pustíme se do toho.
Na 1. řádku je směr do sítě AAA.BBB.CCC.0, přes rozhraní eth1.
Na 2. řádku je směr do vnitřní sítě 192.168.1.0, přes rozhraní eth0.
Na 3. řádku je
defaultní směr - je uvedena IP adresa PC na které mají být pakety adresovány a rozhraní přes které mají být poslány. (PC s adresou AAA.BBB.CCC.1 na obrázku není vidět, je "schované" někde v bublině s nápisem internet).
Funguje to takto. Ze stanice je odeslán paket do internetu (www.....). Z routovací tabulky systém zjistí, že paket nemá adresu lokální sítě a pošle jej přes rozhraní eth0 na PC s adresou default gatewaye, tedy 192.168.1.1.
Gateway paket převezme a zjistí opět že nemá jinou cestu kam jej poslat, než na svůj default GW, to je na další "hop" v internetu. Ale ještě před tím, než jej odešle, si jej zaznamená, aby při odpovědi věděl, kam ji má poslat (masquerading).
Příkazem <
route> s parametry můžeme routovací tabulku "ručně" změnit. Je ale nutné tak činit s rozmyslem. Routovací tabulka se nedá nastavit do nějakých default hodnot. Dá se upravit, nebo vymazat.
Vypíšeme tu pouze nastavení defaultního směru, který může být z nějakých příčin špatně.
nejprve defaultní směr smažeme (ono jich tam může být více a to způsobí problémy).
<
sudo route del default>
A nastavíme správný směr:
<
sudo route add default gw EEE.FFF.GGG.HHH>
Za písmena doadíme hodnotu "v
ýchozí brány" zjištěné potupně ve windows, nebo v informacích od providera.
A to je vše ...
Zapomněli jsme na bod 3., zapnout předávání paketů. To obvykle zajistí nějaký firewall, LS to ve svém příspěvku předpokládá a nepopisuje. Ručně se to dá způsobit příkazem <
sudo echo 1 > /proc/sys/net/ipv4/ip_forward>. (Ta šipka doprava tam patří) V podstatě zapsat do souboru "
/proc/sys/net/ipv4/ip_forward" jedničku. Má smysl ale pouze na strojích se dvěma rozhraními, které mají routovat, jinak je nepotřebné.
V tomto okamžiku máte dostatek informací ke konfiguraci jak jednotlivého PC, tak i domácí sítě. Jednotlivé příkazy a konfiguraci rozhraní neuvádím, jsou stokrát popsány zde na fóru.
Happy networKING