Již pár let používám výhradně Mandriva Linux a dost jsem si zvykl na její konfigurační nástroje všeho druhu. Pokud ji používáte jako pracovní stanici, tak klidně můžete zapomenout na nastavování pomocí editace konfiguračních souborů. Je to značně pohodlné a nemusíte se nic učit o systému. Používám ji i jako server. Veškerou konfiguraci provedu již při instalaci pomocí podobných nástrojů, jako je tomu na desktopu a pokud nastane nějaká změna konfigurace, stačí přes SSH spustit nástroj drakconf a spustí se nástroj, který se ovládá velmi podobně jako v grafickém prostředí.
Problém však nastane, pokud potřebujete nakonfigurovat něco specializovaného. Něco na co nejsou tyto nástroje připraveny. Ony nástroje totiž ukládají nastavení uplně do jiných souborů, než je tomu u jiných distribucích a ty standardní při startu systému automaticky přepisují. V mém případě vyvstala potřeba zprovoznit na jednom stroji síťový bridge. Nejdříve jsem ho zkoušel postavit pomocí shorewallu, ale bylo to příliš složité a nedokázal jsem ho zprovoznit dle mích představ. Pak jsem objevil způsob, jak velmi jednoduše postavit bridge pomocí nástroje brctl. Pro jeho zprovoznění bylo nutné zakompilovat modul do jádra. To se mi ale nechtělo a tak jsem sáhl po mém oblíbeném urpmf a nalezl bridge-utils, který brctl obsahuje. Stačilo tedy jen
urpmi bridge-utils
a měl jsem vyhráno.
Pak jen stačilo napsat 4 příkazy a bylo hotovo.
brctl addbr bridge1
brctl addif bridge1 eth0
brctl addif bridge1 eth1
ifconfig bridge1 up
Aby to celé splňovalo moje požadavky, musel jsem to celé rozšířit o několik dalších příkazů
ifconfig eth0 0.0.0.0 up
ifconfig eth1 0.0.0.0 up
brctl addbr bridge0
brctl addif bridge0 eth0
brctl addif bridge0 eth1
ifconfig bridge0 [IP adresa bridge] netmask [maska]
ifconfig bridge0 up
route add default gw [brána]
Problém ale nastal, jak nastavit DNS servery. Pokud je nastavím pomocí drakconf, při restartu se nic nenastaví, jelikož v době kdy se systém snaží přiřazovat IP adresy, bridge ještě neexistuje. První tedy bylo, že jsem sáhl do souboru /etc/resolv.conf. Tam jsem ale nalezl větu: DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
Začal jsem tedy pátrat a narazil na /var/run/resolvconf/interface/, kde jsou DNS záznamy pro jednotlivé interface. Jak jsem ale pochopil, funguje to pouze v kombinaci s drakconf. Pak jsem ale narazil na /etc/resolvconf/resolv.conf.d/base. Napsal jsem tedy do něj:
nameserver [IP adresa DNS1]
nameserver [IP adresa DNS2]
nameserver [IP adresa DNS3]
Po restartu se vše zapsalo do souboru /etc/resolv.conf a již se vše překládalo. Jak si po bližším zkoumání můžete všimnout , tak Mandriva dělá jen to, že vezme obsah souboru /etc/resolvconf/resolv.conf.d/base a vloží ho do /etc/resolv.conf. Takže pokud si napíšete do base „ahoj jak je“, objeví se to také v resolv.conf.