Setarea legaturii de retea: TCP/IP
Fiecare sistem legat în retea are un nume (hostname sau host), care este unic în cadrul retelei. Numele permit referirea la masina utilizând un nume scurt si usor de retinut, în loc de adresa masinii. Numele masinii poate contine maxim 64 de caractere.
Fiecare masina are o adresa IP, care este unica, alcatuita dintr-o secventa de patru octeti având formatul:
a.b.c.d
unde a, b, c si d sunt numere întregi, pe 8 biti, luând valori între O si 255. Adresa este împartita în doua: prima parte identifica reteaua din care face parte masina (în general a. b.c), iar a doua parte identifica masina (în general d).
In mod conventional, adresa 127.0.0.1 se considera a fi adresa de loopback: pachetele trimise catre aceasta adresa sunt trimise înapoi catre aceeasi masina (o interfata virtuala, cu semnificatia de "eu"). Aceasta adresa se foloseste în general atunci când o masina nu este legata în retea sau pentru testari. Adresa corespunde în mod uzual numelui localhost.
Seturile de adrese IP se numesc clase de adrese. Astfel, clasa de adrese a.b.c se numeste clasa C de adrese, a.b - clasa B, iar a - clasa A. Spre exemplu, este o clasa C de adrese. Ea se compune din toate adresele aflate în intervalul 193.226.26.0-193.226.26.255.
O retea contine în general o clasa de adrese, putând asadar contine mai multe subretele. De asemenea, o retea formata dintr-o clasa C de adrese poate fi divizata în mai multe subretele. Divizarea în subretele se face cu ajutorul mastii de retea (netmask) - o adresa în care bitii corespunzatori retelei au valoarea l, iar ceilalti au valoarea 0. Clasa adresei de retea determina masca retelei. De exemplu, pentru o adresa de clasa C, masca retelei este 255.255.255.0.
Adresa retelei este rezultatul operatiei and între masca retei si orice adresa IP din retea. De exemplu, daca adresa IP a unui sistem este 192.72.68.53, iar masca retelei este 255.255.255.0, atunci adresa retelei este 792.72.68.0.
Valorile pentru adresa IP, masca de retea si adresa de broadcast pot fi determinate cu ajutorul programului ipcalc.
Comunicatiile prin retea sunt structurate sub forma unor serii de niveluri. Fiecare tranzactie traverseaza stiva de niveluri, apoi echipamentul de retea, mediul de conectare, apoi iarasi echipamentul de retea si aceeasi stiv 10210c219k 259; de niveluri, în sens contrar. Comunicatia de tip TCP/IP este alcatuita din urmatoarele patru niveluri:
Administrarea si configurarea sistemelor Linux
Tabelul 10.1. Arhitectura TCP/IP
Nivel |
Descriere |
Nivelul aplicatie |
Specifica modul de interfatare a programelor cu reteaua (cum ar fi protocoalele FTP sau SSH) |
Nivelul transport |
Gestioneaza toate aspectele de trimitere a informatiilor, incluzând initierea tranzactiei, controlul erorilor si verificarea secventierii (protocoalele TCP si UDP) |
Nivelul Internet |
Responsabil pentru adresarea informatiilor, transmiterea si fragmentarea/reasamblarea pachetelor (protocolul 1P) |
Nivelul retea |
Specifica modul de transmitere fizica a informatiilor (cum ar fi Ethernet) |
Fiecare nivel este construit pentru a trata informatiile în urmatoarele tipuri de unitati:
Tabelul 10.2. Unitatile de informatie TCP/IP
Nivel |
Protocolul TCP |
Protocolul UDP |
Aplicatie Transport Internet Retea |
flux segment datagram cadru (frame) |
mesaj pachet datagram cadru |
La transmisie, fiecare nivel adauga la pachetele receptionate de la nivelul inferior câte un header. în mod similar, la receptie, fiecare nivel elimina header-\A respectiv înainte de a trimite pachetul la nivelul superior.
Operatiile prin retea sunt realizate de catre serviciile de retea, adica programele care efectueaza o anumita operatiune. Un serviciu este definit de combinatia între un protocol de transport (cele mai importante fiind TCP si UDP} si un port, adica un numar care identifica o "locatie" logica a conexiunii. Porturile utilizate de serviciile uzuale sunt definite în /etc/services. Numerele de protocoale atribuite protocoalelor din familia TCP/IP sunt definite în /etc/protocois.
ftp-data
ftp-data
ftp
ftp
ssh
ssh
telnet
telnet
smtp
smtp
20/tcp 20/udp 21/tcp 21/udp 22/tcp 22/udp 23/tcp 23/udp 25/tcp 25/udp
ma i l mail
Configurari de baza ale sistemului
I |
time 37/tcp timserver
time 37/udp timserver
Pe sistemele UNIX, serviciile de retea sunt oferite de catre daemoni (termenul provine din limba greaca, semnificând "spirit protector")- Daemonii sunt programe care ruleaza permanent în fundal (background) si ofera diverse servicii. Daemonii mai importanti sunt:
inetd sau xinetd
Internet services daemon este cel mai important serviciu TCP/IP. Serveste ca
gazda pentru alti daemoni. Serviciile administrate de inetd sunt definite în
fisierul /etc/inetd.conf, incluzând telnet,ftp,fmger, talk s.a.m.d. Ipd sau cupsd
Servere de tiparire. Acesta primeste cereri de tiparire locale sau de la alte
masini. named
Este serverul care rezolva domeniile DNS. Sendmail, postfix sau qmail
Servere de distribuire a e-mail-urilor.
Informatii privind activarea/dezactivarea serviciilor oferite de sistem se gasesc încap. 5.
10.1. Configurarea atributelor masinii
Fisierele de configurare a atributelor masinii sunt /etc/HOSTNAME, în care este specificat numele complet al masinii (adica inclusiv domeniul - e.g. hercules.biosfarm.ro) si /etc/sysconfig/network, în care se specifica numele complet si numele domeniului:
l NETWORKING=yes
l HOSTNAME=hercules.biosfarm.ro
l DOMAINNAME=biosfarm.ro
10.2. Configurarea echipamentelor de retea
Dupa ce echipamentul de retea (placa de retea, modem etc.) a fost instalat fizic în sistem si mediul de conectare legat, fie trebuie încarcat modulul ce contine driverul pentru respectivul echipament, fie trebuie reconflgurat si recompilat nucleul Linux pentru a include driverul în cauza. Denumirile utilizate în Linux pentru dispozitivele de retea uzuale sunt:
Administrarea si configurarea sistemelor Linux
Tabelul 10.3. Denumirile interfetelor de retea uzuale
Interfata loopback Io
Placi de retea Ethernet ethO, ethl etc.
Legaturi modem_____ _______ ______ _________ ppp0,pppj_eic.
în UNIX, echipamentul de retea este denumit interfata de. retea. Configurarea interfetei de retea se poate face fie în mediu grafic X Window cu programul netconfig (meniul System :: Network Configuration), fie cu utilitarul ifconfig. Acesta din urma are urmatoarea sintaxa:
| ifconfig interfata [ familie_de__adrese ] optiuni \ adresa
Daca interfata nu este specificata, ifconfig va afisa informatii privind starea interfetelor active. Daca nu este specificata nici o optiune, ci doar interfata, ifconfig va afisa starea interfetei respective, în celelalte cazuri, va fi configurata interfata de retea.
Famiiie_de_adrese poate lua una dintre valorile: inet (TCP/IP, valoare implicita), inet6 (IPv6), ax25 (AMPR Packet Radio), ddp (Appletalk Phase 2), ipx (Novell IPX) si netrom (AMPR Packet Radio). Optiunile pot fi:
up interfata va fi activata. Este implicita daca este atribuita o adresa interfetei. down
interfata va fi dezactivata. netmask adresa
stabileste masca de retea. irq numar_întrerupere
stabileste întreruperea utilizata de dispozitiv. io_addr adresa
stabileste adresa I/O utilizata de dispozitiv. [-] broadcast [ adresa ]
daca adresa este specificata, stabileste adresa de broadcast a interfetei. Daca
parametrul nu este specificat, activeaza sau dezactiveaza câmpul de stare
iff_broadcast pentru interfata. [-] pointopoint [ adresa ]
daca adresa este specificata, stabileste adresa de 1P a masinii cu care se face
conexiunea punct-la-punct (cum ar fi PPP) si activeaza acest mod de
conexiune. Daca parametrul nu este specificat, activeaza câmpul de stare
iff_pointopoint pentru interfata.
Adresa reprezinta adresa IP atribuita interfetei.
Configurari de baza ale sistemului
De exemplu, pentru configurarea si activarea placii de retea Ethernet ethO, cu adresa 193.226.26.9, vom folosi comanda:
I |
ifconfig ethO netmask 255.255.255.0 broadcast 1S3.226.26.255 up
Fisierele de configurare a interfetelor de retea se gasesc în directorul /etc/ sysconfig/network-scripts si poarta nume de forma ifcfg-nume_dispozitiv (de exemplu, ifcfg-etho). Pentru detalii, a se vedea sectiunea 10.6.
10.3. Optiuni de rutare
Rularea este operatiunea de trimitere a pachetelor de date de la o retea la alta. Rularile pot fi:
Daca reteaua nu contine subretele, nu este necesara nici o rutare explicita.
Rulari statice, folosite pentru
retele de dimensiuni mici sau medii, având
calea origine - destinatie relativ simpla.
Rulari dinamice, în care caile spre
destinatie sunt determinate Ia momentul
trimiterii pachetelor, prin protocoale de rutare, pentru
care se folosesc
daemonii rouled si gated.
Rularile statice pot fi gestionate folosind utilitarul route, având sintaxa:
route [ optiuni ]
route [ -v ] [ -A familie } add [ -net l -host ] dest [ optiuni ]
route [ -v ] [ -A familie ] del [ -net ! -host ] dest [ optiuni ]
Prima varianta afiseaza tabela de rutare, permitând optiunile:
-v afiseaza informatii suplimentare
-n afiseaza adrese numerice în loc de nume
A doua varianta permite adaugarea de rutari statice. Optiuni: -v afiseaza informatii suplimentare "A familie
specifica familia de adrese. Vezi supra, la ifconfig, familiile de adrese -net specifica faptul ca dest este o retea -host specifica faptul ca dest este o masina
dest reprezinta adresa retelei sau masinii-destinatie, fie numerica, fie prin nume netmask adresa
utilizeaza aceasta masca atunci când se adauga o rutare. default
stabileste rutarea implicita, care va fi utilizata atunci când nu exista nici o
alta rutare catre destinatie
Administrarea si configurarea sistemelor Linux
gw gatewct)'
ruteaza pachetele printr-un gateway. Calea catre acesta trebuie sa fie definita
în prealabil, stabilind în general o rutare statica spre el dev dispozitiv
asociaza rutarea cu dispozitivul specificat, în mod normal, specificarea
acestui parametru nu este necesara.
Câteva exemple:
| route add -net 192.130.21.0 netinas k 255.255.255.0 dev ethl
adauga o rutare catre reteaua 192.130.21.0 prin placa de retea ethl.
| route add default gw zeas.biosfarm.ro
adauga o rutare implicita (utilizata atunci când nu exista o alta rutare) prin masina zetis. biosfarm.ro.
10.4. Verificarea functionarii retelei
Prima verificare care trebuie facuta dupa configurarea interfetelor de retea si stabilirea rularilor este daca interfetele de retea sunt activate si au parametrii corecti. Aceasta se face tot cu ajutorul utilitarului ifconfig. Daca se specifica drept parametru numele interfetei, se vor afisa informatiile de stare referitoare doar la respectiva interfata. Daca nu este introdus nici un parametru, vor fi afisate informatii despre toate interfetele active.
Iata un exemplu de executie a comenzii ifconfig:
ethO Link encap:Ethernet HWaddr 00:EO:29:25:53:41
inet addr:10.0.0.1 Bcast:200.O.O.255 Mask:255.255.255 . O
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:!
RX packets:57497219 errors:0 dropped:0 overruns:0 frame:3
TX packets:53415959 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4087849514 Mb) TX bytes:4227682795 Mb)
Interrupt:!! Base address:Oxe400
Lo Link encap:Local Loopback
inet addr:127.0.0.l Mask:255.O.O.O
UP LOOPBACK RUNNING MTU:16436 Metric:!
RX packets:1467483 errors:O dropped:0 overruns:0 frame:0
TX packets:1467483 errors:O dropped:0 overruns:O carrier:0
collisions:0 txqueuelen:O
RX bytes:437242723 Mb) TX bytes:437242723 Mb)
pppO Link encap:Point-to-Point Protocol
inet addr:192.130.21.14 P-t-P:192.130.78.14 Mask:255.255. 255.255
Configurari de baza ale sistemului
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1064 Metric:! RX packets : 16682 errors:O dropped:0 overruns:0 frame:O TX packets:16998 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes: 9140239 Mb) TX bytes:2061425 Mb)
A doua verificare este corectitudinea rularilor. Tabelele de rutare pot fi consultate tot cu programul route:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
Ieasedl4.nemesi * 255.255.255.255 UH O pppO
* U O ethO
* U O O O Io
default Ieasedl4.nemesi UG O O O pppO
A treia verificare ce trebuie facuta este accesibilitatea efectiva a altei masini, pentru care se foloseste de regula programul ping, ce primeste ca parametru numele masinii-destinatie sau adresa sa de IP:
PING metalab.unc.edu from : 56(84}
bytes of data.
64 bytes from metalab.unc.edu icmp_seq=0 ttl=235
time-281.878 msec
64 bytes from metalab.unc.edu icmp_seq=l ttl=235
time=268.268 msec
64 bytes from metalab.unc.edu icmp_seq=2 ttl=235
time=248.270 msec
64 bytes from metalab.unc.edu icmp_seq=3 ttl=235
time=278.304 msec
64 bytes from metalab.unc.edu icmp_seq=4 ttl=235
time=268.304 msec
64 bytes from metalab.unc.edu icmp_seq=5 ttl=235
time=267.780 msec
64 bytes from metalab.unc.edu icmp_seq=6 ttl=235
time=268.250 msec
metalab.unc.edu ping statistics
7 packets transmitted, 7 packets received, 0% packet loss round-trip min/avg/max/mdev = 248.270/268.722/281.878/9.889 ms
Poate fi utilizata si comanda traceroute, care afiseaza toate masinile prin care trece pachetul în ruta sa catre destinatie:
traceroute to fenrir.info.uaic.ro 30 hops max, 38 byte packets
esc26.leased.dntis.ro (172.21.33.155) 140.673 ms 139.693 ms
139.954 ms
ciscoO.dntis.ro ms 166.454 ms
141.181 ms
Administrarea si configurarea sistemelor Linux
route.dntis.ro 139.930 ms 138.031 ms
150.607 ms
cisco-gw-escape.dntis.ro 139.281 ms 137.995
ms 139.889 ms
* roedu-to-dntis.dntis.ro 138.228 ms
168.003 ms
gw-rnan.iasi.roedu.net ms 137.972
ms
139.919 ms
139.952 ms 138.323 ms *
gw-masterc.uaic.ro ms 138.039 ms
139.908 ms
gate-info.uaic.ro 149.912 ms * 140.091 ms
10.5. Rezolvarea numelor de masina
Pentru a putea identifica o masina din retea, sistemul trebuie sa îi determine mai întâi adresa IP. Exista doua modalitati în care aceasta poate fi determinata:
cautând numele în fisierul /etc/hosts;
apelând serverul DNS (vezi infrd) care va rezolva adresa.
Daca masina nu este legata permanent la retea sau se gaseste într-o retea de dimensiuni mici, nu este necesara configurarea decât a /etc/hosts.
Fisierul /etc/hosts contine lista de masini aflate în reteaua locala, inclusiv masina locala. Iata un fisier exemplu de pe masina access.biosfarm.ro:
|
localhost |
|
access |
|
hercules |
|
secretariat |
|
comenzi |
|
ftp |
|
|
localhost.localdomain access.biosfarm.ro hercules.biosfarm.ro secretariat.biosfarm.ro comenzi.biosfarm.ro
ftp.dntis.ro mail.dntis.ro
Fisierul /etc/host.conf contine configurarea modului în care vor fi rezolvate numele:
| order=hosts,bind
stabileste ca numele masinii va fi cautat mai întâi în /etc/hosts, iar daca nu este gasit, se va apela la serviciile unui server DNS (Domain Name Server). Lista de servere DNS se configureaza în fisierul /etc/resolv.conf:
l search biosfarm.ro dntis.ro l nameserver l nameserver 193.226.30.6
Configurari de baza ale sistemului_____ _______ ______ __________
Sunt recunoscute urmatoarele directive principale:
domain stabileste numele domeniului local (în care se afla masina).
nameserver adresa IP a unui server DNS la al carui serviciu va fi facut apel. Pot fi specificate mai multe directive nameserver. Daca primul server nu raspunde cererii, va fi apelat al doilea s.a.m.d., în ordinea aparitiei în fisier.
search lista de domenii în care va fi cautat numele, separate prin spatii sau tab-uri. în exemplul nostru, daca este cautata masina numita main, va fi testat mai întâi numele main.biosfarm.ro, iar daca aceasta nu exista, main.dntis.ro.
Pentru alte directive, recomandam consultarea mân resoiv. conf. Configurarea masinii ca server Dl^JS este prezentata în partea III, cap. 6.
10.6. Scripturt pentru configurarea retelei
Dupa cum am mentionat mai sus, fisierele de configurare a interfetelor de retea se gisesc în directorul /etc/sysconf ig/network-scripts si poarta nume de forma ifcfg-nume_dispozitiv. Aceste fisiere sunt alcatuite dintr-o serie de optiuni, dintre care cele mai uzuale sunt:
DEVICE = numejnterfata
Specifica numele dispozitivului Ia care se refera optiunile (de exemplu, ethO,
pppO etc.). IPADDR adresa
Stabileste adresa IP asociata dispozitivului. NETMASK = adresa
Stabileste masca de retea. BROADCAST = adresa
Stabileste adresa de broadcast. NETWORK adresa
Specifica adresa retelei. ONBOOT = val
Stabileste daca interfata de retea va fi activata în mod automat la pornirea
sistemului de operare.
Interfata de retea poate fi activata prin comanda ifup nume_interfata si
dezactivata prin ifdown nume_interfata.
Redam mai jos un fisier de configurare pentru placa de retea ethO:
Administrarea si configurarea sistemelor Linux
DEVICE=ethO IPADDR=10. NETMASK=255.255.255.O BROADCAST=10. NETWORK=10.0. ONBOOT=yes
10.7. Configurarea conexiunilor PPP
Protocolul PPP (Point to Point Protocol) este utilizat pentru conexiunile prin modem sau cablu direct (nuli modem). Majoritatea furnizorilor de servicii Internet ofera acces dial-up (conexiune prin linie telefonica obisnuita, prin intermediul unui modem) prin protocolul PPP. Acesta este implementat în Linux sub forma daemonului pppd.
Pentru utilizarea acestui protocol, nucleul trebuie compilat cu urmatoarele optiuni activate:
Network device support
o PPP (point-to-point protocol) support o PPP support for async serial ports o PPP Deflate compression o PPP BSD-Cortvpress compression
Daemonul pppd are urmatoarea sintaxa:
| pppd [ dispozitiv ] [ viteza ] [ optiuni ]
unde
dispozitiv reprezinta numele dispozitivului prin care se face
comunicatia (e.g. /dev/ttyso).
viteza specifica viteza de comunicatie (baud rate).
auth solicita masina de la distanta sa se autentifice înainte de a
realiza
legatura.
caii fisier citeste
optiunile din fisierul specificat, anume
/etc/ppp/peers/fisier.
connect script utilizeaza scriptul specificat pentru a stabili legatura, în mod normal, scriptul utilizeaza programul chat.
crtscts utilizeaza controlul hardware al fluxului de date.
defaultroute creeaza o rutare implicita, utilizând masina de la distanta ca
gateway.
disconnect script specifica un script care va fi executat la terminarea legaturii PPP.
Configurari de baza ale sistemului
fllefisier initfisier
lock
adresajocala:
debug
demand idle timp
logflle fisier login
maxfail n
netmask masca
noauth
nocrtscts
nodefaultroute
papcrypt
persist refuse-chap refuse-pap user nume xonxoff
citeste optiunile din fisierul specificat, executa scriptul specificat pentru a initializa linia seriala (de exemplu, pentru a seta modemul pe raspuns automat), creeaza un fisier de blocare, pentru a asigura accesul exclusiv asupra dispozitivului. adresa_masinii_de_la_distanta
stabileste adresa IP a masinii locale, respectiv aflata la
distanta, pe care o va avea interfata PPP dupa activare.
Oricare din cele doua adrese poate fi omisa.
activeaza mesajele de depanare. Acestea sunt jurnal izate prin
intermediul serviciului syslog, clasa daemon si nivelul
debug.
initiaza legatura la cerere, adica atunci când apare trafic prin
legatura PPP.
încheie legatura PPP atunci când nu s-au efectuat transferuri
de date prin interfata în perioada de timp specificata,
exprimata în secunde.
trimite mesajele de jurnalizare si catre fisierul specificat, pe
lânga syslog.
utilizeaza baza de date de utilizatori pentru a autentifica
utilizatorul în sistem, folosind sistemul PAP (Password
Authentication Protocol). De asemenea, acesta trebuie sa fie
prezent în fisierul /etc/ppp/pap-secrets.
stabileste numarul maxim de reîncercari de conectare.
Valoarea O reprezinta infinit. Implicit: 10.
stabileste masca de retea pe care o va avea interfata PPP.
nu solicita masinii aflate la distanta sa se autentifice.
nu utilizeaza controlul hardware al fluxului de date.
dezactiveaza optiunea defaultroute.
indica faptul ca parolele din fisierul /etc/ppp/pap-secrets
sunt criptate.
nu termina executia pppd dupa încheierea conexiunii, ci
încearca reconectarea.
refuza masinii aflate la distanta autentificarea prin sistemul
CHAP (Challenge Handshake Authentication Protocol).
refuza masinii aflate la distanta autentificarea prin sistemul
PAP.
stabileste numele cu care se va face autentificarea pe masina
aflata la distanta.
utilizeaza controlul software al fluxului de date.
Dupa cum am vazut mai sus, daemonu\ pppd utilizeaza fisierul /etc/ppp/pap-pentru autentificarea PAP, respectiv /etc/ppp/chap-secrets pentru
Administrarea si configurarea sistemelor Linux
autentificarea CHAP, pentru memorarea parolelor (secrets). Acestea pot fi utilizate atât pentru a se autentifica pe alte sisteme, cât si pentru a autentifica alte masini în vederea conectarii. Fiecare linie contine câte o parola, având cel putin trei câmpuri: numele clientului, numele serverului si parola propriu-zisa. Pentru numele clientului sau serverului poate fi utilizat si caracterul "*", care semnifica orice nume. Dupa aceste trei câmpuri, poate urma, optional, o lista de adrese IP care sunt acceptate pentru clientul specificat. Daca prima adresa este "-", nu este permisa nici o adresa, iar daca este "*", este permisa orice adresa. Daca o adresa începe cu "!", respectiva adresa nu este acceptata.
Daca este specificata optiunea login, parola va fi verificata si cu cea din baza de date a sistemului (/etc/passwd sau /etc/shadow). Fisierul pap-secrets poate fi folosit în acest caz pentru a limita accesul doar la anumiti utilizatori si un set de adrese IP care poate fi folosit de acestia, în general, parola din pap-secrets este "". pentru a nu fi nevoie ca parola sa fie mentionata în doua locuri.
Am amintit mai sus de optiunea connect, care primeste ca parametru un script ce foloseste programul chat. Programul chat are rolul de a procesa un script ce foloseste un model de tipul expect-send. Programul asteapta sirul expect, iar când îl primeste, trimite sirul sena. De exemplu, daca se doreste ca chat sa astepte sirul Login: la care sa raspunda cu numele utilizatorului, apoi sa astepte sirul Password: si sa trimita parola, se va folosi:
I |
ogin: dragos word: parola
Se remarca omiterea primelor caractere, pentru ca verificarea sirului sa reuseasca chiar daca textul primit este putin diferit. Pot fi utilizate urmatoarele siruri speciale:
TIMEOUTtimp Stabileste timpul maxim cât chat va astepta aparitia sirului specificat, exprimat în secunde. Implicit: 45.
ABORTsir Stabileste sirul care îl trimite modemul atunci când se
încheie conexiunea (de exemplu: no carrier). Pot fi mentionate mai multe asemenea specificatii ABORT.
Client PPP
Configurarea legaturii prin linie telefonica cu un furnizor de servicii Internet (client PPP) se poate face cu ajutorul interfetei grafice KPPP. Aceasta permite suplimentar contorizarea timpilor de conectare, traficului efectuat, realizarea de grafice de trafic, precum si gestionarea mai multor conexiuni PPP la diferiti furnizori de servicii:
Configurari de baza ale sistemului
|
Figura 10.1. Programul KPPP
Acest program poate fi executat fie din meniul Internet:: Dialup Configuration (pe sistemele Red Hat), fie din Nefworking :: Remote access :: Internet Dialer (pe Mandrake), fie din linia de comanda cu kppp s.
Administrarea si configurarea sistemelor Linux
Vom prezenta în continuare un script chat uzual:
'ABORT' 'BUSY'
'ABORT' 'ERROR1
'ABORT1 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'ABORT' 'Invalid Login'
'ABORT' 'Login incorrect'
'ATZ'
'OK' 'ATZ'
'OK' 'ATDT123456'
'CONNECT' ''
Dupa cum se observa, sunt definite mai întâi sirurile pentru care se considera ABORT (închiderea conexiunii). Se trimite apoi modemului sirul ATZ (resetarea acestuia) si se asteapta OK. Se formeaza numarul de telefon prin comanda ATDT123456 si se asteapta CONNECT. Trimiterea numelui si parolei nu trebuie efectuata decât daca autentificarea se face prin CHAP, caz în care la sfârsit ar trebui introdusa secventa:
I |
'ogin:' 'dragos' 'word:' vparola'
Programul/7p/tt/ poate fi executat cu o linie de comanda ca mai jos:
I |
/usr/sbin/pppd connect "/usr/sbin/chat chat-script" crtscts defaultroute /dev/ttySO 33600
Dupa conectare, pppd va deveni daemon, adica îsi va continua executia fara a mai fi legat de terminalul de unde a fost pornit în executie. Oprirea conexiunii se face trimitând procesului pppd fie semnalul SIGHUP, care opreste conexiunea si închide portul serial (daca s-a specificat optiunea persist, pppd va reîncerca conectarea, daca nu îsi va încheia executia), fie semnalele SIGINT sau SIGTERM, care închid conexiunea si termina executia daemonului.
în mod uzual, se utilizeaza un script care face conectarea, apelând pppd. De asemenea, se folosesc în mod obisnuit scripturile aflate în /etc/sysconfig/network-scripts, si anume ifup-ppp, respectiv ifdown-ppp. Acestea vor fi apelate atunci când se executa comanda (mai precis scriptul) ifuppppO. Configurarile utilizate de aceste scripturi se gasesc în fisierul ifcfg-pppo. Sunt recunoscute, pe lânga optiunile generale descrise în paragraful 10.5, urmatoarele optiuni, care vor fi transmise daemonului pppd:
MODEMPORT - dispozitiv
Numele dispozitivului pe care este conectat modemul. LINESPEED = viteza
Viteza liniei seriale.
l
Configurari de baza ale sistemului
HARDFLOWCTL = val
Activeaza/dezactiveaza controlul hardware al fluxului de date (optiunea
crtscts). PERSIST = val
Activeaza/dezactiveaza permanenta conexiunii (optiuneapersist). DEFROUTE = val
Echivalentul optiunii defaultroute. DEMAND = val
Echivalentul optiunii demand. DEBUG = val
Echivalentul optiunii debug. PPPOPTIONS optiuni
Alte optiuni pppd. PAPNAME = nume
Echivalentul optiunii user. REM1P = adresa
Adresa IP a masinii aflate la distanta. IPADDR = adresa
Adresa IP locala. NETMASK = adresa
Masca de retea locala.
Iata o configuratie tipica:
DEVICE=pppO
MODEMPORT=/dev/ttySl
LINESPEED=115200
HARDFLOWCTL=yes
ONBOOT=no
PERSIST=no
DEFROUTE=yes
Poate fi utilizat si programul wvdial, care elimina necesitatea realizarii de scripturi sau de cunoastere detaliata a optiunilor pppd. Acesta se configureaza prin intermediul fisierului /etc/wvdial.conf, alcatuit din una sau mai multe sectiuni, fiecare continând optiuni, dupa cum urmeaza:
Modem Numele dispozitivului pe care este conectat modemul.
Implicit: /dev/modem.
Baud Viteza de comunicatie. Implicit: 57600.
Initl... Init9 sirurile de initializare a modemului, care vor fi trimise
înainte de formarea numarului de telefon.
Phone Numarul
de telefon ce va fi format.
Area Code Codul de zona care va fi introdus în fata numarului de
telefon.
Administrarea si configurarea sistemelor Linux
Dial Prefix Prefixul care va fi introdus în fata numarului de telefon.
Dial Command sirul utilizat pentru a comanda modemului sa formeze
numarul. Implicit: ATDT.
Login Numele utilizatorului cu care se va face autentificarea pe
masina aflata la distanta.
Password Parola cu care se va face autentificarea.
Login Prompt sirul de caractere trimis de masina aflata la distanta înainte
de autentificare. Password Prompt sirul de caractere trimis de masina aflata la distanta înainte
de a trimite parola.
Force Address Stabileste adresa IP care va fi asociata interfetei PPP. Remote Name Stabileste tipul autentificarii: CHAP sau PAP. Implicit: *. Auto Reconnect Restabileste conexiunea daca aceasta s-a încheiat.
în continuare prezentam un exemplu de fisier /etc/wvdiai. conf:
[Dialer Defaults] Modem = /dev/ttySl Baud = 115200 Initl = ATZ Dial Command = ATDT Phone = 123456 Username = dragos Password = test
Server PPP
Pentru a permite altor utilizatori sa se conecteze la masina locala, prin intermediul unei legaturi PPP, trebuie ca daemonul pppd sa fie activ. Iata un exemplu de apelare apppd:
| pppd -detach crtscts auth login persist
Autentificarea se va face prin intermediul bazei de date de utilizatori de pe masina locala, cu mentiunea ca utilizatorii ce pot initia conexiunea PPP trebuie mentionati în fisierul /etc/ppp/pap-secrets. Masina care solicita conexiunea va primi adresa IP 10.0.0.12.
|