Continut:
3.a Module de Retea
Acum suportam script-uri de retea modulare, ceea ce înseamna ca puteti adauga cu usurinta suport pentru tipuri noi de interfete si module de configurare pastrând compatibilitatea cu cele existente.
Modulele se încarca implicit în cazul în care pachetul necesar pentru acestea este instalat. Daca specificati un modul aici ce nu are pachetul corespondent instalat, atunci veti primi o eroare ce va indica numele pachetului ce trebuie instalat. În mod ideal, puteti utiliza setarile modulelor deja prezente atunci când aveti unul sau mai multe pachete ce ofera acelasi serviciu si îl preferati pe unul dintre acestea relativ la celalalt.
Nota: Toate setarile discutate aici sunt prezente în fisierul /etc/conf.d/net, în cazul în care nu este specificat altfel. |
Cod 1: Preferen& 23123w224x #355;a modulelor |
# Preferati iproute2 în locul ifconfig modules=( "iproute2" ) # Puteti, de asemenea, sa specificati si alte module pentru # o interfata. În acest caz preferam udhcpc în locul dhcpcd modules_eth0=( "udhcpc" ) # Puteti, de asemenea, sa specificati ce module sa nu fie utilizate - spre exemplu # ati putea utiliza un o aplicatie supplicant sau linux-wlan-ng pentru a controla # configuratia wireless, dar totusi doriti sa configurati setarile de retea pentru fiecare ESSID asociat. modules=( "!iwconfig" ) |
3.b Aplicatii pentru manipularea interfetelor
Oferim doua aplicatii pentru a manipula interfetele, si anume: ifconfig si iproute2. Aveti nevoie de unul dintre acestea pentru a efectua orice tip de configurare de retea.
ifconfig este, momentan, implicit în Gentoo si este inclus în profilul de sistem. iproute2 este un pachet mult mai puternic si flexibil, dar nu este inclus implicit.
Cod 2: 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 si iproute2 efectueaza actiuni similare, noi permitem o configurare de baza pentru a functiona cu fiecare. Spre exemplu, ambele exemple de cod de mai jos functioneaza, indiferent de modulul utilizat.
Cod 3: exemple ifconfig si iproute2 |
config_eth0=( "192.168.0.2/24" ) config_eth0=( "192.168.0.2 netmask 255.255.255.0" ) # Putem specifica, de asemenea, si 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" ) |
3.c DHCP
DHCP este utilizat la obtinerea informatiilor de retea (adresa IP, server-e DNS, Gateway, etc) de la un server DHCP. Aceasta înseamna ca, daca exista un server DHCP ce ruleaza în reteaua dvs., trebuie doar sa-i specificati fiecarui client sa utilizeze DHCP iar acesta seteaza reteaua singur. Bineînteles, va trebui sa configurati alte optiuni, cum ar fi cele de wireless, PPP si altele, daca 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 si contra - iata un sumar.
Modul DHCP |
Pachet |
Pro |
Contra |
dhclient |
net-misc/dhcp |
Dezvoltat de ISC, aceiasi oameni care dezvolta BIND DNS. Foarte configurabil |
Configurarea este foarte complexa, aplicatia este oarecum mare, nu poate transfera server-ele NTP de la DHCP, nu trimite nici un nume de gazda implicit |
dhcpcd |
net-misc/dhcpcd |
De mult timp, implicit în Gentoo, nu se bazeaza pe utilitare externe |
Nu mai este mentinut 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 bazeaza pe utilitare externe |
Nu mai este mentinut de dezvoltatori, nu este de încredere,
în special pentru dispozitive modem, nu poate prelua server-e |
udhcpc |
net-misc/udhcp |
Foarte simplu - cel mai mic client DHCP cunoscut, dezvoltat pentru sisteme integrate |
Nu este verificat - nici o distributie nu îl utilizeaza implicit, nu se poate defini un timp peste 3 secunde |
Daca aveti mai mult de un client DHCP instalat, trebuie sa specificati pe care sa-l utilizati - altfel utilizam implicit dhcpcd, daca este disponibil.
Pentru a transmite optiuni specifice modulului dhcp, utilizati modul_eth0="..." (modificati modulul cu numele clientului DHCP pe care îl utilizati - spre ex. dhcpcd_eth0
Încercam sa facem DHCP relativ agnostic - astfel, suportam urmatoarele comenzi utilizând variabila dhcp_eth0. Implicit nu este setata nici una dintre optiuni
Cod 4: Exemplu de configurare DHCP din /etc/conf.d/net |
# Necesar doar când aveti mai mult de un client DHCP instalat modules=( "dhcpcd" ) config_eth0=( "dhcp" ) dhcpcd_eth0="-t 10" # Expirarea timpului dupa 10 secunde dhcp_eth0="release nodns nontp nonis" # Preluam doar o adresa |
Nota: dhcpcd udhcpc si pump trimit numele de gazda curent server-ului de DHCP implicit, deci nu trebuie sa-l mai specificati. |
3.d Dispozitiv modem ADSL
Mai întâi trebuie sa instala aplicatia ADSL.
Cod 5: Instalarea pachetului rp-pppoe |
emerge net-dialup/rp-pppoe |
Atentie: baselayout-1.11.x suporta doar PPPOE. Speram ca urmatoarele versiuni vor suporta PPPOA. |
Acum, trebuie sa configuram eth0 sa fie o interfata ADSL si sa introducem numele nostru de utilizator, prin actualizarea /etc/conf.d/net
Cod 6: Configurarea eth0 pentru ADSL în /etc/conf.d/net |
config_eth0=( "adsl" ) adsl_user_eth0="nume_utilizator" |
La final, trebuie sa definiti numele dvs. de utilizator si parola în /etc/ppp/pap-secrets
Cod 7: exemplu de fisier /etc/ppp/pap-secrets |
# Caracterul * este important "username" * "password" |
3.e APIPA (Automatic Private IP Addressing - Adresare Automata de Adrese IP Private)
APIPA încearca sa gaseasca o adresa libera în intervalul 169.254.0.0-169.254.255.255 prin emiterea de semnale arping catre adrese aleatoare din acel interval pentru interfata. Daca nu este primit nici un raspuns, atunci asociem acea adresa interfetei.
Aceasta este folositor doar pentru retelele LAN ce nu contin nici un server DHCP si nu va conectati direct la internet, iar celelalte sisteme utilizeaza APIPA.
Pentru suportul APIPA, instalati net-misc/iputils sau net-analyzer/arping
Cod 8: Configurarea APIPA din /etc/conf.d/net |
# Încercati mai întâi DHCP - daca aceasta returneaza eroare, se trece la APIPA config_eth0=( "dhcp" ) fallback_eth0=( "apipa" ) # Utilizam doar APIPA config_eth0=( "apipa" ) |
3.f Legarea prin Bonding
Pentru legarea conexiunilor instalati net-misc/ifenslave
Bonding este utilizat pentru a mari banda de retea. Daca aveti doua placi ce servesc aceeasi retea, le puteti lega împreuna, astfel ca aplicatiile dvs. sa le considere ca fiind doar o singura interfata, dar în realitate sa le utilizeze pe amândoua.
Cod 9: configurarea legarii prin bonding în /etc/conf.d/net |
# Pentru a lega interfetele împreuna slaves_bond0="eth0 eth1 eth2" # Puteti alege sa nu asociati o adresa IP interfetei rezultate prin legare config_bond0=( "null" ) # Dependenta pentru eth0, eth1 si eth2, deoarece pot necesita configurare suplimentara depend_bond0() |
3.g
Pentru suportul interconectarii prin bridge, instalati net-misc/bridge-utils
Interconectarea prin bridge este utilizata pentru a uni doua retele. Spre exemplu, este posibil sa aveti un server conectat la internet printr-un dispozitiv modem si o placa de acces wireless pentru a activa conectarea altor sisteme la internet prin dispozitivul modem ADSL. Puteti crea o interconectare bridge pentru a uni cele doua interfete.
Cod 10: Configuratia bridge din /etc/conf.d/net |
# Configurati sistemul bridge - "man btctl" pentru mai multe detalii brctl_br0=( "setfd 0" "sethello 0" "stp off" ) # Pentru a adauga porturi sistemului bridge br0 bridge_br0="eth0 eth1" # Trebuie sa reconfigurati porturile la valori null pentru ca dhcp sa nu porneasca config_eth0=( "null" ) config_eth1=( "null" ) # În final, asociati sistemului bridge o adresa - puteti utiliza DHCP, de asemenea config_br0=( "192.168.0.1/24" ) # Dependenta de eth0 si eth1, deoarece este posibil sa necesite configurare suplimentara depend_br0() |
Important: Pentru utilizarea unor setari bridge, este posibil sa trebuiasca consultarea documentatiei despre numele de variabila. |
3.h Adresa MAC
Nu trebuie sa instalati nimic pentru a modifica adresa MAC a interfetei dvs. daca aveti sys-apps/baselayout-1.11.14 sau mai nou si doriti sa modificati la o anumita adresa MAC. Dar, daca modificati cu o adresa aleatoare sau aveti instalata o versiune de baselayout mai veche decât cea mentionata mai sus, atunci trebuie sa instalati net-analyzer/macchanger
Cod 11: Exemplu pentru modificarea adresei MAC |
# Pentru a seta adresa MAC a interfetei mac_eth0="00:11:22:33:44:55" # Pentru a alege aleator doar ultimii 2 octeti mac_eth0="random-ending" # Pentru a alege aleator în cazul aceluiasi tip de conexiune (spre ex. fibra, # cupru, wireless) , pentru toti producatorii mac_eth0="random-samekind" # Pentru a alege aleator între orice tip de conexiune (spre ex. fibra, # cupru, wireless) , pentru toti producatorii mac_eth0="random-anykind" # Pentru alegerea aleatoare în întregime - ATENŢIE: unele adrese MAC generate # de aceasta solutie, este posibil sa NU se comporte corect mac_eth0="random-full" |
3.i Tunelarea
Nu trebuie sa instalati nimic pentru tunelare, deoarece aplicatia de manipulare a interfetei va poate efectua acest lucru.
Cod 12: Configurarea tunelarii î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 interfetei config_vpn0=( "192.168.0.2 peer 192.168.1.1" ) |
3.j VLAN (suport 802.1q)
Pentru suport VLAN, instalati net-misc/vconfig
Reteaua Virtuala (Virtual LAN) este un grup de dispozitive de retea ce se comporta ca si când acestea ar fi fost conectate la un singur segment de retea - chiar daca este posibil sa nu fie din acelasi segment. Membrii VLAN se pot conecta numai la membrii aceleiasi retele VLAN, chiar daca este posibil sa împarta aceeasi retea fizica.
Cod 13: Configurarea VLAN din /etc/conf.d/net |
# Specificati numerele VLAN pentru interfata, în felul urmator # Va rugam sa va asigurati ca identificatorii VLAN nu contin zerouri vlans_eth0="1 2" # Puteti, de asemenea, sa configurati reteaua VLAN # consultati 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 interfata î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 setari VLAN, este posibil sa trebuiasca consultarea documentatiei despre numele de variabila. |
|