|
1.
Moduly
Síťové skripty používané v Gentoo jsou modulární, což znamená, že je
snadné přidávat podporu nových typů rozhraní a zcela nových funkcí za
současného zachování zpětné kompatibility.
Načítání modulů probíhá plně automaticky — pokud je balíček, na kterém
modul závisí, v systému nainstalován, modul se sám aktivuje. Pokud se
pokusíte zavést modul, aniž by byl k dispozici odpovídající balíček,
zobrazí se chybová zpráva, která vám oznámí, co je potřeba doinstalovat. Proto
je v ideálním případě potřeba se moduly zaobírat pouze pokud je
v systému nainstalováno více různých balíčků poskytujících shodné funkce,
a je proto mezi nimi potřeba vybrat ten, který se má použít.
Poznámka:
Pokud nebude řečeno jinak, všechna zde popsaná nastavení patří do souboru
/etc/conf.d/net.
|
Výpis kódu 1.1: Preference modulů |
modules=( "iproute2" )
modules_eth0=( "udhcpc" )
modules=( "!iwconfig" )
|
1.
Ovladače pro základní konfiguraci rozhraní
V současné době nabízíme dva různé moduly pro základní konfiguraci rozhraní
— ifconfig a iproute2. Jeden z nich je potřeba pro jakoukoli
práci se sítí.
ifconfig je výchozí volba a je součástí systémového profilu.
iproute2 podporuje pokročilejší volby, avšak ve výchozí instalaci
není k dispozici.
Výpis kódu 1.1: Instalace iproute2 |
# emerge sys-apps/iproute2
modules=( "iproute2" )
|
Jak ifconfig, tak i iproute2 se používají k podobným úkolům,
a proto je i jejich základní konfigurace stejná. Následující ukázky tedy budou
fungovat, ať už používáte jakýkoli z těchto modulů.
Výpis kódu 1.1: Ukázky ifconfig a iproute2 |
config_eth0=( "192.168.0.2/24" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0" )
config_eth0=( "192.168.0.2/24 brd 192.168.0.255" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" )
|
1.
DHCP
DHCP je způsob pro získání základních informací o síti (jako například IP
adresa, DNS servery či výchozí brána) od DHCP serveru. Pokud vám v síti
běží DHCP server, stačí pouze všechny počítače nastavit tak, aby svoji síťovou
konfiguraci získávali z něj, a síť se nastaví "sama". Pokročilejší volby,
jako například bezdrátové sítě či PPP, však budete muset nakonfigurovat ještě
předtím, než DHCP vstoupí do hry.
Funkcionalita DHCP je poskytována více balíčky — dhclient, dhcpcd,
pump a udhcpc. Každý z nich má své klady a zápory:
| DHCP modul |
balíček |
+ |
- |
| dhclient |
net-misc/dhcp |
Pochází od ISC, tj. od lidí, jež stojí za BIND DNS. Je rovněž velice
konfigurovatelný.
|
Konfigurace je velmi komplexní, software je vcelku nafouklý. Neumí
z DHCP získat adresy NTP serverů a ve výchozím nastavení neposílá jméno
počítače.
|
| dhcpcd |
net-misc/dhcpcd |
dlouhodobá výchozí volba v Gentoo, nezávisí na dalších nástrojích
|
Již není udržovaný původními vývojáři, v některých momentech může být
pomalý. Pokud je doba výpůjčky adresy nekonečná, nepřejde do režimu démona.
|
| pump |
net-misc/pump |
odlehčený nástroj, nezávisí na dalších nástrojích |
Již není udržovaný původními vývojáři, nespolehlivý, zejména přes modemy.
Nepodporuje získání adres NIS serverů.
|
| udhcpc |
net-misc/udhcp |
velmi odlehčený — nejmenší známý DHCP klient, ideální pro embedded systémy
|
není příliš odzkoušený — žádná distribuce ho nepoužívá ve výchozím
nastavení, neumí nastavit timeout na více než 3 sekundy
|
Pokud máte nainstalovaného více než jednoho DHCP klienta, musíte určit, jaký
z nich se má použít, jinak se automaticky vybere dhcpcd.
Pokud potřebujete DHCP modulu předat nějaké parametry, použijte
module_eth0="..." (nahraďte "modul" DHCP modulem, který používáte, tj.
např. dhcpcd_eth0).
Podporované nastavení DHCP je poměrně všeobecné, a proto máte prostřednictvím
proměnné dhcp_eth0 k dispozici tyto příkazy (ve výchozím
nastavení není aktivní žádný z nich):
-
release — uvolní IP adresu k dalšímu použití
-
nodns — nepřepíše /etc/resolv.conf
-
nontp — nepřepíše /etc/ntp.conf
-
nonis — nepřepíše /etc/yp.conf
Výpis kódu 1.1: Ukázkové nastavení DHCP v /etc/conf.d/net |
modules=( "dhcpcd" )
config_eth0=( "dhcp" )
dhcpcd_eth0="-t 10"
dhcp_eth0="release nodns nontp nonis"
|
Poznámka:
dhcpcd, udhcpc a pump posílají ve výchozím nastavení
DHCP serveru jméno počítače, proto ho již není třeba zadávat.
|
1.
ADSL modem
Nejprve je potřeba nainstalovat odpovídající software:
Výpis kódu 1.1: Instalace balíčku rp-pppoe |
# emerge net-dialup/rp-pppoe
|
Varování:
baselayout-1.11.x podporuje pouze PPPoE. PPPoA bude podle předpokladů
zahrnuta do novějších verzí.
|
Dalším krokem je nastavení eth0 jakožto ADSL rozhraní a zadání
uživatelského jména. Nastavujeme v souboru /etc/conf.d/net.
Výpis kódu 1.1: Konfigurace eth0 pro ADSL (/etc/conf.d/net) |
config_eth0=( "adsl" )
adsl_user_eth0="jméno"
|
Nakonec je potřeba zadat uživatelské jméno a heslo v souboru
/etc/ppp/pap-secrets.
Výpis kódu 1.1: Ukázka /etc/ppp/pap-secrets |
"jméno" * "heslo"
|
1.
APIPA (Automatic Private IP Addressing)
APIPA se pokusí získat volnou IP adresu z rozsahu
169.254.0.0-169.254.255.255 zasláním arping dotazu na jednu náhodně vybranou
přes odpovídající rozhraní. Pokud neobdrží žádnou odpověď, předpokládá, že je
zvolená adresa volná, a použije ji.
Tento způsob konfigurace je vhodný pouze pro sítě LAN bez DHCP serveru či
připojení k Internetu, kde navíc všechny počítače používají APIPA.
Pro podporu APIPA musíte nainstalovat net-misc/iputils nebo
net-analyzer/arping.
Výpis kódu 1.1: Konfigurace APIPA — /etc/conf.d/net |
config_eth0=( "dhcp" )
fallback_eth0=( "apipa" )
config_eth0=( "apipa" )
|
1.
Bonding
Pro bonding či trunking nainstalujte net-misc/ifenslave.
Bonding se používá ke zvýšení propustnosti sítě. Pokud máte dvě síťové
karty vedoucí do stejné sítě, můžete je spojit do jednoho, takže aplikace si
s existencí více fyzických rozhraní nemusí lámat hlavu.
Výpis kódu 1.1: Bonding — /etc/conf.d/net |
slaves_bond0="eth0 eth1 eth2"
config_bond0=( "null" )
depend_bond0() {
need net.eth0 net.eth1 net.eth2
}
|
1.
Bridging (podpora 802.1d)
Pro podporu funkce bridge nainstalujte net-misc/bridge-utils.
Bridging se používá pro spojení více sítí dohromady. Například pokud máte
server připojený do Internetu přes ADSL modem a bezdrátovou síťovou kartu,
můžete je přes bridge spojit dohromady.
Výpis kódu 1.1: Konfigurace bridge — /etc/conf.d/net |
brctl_br0=( "setfd 0" "sethello 0" "stp off" )
bridge_br0="eth0 eth1"
config_eth0=( "null" )
config_eth1=( "null" )
config_br0=( "192.168.0.1/24" )
depend_br0() {
need net.eth0 net.eth1
}
|
Důležité:
Pro některá nastavení může být důležité se seznámit s (dokumentací jmen proměnných).
|
1.
MAC adresy
Pokud používáte sys-apps/baselayout-1.11.14 nebo novější a pokoušíte se
změnit MAC adresu na konkrétní hodnotu, není nutné cokoliv instalovat. Pokud
však požadujete komplexnější změny nebo používáte baselayout starší, budete
muset nainstalovat balíček net-analyzer/macchanger.
Výpis kódu 1.1: Ukázka změny MAC adresy |
mac_eth0="00:11:22:33:44:55"
mac_eth0="random-ending"
mac_eth0="random-samekind"
mac_eth0="random-anykind"
mac_eth0="random-full"
|
1.
Tunely
Není potřeba nic instalovat, init skripty se o vše potřebné postarají samy.
Výpis kódu 1.1: Konfigurace tunelů v /etc/conf.d/net |
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"
config_vpn0=( "192.168.0.2 peer 192.168.1.1" )
|
1.
VLAN (podpora 802.1q)
Pro podporu VLAN si nainstalujte net-misc/vconfig.
Virtual LAN je skupina síťových rozhraní, která se chovají, jako by byly
připojeny do jednoho segmentu sítě, i když ve skutečnosti nejsou. Členové
skupiny VLAN nevidí jiná rozhraní, i když jsou fyzicky umístěna na stejném
segmentu sítě.
Výpis kódu 1.1: VLAN — /etc/conf.d/net |
vlans_eth0="1 2"
vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" )
config_vlan1=( "172.16.3.1 netmask 255.255.254.0" )
config_vlan2=( "172.16.2.1 netmask 255.255.254.0" )
|
Důležité:
Pro některá nastavení může být důležité se seznámit s (dokumentací jmen proměnných).
|
|