Manuální konfigurace sítě by měla být používána pouze jako nouzové řešení nebo ve speciálních případech. Jinak je lepší využít YaST. Zde uvedené informace o konfiguraci sítě ale mohou být užitečné i při práci s YaSTem.
Všechny vestavěné i hotplug (PCMCIA, USB, některé PCI) síťové karty jsou detekovány a konfigurovány pomocí hotplug systému. Systém chápe síťovou kartu dvěma různými způsoby: jako fyzické zařízení a jako rozhraní. Připojení nebo rozpoznání zařízení spustí hotplug událost, která zahájí inicializaci zařízení pomocí skriptu hwup. Pokud je síťová karta inicializována jako nové síťové rozhraní, jádro vyvolá další hotplug událost, která pomocí ifup rozhraní nastaví.
Jádro přiděluje jména rozhraní podle časového pořadí jejich registrace. O přidělených jménech rozhoduje inicializační sekvence. Když jedna z několika síťových karet selže, čísla všech následujících karet se posunou. V případě skutečných hotplug karet (připojitelných za běhu systému) rozhoduje okamžik (pořadí) připojení k systému.
Pro zvýšení flexibility byla oddělena konfigurace zařízení (hardware)
a rozhraní; a přiřazování konfigurací k zařízením a rozhraním již
není založeno na jménech rozhraní. Konfigurace zařízení jsou uložené
v souborech /etc/sysconfig/hardware/hwcfg-*, zatímco
v souborech /etc/sysconfig/network/ifcfg-* jsou
uložené konfigurace rozhraní. Jména konfigurací jsou přiřazována tak,
že popisují zařízení a rozhraní, s nimiž jsou spojeny. Protože dříve
používané přiřazování ovladačů ke jménům rozhraní vyžadovalo stálá jména
rozhraní, nelze přiřazování jmen nadále provádět v souboru
/etc/modprobe.conf. Uvedení aliasu v tomto souboru
může nyní mít nepříjemné vedlejší účinky.
Jména konfiguračních souborů (vše, co následuje po
hwcfg- či ifcfg-) mohou na
jednotlivá zařízení odkazovat pomocí použité sběrnice, ID zařízení
nebo jména rozhraní. Například konfigurace PCI karty může být
bus-pci-0000:02:01.0 (sběrnice PCI) nebo
vpid-0x8086-0x1014-0x0549 (identifikační číslo
produktu). Jméno příslušného rozhraní může být
bus-pci-0000:02:01.0 nebo
wlan-id-00:05:4e:42:31:7a (MAC adresa).
Chcete-li přiřadit konfiguraci libovolné kartě určitého typu
(pokud je v tu chvíli připojena jen jedna karta tohoto typu),
místo konkrétní kartě, zvolte méně specifické jméno konfigurace.
Například, konfigurace se jménem bus-pcmcia
bude použita libovolnou PCMCIA kartou. Chcete-li rozsah použití
omezit, přidejte na začátek jména typ rozhraní, např.
wlan-bus-usb bude přiřazeno všem WLAN kartám
na USB portu.
Systém vždy použije tu konfiguraci, která zařízení nebo rozhraní nejlépe popisuje. Nejvhodnější konfiguraci vyhledává program getcfg. Výstup programu obsahuje veškeré informace použitelné pro popis zařízení. Podrobnosti o pravidlech tvorby jmen konfigurací naleznete v manuálové stránce getcfg.
Vzhledem k popsané metodě jsou síťová rozhraní vždy správně nakonfigurována bez ohledu na pořadí inicializace. Nicméně jméno rozhraní na pořadí inicializace stále závisí. Jsou dva způsoby, jak zajistit spolehlivý přístup k rozhraní určité síťové karty:
getcfg-interface vrací jméno rozhraní
asociovaného s danou konfigurací. V některých konfiguračních souborech
tak lze místo nestálého jména rozhraní použít jméno konfigurace (např.
firewall, dhcpd, směrování nebo různá virtuální síťová rozhraní, tunely).
jméno
konfigurace
Rozhraním, jejichž konfigurace jméno rozhraní neobsahuje, můžete trvalé
jméno přiřadit pomocí perzistentního (trvalého) jména v /etc/udev/rules.d/30-net_persistent_names.rules.
Trvalá jména (pname) by ovšem neměla být stejná, jako jména
automaticky přidělovaná jádrem. Proto nejsou povolena jména jako
eth*,
tr*,wlan* atd.
Místo nich používejte net* nebo popisná jména jako
vnejsi, vnitrni či
dmz. Trvalá jména je možné přiřadit rozhraní pouze
vzápětí po jeho registraci, což znamená, že je nutné znovu zavést
ovladač síťové karty nebo spustit příkaz
hwup popis_zarizeni.
Příkaz rcnetwork restart není
v tomto případě dostatečný.
![]() | Použití trvalých jmen rozhraní |
|---|---|
Použití trvalých jmen zatím nebylo důkladně otestováno. Proto se může stát, že některé aplikace nebudou schopny s volně vybranými jmény rozhraní zacházet. Pokud na podobný problém narazíte, dejte nám vědět na adrese http://www.suse.de/feedback. Pokud upřednostňujete komunikaci v českém jazyce, napište nám na adresu feedback@suse.cz | |
ifup vyžaduje existenci rozhraní, protože
neinicializuje hardware. Inicializaci hardwaru má na starost příkaz
hwup (spouštěný pomocí hotplug
nebo coldplug). Jakmile je zařízení inicializováno,
je pomocí hotplug automaticky spuštěn
ifup. Rozhraní je spuštěno, pokud je startovací režim
nastaven na onboot, hotplug nebo
auto a služba network je spuštěna.
Dříve inicializaci hardwaru spouštěl příkaz
ifup jmeno_zarizeni.
Nyní je postup opačný. Nejprve je inicializována hardwarová komponenta,
pak následují ostatní akce. Tímto způsobem lze pomocí existující sady
konfigurací optimálně nakonfigurovat měnící se množství zařízení.
Tabulka 18.5 – „Skripty pro manuální síťovou konfiguraci“ shrnuje nejdůležitější skripty účastnící se síťové konfigurace. Tam kde je to možné, jsou rozlišeny podle toho, zda se týkají hardwaru nebo rozhraní:
Tabulka 18.5. Skripty pro manuální síťovou konfiguraci
Fáze konfigurace | Příkaz | Funkce |
|---|---|---|
Hardware | hw{up,down,status} |
Skripty |
Rozhraní | getcfg | Skript getcfg lze použít ke zjištění jména rozhraní asociovaného s určitým jménem konfigurace nebo popisem zařízení. Více informací naleznete v manuálové stránce getcfg. |
Rozhraní | if{up,down,status} |
Skripty |
Další informace o systému hotplug a trvalých jménech rozhraní naleznete v kapitole 12 – „Dynamické uzly zařízení pomocí udev“.
Zde je uveden přehled síťových konfiguračních souborů, jejich formátů a funkcí.
Tyto soubory obsahují hardwarovou konfiguraci síťových karet a dalších
zařízení. Obsahují potřebné parametry, jako je jaderný modul, režim
spouštění a asociace se skripty. Více informací najdete v manuálové
stránce hwup. Bez ohledu na existující hardware jsou
při spuštění coldplug aplikovány konfigurační soubory
hwcfg-static-*.
Tyto soubory obsahují data pro jednotlivá síťová rozhraní. Obsahují
např. režim spouštění a IP adresu. Možné parametry jsou popsány
v manuálové stránce ifup). Navíc lze, pokud chcete
obecné nastavení použít jen pro jedno rozhraní, používat v
ifcfg-* souborech všechny proměnné ze souborů
dhcp, wireless,
a config.
Soubor config obsahuje obecné nastavení chování
skriptů ifup, ifdown a
ifstatus. Soubor dhcp obsahuje
nastavení pro DHCP. Soubor wireless obsahuje
nastavení pro bezdrátové síťové karty. Proměnné v těchto souborech jsou
dobře okomentovány. Všechny proměnné z těchto souborů je možné použít
také v ifcfg-*, kde mají vyšší prioritu.
Zde je nastaveno statické směrování TCP/IP paketů. Všechny statické
směrovací záznamy vyžadované různými systémovými úlohami lze nastavit
v souboru /etc/sysconfig/network/routes: pro
směrování k počítači, skrze bránu nebo k síti. Pro všechna rozhraní,
která potřebují individuální směrování, je možné vytvářet samostatné
konfigurační soubory /etc/sysconfig/network/ifroute-*
(hvězdičku nahraďte názvem rozhraní). Záznamy ve směrovacích
konfiguračních souborech vypadají následovně:
# Destination Dummy/Gateway Netmask Device # 127.0.0.0 0.0.0.0 255.255.255.0 lo 204.127.235.0 0.0.0.0 255.255.255.0 eth0 default 204.127.235.41 0.0.0.0 eth0 207.68.156.51 207.68.145.45 255.255.255.255 eth1 192.168.0.0 207.68.156.51 255.255.0.0 eth1
V prvním sloupci (DESTINATION) je uveden cíl směrovacího záznamu. Může zde být IP adresa sítě nebo počítače. Pokud je dostupný nameserver, pak také celý název sítě nebo počítače.
Druhý sloupec (GATEWAY) slouží pro uvedení výchozí brány nebo brány, skrze kterou se přistupuje k počítači, resp. síti.
Ve třetím sloupci se uvádějí
síťové masky pro sítě nebo počítače za bránou, např.
255.255.255.255.
Čtvrtý sloupec má smysl pro sítě připojené k lokálnímu počítači, jako např. loopback, ethernet, ISDN, PPP či dummy zařízení. Musí v něm být zapsáno jméno zařízení.
Páty (volitelný) sloupec lze použít k zadání typu směrování. Aby se předešlo případným chybám parseru, nevyplněné sloupce, které není třeba zadávat, by měly obsahovat znaménko mínus -Podrobnosti naleznete v manuálové stránce routes(5).
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
#. YaST zapisuje nastavení nameserveru do tohoto
souboru. 18.5 – „/etc/resolv.conf“ ukazuje příklad
skutečného souboru /etc/resolv.conf.
Příklad 18.5. /etc/resolv.conf
# Our domain search example.com # # We use sun (192.168.0.20) as nameserver nameserver 192.168.0.20
Některé služby, jako pppd (wvdial), ipppd (isdn),
dhcp (dhcpcd a dhclient), pcmcia a hotplug, modifikují soubor
/etc/resolv.conf 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, jakým můžete
zamezit automatickým změnám 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 se provedené změny 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 (viz 18.6 – „/etc/hosts“) 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í postupně z IP adresy,
plně kvalifikovaného jména počítače a jména počítače. 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 první a za nimi následují adresy. Viz
18.7 – „/etc/networks“.
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 souboru
/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
18.6 – „Parametry pro /etc/host.conf“.
Ukázku souboru /etc/host.conf si můžete prohlédnout
v příkladu18.8 – „
/etc/host.conf
“.
Tabulka 18.6. Parametry pro /etc/host.conf
|
Stanoví, v jakém pořadí se volají služby pro převod jména počítače na IP adresu. Možné argumenty jsou (odděleny mezerami nebo čárkami): | |
|
hosts:
prohledávat soubor | |
|
bind: použít nameserver | |
|
nis: použít NIS | |
|
Stanoví, zda počítač, uvedený v | |
|
Tyto parametry mají vliv pouze na spoofing nameserveru. | |
|
Zadané jméno domény se při převodu oddělí od jména počítače
(pokud ovšem jméno počítače obsahovalo doménu). Tato volba se
hodí, pokud jsou v souboru |
S GNU C Library 2.0 můžete nyní využívat tzv. 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ů. Soubor nsswitch.conf si můžete
prohlédnout v příkladu 18.9 – „/etc/nsswitch.conf“.
Komentáře jsou uvozeny znaky #.
V tomto příkladu uvedená položka hosts znamená,
že po dotazu na /etc/hosts (files)
je proveden dotaz pomocí DNS (viz kapitolu 20 – „DNS — Domain Name System“).
Příklad 18.9. /etc/nsswitch.conf
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
18.7 – „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 18.8 – „Konfigurační možnosti NSS databází“.
Tabulka 18.7. Databáze dosažitelné pomocí /etc/nsswitch.conf
|
|
Poštovní aliasy pro |
|
|
Ethernetové adresy. |
|
|
Uživatelské skupiny pro |
|
|
Jména počítačů a IP adresy pro |
|
|
Platný seznam počítačů a uživatelů v síti pro účely
kontroly přístupových práv, viz manuálová stránka
|
|
|
Jména a adresy sítí pro |
|
|
Uživatelská hesla pro |
|
|
Síťové protokoly pro |
|
|
Jména a adresy Remote procedure call
pro |
|
|
Síťové služby pro |
|
|
Stínová hesla uživatelů pro |
Tabulka 18.8. Konfigurační možnosti NSS databází
|
|
Přímý přístup k souborům, například
|
|
|
Přístup přes databázi. |
|
|
NIS, viz kapitola 21 – „NIS — Network Information Service“. |
|
|
Lze použít pouze jako rozšíření |
|
|
Lze použít pouze jako rozšíření |
Pomocí tohoto souboru se konfiguruje program nscd (Name Service Cache
Daemon), viz manuálové stránky nscd (8) a
nscd.conf (5).
Ve výchozím nastavení jsou položky passwd a
groups
programem nscd ukládány do vyrovnávací paměti. Je to důležité pro výkon
adresářových služeb jako je NIS nebo LDAP, protože jinak by bylo nutné
používat síťové spojení pro každý přístup ke jménům nebo skupinám.
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 18.9 – „Některé startovací skripty pro síťové programy“).
Tabulka 18.9. Některé startovací skripty pro síťové programy
|
Tento skript se stará o konfiguraci síťových rozhraní. Hardware musí být inicializováno předem pomocí /etc/init.d/coldplug (přes hotplug). Pokud nebyla spuštěna služba network, nejsou implementována žádná síťová rozhraní. | |
|
Spouští program xinetd. xinetd umožňuje na systému používat serverové služby. Například spouští vsftpd při každé inicializaci FTP spojení. | |
|
Spouští portmapper potřebný pro RPC server, např. NFS. | |
Spouští NFS server. | |
|
Řídí proces sendmail. | |
|
Spouští NIS server. | |
|
Spouští klienta NIS. |