Gentoo Logo

1.  Module de Reţea

Acum suportăm script-uri de reţea modulare, ceea ce înseamnă că puteţi adăuga cu uşurinţă suport pentru tipuri noi de interfeţe şi module de configurare păstrând compatibilitatea cu cele existente.

Modulele se încarcă implicit în cazul în care pachetul necesar pentru acestea este instalat. Dacă specificaţi un modul aici ce nu are pachetul corespondent instalat, atunci veţi primi o eroare ce va indica numele pachetului ce trebuie instalat. În mod ideal, puteţi utiliza setările modulelor deja prezente atunci când aveţi unul sau mai multe pachete ce oferă acelaşi serviciu şi îl preferaţi pe unul dintre acestea relativ la celălalt.

Notă: Toate setările discutate aici sunt prezente în fişierul /etc/conf.d/net, în cazul în care nu este specificat altfel.

Cod 1.1: Preferenţa modulelor

# Preferaţi iproute2 în locul ifconfig
modules=( "iproute2" )

# Puteţi, de asemenea, să specificaţi şi alte module pentru
# o interfaţă. În acest caz preferăm udhcpc în locul dhcpcd
modules_eth0=( "udhcpc" )

# Puteţi, de asemenea, să specificaţi ce module să nu fie utilizate - spre exemplu
# aţi putea utiliza un o aplicaţie supplicant sau linux-wlan-ng pentru a controla
# configuraţia wireless, dar totuşi doriţi să configuraţi setările de reţea pentru
fiecare ESSID asociat.
modules=( "!iwconfig" )

1.  Aplicaţii pentru manipularea interfeţelor

Oferim două aplicaţii pentru a manipula interfeţele, şi anume: ifconfig şi iproute2. Aveţi nevoie de unul dintre acestea pentru a efectua orice tip de configurare de reţea.

ifconfig este, momentan, implicit în Gentoo şi este inclus în profilul de sistem. iproute2 este un pachet mult mai puternic şi flexibil, dar nu este inclus implicit.

Cod 1.1: Pentru a instala iproute2

# emerge sys-apps/iproute2

# Pentru a prefera iproute2 în locul ifconfig, în cazul în care ambele sunt instalate
modules=( "iproute2" )

Deoarece, atât ifconfig cât şi iproute2 efectuează acţiuni similare, noi permitem o configurare de bază pentru a funcţiona cu fiecare. Spre exemplu, ambele exemple de cod de mai jos funcţionează, indiferent de modulul utilizat.

Cod 1.1: exemple ifconfig şi iproute2

config_eth0=( "192.168.0.2/24" )
config_eth0=( "192.168.0.2 netmask 255.255.255.0" )

# Putem specifica, de asemenea, şi adresa de difuzare
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 este utilizat la obţinerea informaţiilor de reţea (adresă IP, server-e DNS, Gateway, etc) de la un server DHCP. Aceasta înseamnă că, dacă există un server DHCP ce rulează în reţeaua dvs., trebuie doar să-i specificaţi fiecărui client să utilizeze DHCP iar acesta setează reţeaua singur. Bineînţeles, va trebui să configuraţi alte opţiuni, cum ar fi cele de wireless, PPP şi altele, dacă este necesar, înainte de a putea utiliza DHCP.

DHCP poate fi oferit de dhclient, dhcpcd, pump sau udhcpc. Fiecare modul DHCP are argumentele sale pro şi contra - iată un sumar.

Modul DHCP Pachet Pro Contra
dhclient net-misc/dhcp Dezvoltat de ISC, aceiaşi oameni care dezvoltă BIND DNS. Foarte configurabil Configurarea este foarte complexă, aplicaţia este oarecum mare, nu poate transfera server-ele NTP de la DHCP, nu trimite nici un nume de gazdă implicit
dhcpcd net-misc/dhcpcd De mult timp, implicit în Gentoo, nu se bazează pe utilitare externe Nu mai este menţinut de dezvoltatori, poate fi încet ca timpi, nu devine daemon când timpul de asociere este infinit
pump net-misc/pump Foarte simplu, nu se bazează pe utilitare externe Nu mai este menţinut de dezvoltatori, nu este de încredere, în special pentru dispozitive modem, nu poate prelua server-e NIS de la DHCP
udhcpc net-misc/udhcp Foarte simplu - cel mai mic client DHCP cunoscut, dezvoltat pentru sisteme integrate Nu este verificat - nici o distribuţie nu îl utilizează implicit, nu se poate defini un timp peste 3 secunde

Dacă aveţi mai mult de un client DHCP instalat, trebuie să specificaţi pe care să-l utilizaţi - altfel utilizăm implicit dhcpcd, dacă este disponibil.

Pentru a transmite opţiuni specifice modulului dhcp, utilizaţi modul_eth0="..." (modificaţi modulul cu numele clientului DHCP pe care îl utilizaţi - spre ex. dhcpcd_eth0)

Încercăm să facem DHCP relativ agnostic - astfel, suportăm următoarele comenzi utilizând variabila dhcp_eth0. Implicit nu este setată nici una dintre opţiuni

  • release - eliberează adresa IP pentru re-utilizare
  • nodns - nu suprascrie /etc/resolv.conf
  • nontp - nu suprascrie /etc/ntp.conf
  • nonis - nu suprascrie /etc/yp.conf

Cod 1.1: Exemplu de configurare DHCP din /etc/conf.d/net

# Necesar doar când aveţi mai mult de un client DHCP instalat
modules=( "dhcpcd" )

config_eth0=( "dhcp" )
dhcpcd_eth0="-t 10" # Expirarea timpului după 10 secunde
dhcp_eth0="release nodns nontp nonis" # Preluăm doar o adresă

Notă: dhcpcd, udhcpc şi pump trimit numele de gazdă curent server-ului de DHCP implicit, deci nu trebuie să-l mai specificaţi.

1.  Dispozitiv modem ADSL

Mai întâi trebuie să instală aplicaţia ADSL.

Cod 1.1: Instalarea pachetului rp-pppoe

# emerge net-dialup/rp-pppoe

Atenţie: baselayout-1.11.x suportă doar PPPOE. Sperăm că următoarele versiuni vor suporta PPPOA.

Acum, trebuie să configurăm eth0 să fie o interfaţă ADSL şi să introducem numele nostru de utilizator, prin actualizarea /etc/conf.d/net.

Cod 1.1: Configurarea eth0 pentru ADSL în /etc/conf.d/net

config_eth0=( "adsl" )
adsl_user_eth0="nume_utilizator"

La final, trebuie să definiţi numele dvs. de utilizator şi parola în /etc/ppp/pap-secrets.

Cod 1.1: exemplu de fişier /etc/ppp/pap-secrets

# Caracterul * este important
"username"  *  "password"

1.  APIPA (Automatic Private IP Addressing - Adresare Automată de Adrese IP Private)

APIPA încearcă să găsească o adresă liberă în intervalul 169.254.0.0-169.254.255.255 prin emiterea de semnale arping către adrese aleatoare din acel interval pentru interfaţă. Dacă nu este primit nici un răspuns, atunci asociem acea adresă interfeţei.

Aceasta este folositor doar pentru reţelele LAN ce nu conţin nici un server DHCP şi nu vă conectaţi direct la internet, iar celelalte sisteme utilizează APIPA.

Pentru suportul APIPA, instalaţi net-misc/iputils sau net-analyzer/arping.

Cod 1.1: Configurarea APIPA din /etc/conf.d/net

# Încercaţi mai întâi DHCP - dacă aceasta returnează eroare, se trece la APIPA
config_eth0=( "dhcp" )
fallback_eth0=( "apipa" )

# Utilizăm doar APIPA
config_eth0=( "apipa" )

1.  Legarea prin Bonding

Pentru legarea conexiunilor instalaţi net-misc/ifenslave.

Bonding este utilizat pentru a mări banda de reţea. Dacă aveţi două plăci ce servesc aceeaşi reţea, le puteţi lega împreună, astfel ca aplicaţiile dvs. să le considere ca fiind doar o singură interfaţă, dar în realitate să le utilizeze pe amândouă.

Cod 1.1: configurarea legării prin bonding în /etc/conf.d/net

# Pentru a lega interfeţele împreună
slaves_bond0="eth0 eth1 eth2"

# Puteţi alege să nu asociaţi o adresă IP interfeţei rezultate prin legare
config_bond0=( "null" )

# Dependenţă pentru eth0, eth1 şi eth2, deoarece pot necesita configurare suplimentară
depend_bond0() {
  need net.eth0 net.eth1 net.eth2
}

1.  Interconectarea prin Bridge (suport 802.1d)

Pentru suportul interconectării prin bridge, instalaţi net-misc/bridge-utils.

Interconectarea prin bridge este utilizată pentru a uni două reţele. Spre exemplu, este posibil să aveţi un server conectat la internet printr-un dispozitiv modem şi o placă de acces wireless pentru a activa conectarea altor sisteme la internet prin dispozitivul modem ADSL. Puteţi crea o interconectare bridge pentru a uni cele două interfeţe.

Cod 1.1: Configuraţia bridge din /etc/conf.d/net

# Configuraţi sistemul bridge - "man btctl" pentru mai multe detalii
brctl_br0=( "setfd 0" "sethello 0" "stp off" )

# Pentru a adăuga porturi sistemului bridge br0
bridge_br0="eth0 eth1"

# Trebuie să reconfiguraţi porturile la valori null pentru ca dhcp să nu pornească
config_eth0=( "null" )
config_eth1=( "null" )

# În final, asociaţi sistemului bridge o adresă - puteţi utiliza DHCP, de asemenea
config_br0=( "192.168.0.1/24" )

# Dependenţă de eth0 şi eth1, deoarece este posibil să necesite configurare suplimentară
depend_br0() {
  need net.eth0 net.eth1
}

Important: Pentru utilizarea unor setări bridge, este posibil să trebuiască consultarea documentaţiei despre (numele de variabilă).

1.  Adresa MAC

Nu trebuie să instalaţi nimic pentru a modifica adresa MAC a interfeţei dvs. dacă aveţi sys-apps/baselayout-1.11.14 sau mai nou şi doriţi să modificaţi la o anumită adresă MAC. Dar, dacă modificaţi cu o adresă aleatoare sau aveţi instalată o versiune de baselayout mai veche decât cea menţionată mai sus, atunci trebuie să instalaţi net-analyzer/macchanger.

Cod 1.1: Exemplu pentru modificarea adresei MAC

# Pentru a seta adresa MAC a interfeţei
mac_eth0="00:11:22:33:44:55"

# Pentru a alege aleator doar ultimii 2 octeţi
mac_eth0="random-ending"

# Pentru a alege aleator în cazul aceluiaşi tip de conexiune (spre ex. fibră,
# cupru, wireless) , pentru toţi producătorii
mac_eth0="random-samekind"

# Pentru a alege aleator între orice tip de conexiune (spre ex. fibră,
# cupru, wireless) , pentru toţi producătorii
mac_eth0="random-anykind"

# Pentru alegerea aleatoare în întregime - ATENŢIE: unele adrese MAC generate
# de această soluţie, este posibil să NU se comporte corect
mac_eth0="random-full"

1.  Tunelarea

Nu trebuie să instalaţi nimic pentru tunelare, deoarece aplicaţia de manipulare a interfeţei vă poate efectua acest lucru.

Cod 1.1: Configurarea tunelării în /etc/conf.d/net

# Pentru tuneluri GRE
iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"

# Pentru tuneluri IPIP
iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"

# Pentru configurarea interfeţei
config_vpn0=( "192.168.0.2 peer 192.168.1.1" ) 

1.  VLAN (suport 802.1q)

Pentru suport VLAN, instalaţi net-misc/vconfig.

Reţeaua Virtuală (Virtual LAN) este un grup de dispozitive de reţea ce se comportă ca şi când acestea ar fi fost conectate la un singur segment de reţea - chiar dacă este posibil să nu fie din acelaşi segment. Membrii VLAN se pot conecta numai la membrii aceleiaşi reţele VLAN, chiar dacă este posibil să împartă aceeaşi reţea fizică.

Cod 1.1: Configurarea VLAN din /etc/conf.d/net

# Specificaţi numerele VLAN pentru interfaţă, în felul următor
# Vă rugăm să vă asiguraţi că identificatorii VLAN nu conţin zerouri
vlans_eth0="1 2"

# Puteţi, de asemenea, să configuraţi reţeaua VLAN
# consultaţi pagina de manual a vconfig pentru mai multe detalii
vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )
vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" )

# Configurati interfaţa în mod normal
config_vlan1=( "172.16.3.1 netmask 255.255.254.0" )
config_vlan2=( "172.16.2.1 netmask 255.255.254.0" )

Important: Pentru a utiliza unele setări VLAN, este posibil să trebuiască consultarea documentaţiei despre (numele de variabilă).

Actualizat la 31 Martie 2006

Versiunea originală a acestui document a fost actualizată ultima dată la 23 Octombrie 2011

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.