Manuální konfigurace sítě by měla být používána pouze jako záložní řešení nebo ve speciálních případech. Jinak je lepší využít YaST. Všechna síťová rozhraní se aktivují skriptem /sbin/ifup. K zastavení slouží skript ifdown. Ke zjištění stavu rozhraní skript ifstatus.
Pokud používáte pouze interní síťové karty, nastavte rozhraní pomocí jmen. Pomocí příkazů ifup eth0, ifstatus eth0 a ifdown eth0 se spouští, zjišťuje stav a zastavuje rozhraní eth0. Příslušné konfigurační soubory jsou uloženy v adresáři /etc/sysconfig/network/ifcfg-eth0. eth0 je jméno rozhraní i jméno konfigurace.
Další možností je konfigurace sítě na základě hardwarové (MAC) adresy síťové karty. V takovém případě použijte konfigurační soubor založený na hardware ve tvaru ifcfg-<hw adresa bez dvojteček>. Hardwarovou adresu zapisujte malými písmeny, tak jak je zobrazena příkazem ip link (ifconfig ji zobrazuje velkými písmeny). Pokud ifup nalezne soubor odpovídající hardwarové adrese, bude ignorovat případnou existenci souboru ifcfg-eth0.
Použití hotplug síťových karet je komplikovanější. Pokud takovou kartu nemáte, pokračujte částí 22.3.1 – „Konfigurační soubory“.
Hotplug síťové karty mají jména rozhraní volena v podstatě náhodně, takže konfigurace těchto karet nemůže být ukládána pod jménem rozhraní. Místo něj je použito jméno obsahující typ hardwaru a způsob připojení. Takové jméno budeme v následujícím textu nazývat popis hardwaru. Skript ifup je nutno spouštět se dvěma argumenty — popisem hardwaru a aktuálním jménem rozhraní. ifup zvolí konfiguraci, která popisu hardwaru nejlépe odpovídá.
Jako příklad použijeme notebook se dvěma PCMCIA sloty a jednou PCMCIA ethernetovou kartou. Navíc je v počítači vestavěná karta konfigurovaná jako eth0. Pokud je síťová karta ve slotu 0, je její hardwarový popis eth-pcmcia-0. Program cardmgr nebo hotplug síťový skript spustí příkaz ifup eth-pcmcia-0 eth1, který se v adresáři /etc/sysconfig/network/ pokusí vyhledat soubor ifcfg-eth-pcmcia-0. Pokud tento soubor neexistuje, hledá postupně soubory ifcfg-eth-pcmcia, ifcfg-pcmcia-0, ifcfg-pcmcia, ifcfg-eth1 a ifcfg-eth. Ke konfiguraci je použit první z těchto souborů, který ifup nalezne. Chcete-li vytvořit konfiguraci sítě platnou pro všechny PCMCIA síťové karty ve všech slotech, pojmenujte konfigurační soubor jako ifcfg-pcmcia. Takto pojmenovaný soubor bude použit jak pro ethernetovou kartu ve slotu 0 (eth-pcmcia-0), tak i pro token ring kartu ve slotu 1 (tr-pcmcia-1).
Konfigurace založená na hardwarové adrese má vyšší prioritu.
YaST zapisuje konfigurace pro všechny hotplug karty do souboru ifcfg-eth-pcmcia-<číslo>. Má-li být tato konfigurace používána pro všechny sloty, je třeba na ni vytvořit odkaz ifcfg-eth-pcmcia. Mějte to na paměti, pokud síť někdy konfigurujete pomocí nástroje YaST a někdy bez něj.
Zde je uveden přehled síťových konfiguračních souborů, jejich formátů a funkcí.
Tyto soubory obsahují data pro jednotlivá síťová rozhraní. Mohou být pojmenovány podle názvu rozhraní (ifcfg-eth2), hardwarové adresy síťové karty ifcfg-000086386be3 nebo podle hardwarového popisu (ifcfg-usb). Pokud budou používány síťové aliasy, nazývají se potřebné soubory ifcfg-eth2:1 nebo ifcfg-usb:1. Skript ifup dostane podle potřeby kromě názvu rozhraní jako argument i hardwarový popis a na jejich základě hledá nejlépe odpovídající konfigurační soubor.
Konfigurační soubory obsahují IP adresu (BOOTPROTO=static, IPADDR=10.10.11.214) nebo instrukci k použití DHCP (BOOTPROTO=dhcp). IP adresa by měla obsahovat síťovou masku (IPADDR=10.10.11.214/16). Úplný výčet proměnných naleznete v manuálové stránce pro ifup. Pokud je chcete použít jen pro jedno rozhraní, lze v souboru ifcfg-* použít i všechny proměnné ze souborů dhcp, wireless a config. Pomocí proměnných POST_UP_SCRIPT a PRE_DOWN_SCRIPT lze po spuštění nebo před zastavením rozhraní spouštět různé skripty.
Soubor config obsahuje obecné nastavení chování skriptů ifup, ifdown a ifstatus. Vše je opatřeno podrobnými komentáři. Stejně tak je komentován soubor dhcp a wireless, kde jsou obecná nastavení pro DHCP a bezdrátové karty. Všechny proměnné z těchto souborů je možné použít také v ifcfg-*, kde mají vyšší prioritu.
V tomto souboru je specifikována doména, do které počítač patří (klíčové slovo search). Je uvedena též adresa nameserveru, ke kterému se má přistupovat (klíčové slovo nameserver). Lze uvést i více domén. Při převodu jména, které není plně kvalifikováno, se k němu postupně připojují jednotlivé položky search. Více nameserverů lze uvést zápisem více řádků začínajících klíčovým slovem nameserver. Komentáře jsou uvozeny znaky #.
# Our domain search example.com # # We use sonne (192.168.0.20) as nameserver nameserver 192.168.0.20
Soubor /etc/resolv.conf si můžete prohlédnout v příkladu výše. YaST do něj vkládá nameserver; některé služby, jako pppd (wvdial), ipppd (isdn), dhcp (dhcpcd a dhclient), pcmcia a hotplug modifikují tento soubor pomocí skriptu modify_resolvconf.
Pokud byl soubor skriptem /etc/resolv.conf dočasně změněn, obsahuje komentář informující o službě, která změnu provedla, místu, kde je uložena záloha původního souboru, a o způsobu vypnutí automatické změny souboru. Pokud je soubor /etc/resolv.conf změněn vícekrát, obsahuje všechny změny ve vnořené podobě. Změny lze korektně vrátit i v jiném pořadí, než byly učiněny. Mezi služby, které toho využívají, patří isdn, pcmcia a hotplug.
Pokud se stane, že je služba ukončena nestandardním způsobem. lze k obnovení původního souboru použít modify_resolvconf. Při startu systému se rovněž kontroluje, zda není přítomen modifikovaný resolv.conf (např. po pádu systému), případně je původní nezměněný soubor resolv.conf obnoven.
YaST pomocí modify_resolvconf kontroluje, zda byl resolv.conf modifikován, a případně varuje uživatele, že případné provedené změny se po obnovení souboru ztratí. Navíc YaST sám modify_resolvconf nepoužívá, což znamená, že změna souboru resolv.conf provedená pomocí YaST má stejnou váhu jako manuální editace. V obou případech je změna trvalá, zatímco změny provedené výše zmíněnými službami jsou pouze dočasné.
V tomto souboru se jménům počítačů přiřazují IP adresy. Pokud se nepoužívá nameserver, musíte zde uvést všechny počítače, na které chcete mít přístup pomocí jména. Každý počítač je na zvláštní řádce, sestávající se postupně z IP adresy, plně kvalifikovaného jména počítače a jména počítače (např. zeme). IP adresa musí být uvedena na začátku řádky, položky musí být odděleny mezerami nebo tabulátory. Komentáře začínají znakem #.
V tomto souboru se nastavuje převod jmen sítí na síťové adresy. Formát je podobný jako u souboru hosts, pouze síťová jména jsou jako první a za nimi následují adresy. Příklad souboru /etc/networks:
loopback 127.0.0.0 localnet 192.168.0.0
Tento soubor kontroluje převod jmen pomocí resolver knihovny. Používá se pouze programy slinkovanými proti libc4 nebo libc5. Novější glibc programy se nastavují v /etc/nsswitch.conf. Každý parametr je uveden na samostatném řádku a komentáře jsou uvozeny znakem #. Přípustné parametry jsou uvedeny v tabulce 22.5 – „Parametry pro /etc/host.conf“ .
Tabulka 22.5. Parametry pro /etc/host.conf
Pomocí GNU C Library 2.0 můžete nyní využívat Name Service Switch (NSS). (Viz man 5 nsswitch.conf a manuál The GNU C Library Reference Manual.)
V souboru /etc/nsswitch.conf je uvedeno pořadí dotazů. Komentáře jsou uvozeny znaky #. V následujícím příkladu uvedená položka hosts znamená že po dotazu na /etc/hosts (files) je proveden dotaz pomocí DNS (viz kapitolu 22.7 – „DNS — Domain Name System“).
passwd: compat group: compat hosts: files dns networks: files dns services: db files protocols: db files netgroup: files automount: files nis
Databáze dosažitelné pomocí NSS jsou uvedeny v tabulce 22.6 – „Databáze dosažitelné pomocí /etc/nsswitch.conf“. V budoucnu se navíc počítá s parametry automount, bootparams, netmasks a publickey. Konfigurační volby pro databáze jsou uvedeny v tabulce 22.7 – „Konfigurační možnosti NSS databází“.
Tabulka 22.6. Databáze dosažitelné pomocí /etc/nsswitch.conf
| aliases | Poštovní aliasy pro sendmail; viz man 5 aliases. |
| ethers | Ethernetové adresy. |
| group | Uživatelské skupiny pro getgrent. Viz man 5 group. |
| hosts | Jména počítačů a IP adresy pro gethostbyname a podobné funkce. |
| netgroup | Platný seznam počítačů a uživatelů v síti pro účely kontroly přístupových práv, viz man 5 netgroup. |
| networks | Jména a adresy sítí pro getnetent. |
| passwd | Uživatelská hesla pro getpwent; viz man 5 passwd. |
| protocols | Síťové protokoly pro getprotoent; viz man 5 protocols. |
| rpc | Jména a adresy Remote procedure call pro getrpcbyname a podobné funkce. |
| services | Síťové služby pro getservent. |
| shadow | Stínová hesla uživatelů pro getspnam; viz man 5 shadow. |
Tabulka 22.7. Konfigurační možnosti NSS databází
| files | Přímý přístup k souborům, například /etc/aliases. |
| db | Přístup přes databázi. |
| nis | NIS, viz kapitolu 22.8 – „NIS — Network Information Service“. |
| nisplus | |
| dns | Lze použít pouze pro hosts a networks. |
| compat | Lze použít pouze pro passwd, shadow a group. |
Pomocí tohoto souboru se konfiguruje program nscd (Name Service Cache Daemon). Viz man 8 nscd a man 5 nscd.conf. Ve výchozím nastavení jsou položky passwd a groups programem nscd ukládány do vyrovnávací paměti. Položka hosts ukládána do vyrovnávací paměti není, protože používaný mechanismus znemožňuje lokálním počítačům odpovědím na dotazy důvěřovat. Místo ukládání do vyrovnávací paměti programem nscd použijte DNS server s ukládáním do vyrovnávací paměti.
Je-li aktivována vyrovnávací paměť (cache) pro passwd, trvá zpravidla 15 sekund, než je systému znám nově založený lokální uživatel. Opětovným spuštěním programu nscd se tato doba čekání dá zkrátit. Slouží k tomu příkaz rcnscd restart.
Kromě výše popsaných konfiguračních souborů existuje řada skriptů, které spouští síťové programy během startu systému. Jsou spuštěny v okamžiku, kdy systém přejde do některé víceuživatelské úrovně běhu (viz tabulka 22.8 – „Některé startovací skripty pro síťové programy“).
Tabulka 22.8. Některé startovací skripty pro síťové programy