Cateva manuale de tip 'how-to'.
Am mulţi prieteni care au deja şi al doilea calculator în casă. Cea mai des întâlnită situaţie este cea în care vechiul calculator nu mai satisface cerinţele de calcul. Nu trebuie să vă şi gândiţi la gunoi, ci la o la doua viaţă a vechiului dumneavoastră calculator.
În acest tutorial vă voi prezenta cum folosesc eu [weblink:4] şi [weblink:20] pentru a construi o reţea de apartament. În loc de [weblink:4] puteţi folosi cam orice distribuţie, alegerea mea fiind pur subiectivă.
Am pornit de la premisa că aveţi deja o legătură stabilă la internet (oferta cablelink/fibră optică-radio este în creştere explozivă), dar cu modificări minore puteţi folosi şi o legătură prin modem.
Vechiul calculator va deveni un router, urmând să împartă accesul la internet tuturor calculatoarelor existente. Totodată, veţi folosi calculatorul şi ca firewall, pentru a proteja reţeaua internă.
Urmăriţi acest tutorial în continuare, de îndată ce îl voi completa.
Hai să stabilim mai întâi necesarul de echipamente:
Shorewall o sa-l descarci de pe internet, direct.
Bun, acuma ca ai tot ce-ti trebuie, poti pregati si instala sistemul de operare pe calculatorul ce va deveni router. Inainte de a incepe instalarea, asigura-te ca ai instalat (fizic) si a doua placa de retea in calculator.
Instalarea propriu-zisa e simpla, tot ce trebuie sa faci e sa urmezi instructiunile 'default'. In functie de destinatia dorita a masinii, poti instala doar pachetele necesare unui server, sau si cele necesare unei statii de lucru. Las asta la latitudinea ta, pentru a putea păstra acest tutorial cât mai independent de distribuţia aleasă.
Odata instalarea fiind facută, primul lucru pe care trebuie sa-l faci este să setezi conexiunea la internet si sa verifici functionalitatea acesteia. Acest lucru se face în Fedora-Gnome alegând meniul 'Applications -> System Settings -> Network'. Nu uita, pentru aceste modificări vei avea nevoie de parola de root.
Setează placa de reţea eth0 pentru accesul la internet (ar trebui să ai datele de conectare de la ISP), şi scrie roşu cu un marker pe placa fizică. Similar, setează placa a doua, eth1 astfel:
Instalează apoi serverul DHCP, folosind (de exemplu) yum:
yum install dhcp
(poţi însă instala acest pachet prin orice altă metodă).
Pe undeva prin /usr/share/doc/dhcp-*.*.*/ ar trebui să găseşti şi un fişier dhcpd.conf.sample.
Copiază acest fişier în /etc, astfel (trebuie să fii root):
cp /usr/share/doc/dhcp-*.*.*/dhcpd.conf.sample /etc/dhcpd.conf
şi începe personalizarea acestuia. Mai jos voi prezenta întregul meu fişier, insistănd asupra modificărilor. Pentru detalii, consultă şi pagina man dhcpd.conf.
########################################
# Sample dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#
ddns-update-style ad-hoc;
# option definitions common to all supported networks...
option domain-name "home.hangar.ro";
# Your name servers. You can normally find these in
# your /etc/resolv.conf file. These will be distributed to all DHCP
# clients.
option domain-name-servers 192.168.0.1, 193.231.233.1, 193.231.233.8;
default-lease-time 3600;
max-lease-time 7200;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
#log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.200 192.168.0.210;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1, 193.231.233.8, 193.231.233.1;
# option domain-name "hangar.ro";
# option ip-forwarding on;
# option netbios-node-type 8;
}
########################################
In continuare trebuie sa spui serverului dhcp ca IP-urile dinamice vor fi servite in reteaua interna, adica pe placa eth1. Acest lucru se face in Fedora in fisierul /etc/sysconfig/dhcp:
######################################## # Command line options here DHCPDARGS=eth1 ########################################
Restarteaza demonul dhcpd:
service dhcpd restart
Urmareste mesajele din /var/log/messages pentru a corecta eventualele erori. In mod normal n-ar trebui sa fie probleme.
Bun, in acest moment ar trebui sa poti lega calculatoare in reteaua interna. Leaga switch-ul la placa de retea verde si da-i drumul. Conecteaza si restul calculatoarelor, avand grija sa aiba setat sa-si ia IP-ul prin DHCP. Urmareste ip-ul primit (nu uita, inca nu ai nici un fel de firewall pe serverul tau) pe statiile interne si daca poti ping-ui serverul. De pe una din statiile interne, da comanda:
ping 192.168.0.1
si astfel poti verifica succesul instalarii demonului dhcpd.
La data scrierii acestei pagini, Shorewall a ajuns la versiunea stabilă 3.0.3; voi folosi ca referinţă această versiune.
Într-un terminal de comandă, autentificat ca şi root, scrie următoarele comenzi:
Mai întâi poziţionează-te într-un director unde poţi salva sursele:
cd /usr/local/src
Adu pachetele shorewall:
wget http://www1.shorewall.net/pub/shorewall/3.0/shorewall-3.0.3/shorewall-3.0.3.tgz
Dezarhiveaza pachetele:
tar xzvf- shorewall-3.0.3.tgz
Prefaţă
Notă: Fedora livreză kernelul fără suport NTFS (datorită problemelor de legale/de licenţă). Dacă doriţi să folosiţi o partiţie cu un astfel de sistem de fişiere, va trebui să parcurgeţi câţiva paşi suplimentari (instalarea modulului NTFS pentru kernel). Această problemă este foarte bine prezentată, şi nu voi relua informaţiile. Vă rog citiţi cu atenţie acest document înainte de a pune întrebări despre NTFS. De asemenea, nu uitaţi că suportul NTFS se limitează la permisiuni read-only (luaţi asta în considerare la setarea permisiunilor).
Mulţi dintre dumneavoastră folosesc configuraţii de boot duale, asta însemnaând instalarea pe acelaşi calculator atât a unei distribuţii Linux, cât şi a unei versiuni Windows. În aceste cazuri, nu puţini sunt cei ce vor să acceseze partiţiile Windows de sub Linux (invers nu se poate) - cu alte cuvinte să partajeze fişiere între sisteme. Cea mai simplă metodă este cea a folosirii comenzii mount (bineînţeles, autentificat ca root; toate comenzile ce urmează necesită acces root):
# mkdir /tmp/fatfs
# mount /dev/hda1 /tmp/fatfs
(Presupun că ştiţi deja ce device din directorul /dev este partiţia Windows căutată; în acest exemplu ea este /dev/hda1.)
Problema
Făcând aşa însă, apar câteva probleme:
root pentru a putea monta partiţia.root le poate modifica).Toate acestea pot fi obţinute prin diverse script-uri, dar nu aceasta este calea optimă. Voi descrie mai jos cum se face.
Scurtă explicaţie a opţiunilor
Notă: Pentru mai multe detalii, urmăriţi manualul comenzii mount (man mount).
Opţiunile pe care le vom folosi sunt auto, rw, uid, gid, showexec, quiet, umask, fmask, dmask:
auto - înseamnă că partiţia va fi montată la boot.rw - asta implică acces read/write la partiţie.uid - reprezintă ID-ul utilizatorului. Fişierele trebuie să apară cu acest utilizator ca şi owner la momentul montării. Cel mai probabil veţi dori ca acest utilizator să fie root (uid 0).gid - reprezintă ID-ul grupului. Fişierele vor apare ca fiind în posesia acestui grup la montare. Cel mai probabil veţi dori un grup separat pentru a controla accesul la partiţie. Mai multe detalii aveţi în continuare.showexec - face ca sistemul să se uite după executabile DOS/Windows (EXE, COM etc.) şi să seteze permisiunile de execuţie în mod corespunzător. quiet - înseamnă că sistemul nu va afişa erori la încercarea de modificare a parametrilor fişierelor pe partiţie (evident, pe partiţii FAT nu se poate, acestea neavând suport pentru aşa ceva).umask - reprezintă permisiunile inversate în sistemul octal pe care fişierele le vor primi la montare. Acest parametru este niţel ciudat, devreme ce e inversat. Aşadar, dacă doriţi ca un fişier să aibă permisiunile 770 (însemnnând fişiere total accesibile de către posesorul indicat de uid şi grupul indicat de gid şi respectiv inaccesibile de oricine altcineva) trebuie să inversaţi valorile şi să puneţi 007.fmask - similar ca umask dar numai pentru fişiere (fără directoare). dmask - similar cu umask dar numai pentru directoare. Notaţi că directoarele trebuie să aibă permisiuni de execuţie pentru a le putea deschide (puteţi citi fişiere din directoare cu permisiuni numai de citire, dar trebuie să cunoaşteţi exact calea către fişier).Notă: opţiunile fmask şi dmask sunt prezente numai în sistemele ce rulează kernel 2.6 - aşadar dacă rulaţi Fedora Core 1 (noile versiuni rulează kernel 2.6) puteţi folosi numai opţiunea umask (care este suficientă impreună cu opţiunea showexec).
Exemplu
Pentru a ilustra acestea, voi exemplifica mai jos.
Mai întâi trebuie să creem un punct de montare (un director unde partiţia va fi montată) şi hai să-i zicem /mnt/fat. Nu vă bateţi capul cu permisiunile pentru acest director - vor fi modificate oricum în momentul montării. Şi mai persupunem că partiţia noastră se află pe /dev/hda1.
În continuare trebuie să adăugăm un grup ce va avea permisiuni read/write pe fişierele partiţiei noastre. În mod normal e un obicei bun să aveţi un grup separat pentru utilizatori "mai buni" - cu control suplimentar asupra sistemului, acces la comenzi, etc. Dacă aveţi aşa ceva, folosiţi acest grup. Pentru a adăuga grupul, rulaţi următoarea comandă:
# groupadd -g 500 fat
Am creat grupul denumit fat cu ID 500. Adăugăm în contimuare username-ul propriu:
# usermod -G fat eu
(eu este username-ul meu, şi va trebui să reluaţi comanda pentru fiecare utilizator ce trebuie să aibă acces la partiţie.)
Acum vom edita fişierul /etc/fstab (linia poate fi prezentă deja):
/dev/hda1 /mnt/fat auto auto,rw,uid=0,gid=500,showexec,quiet,fmask=117,dmask=007 0 0
# această linie este lungă, şi poate apare împărţită pe ecran - trebuie să fie o singură linie.
Câteva explicaţii:
primul auto înseamnă că tipul partiţiei va fi auto-detectat. 0 0 sunt numerele pentru programul dump. Foarte puţini dintre dumnevoastră folosesc acest program, aşa că nu mă voi referi la el - lăsaţi datele aşa cum sunt. Celelalte opţiuni sunt explicate mai sus.
Ce face?
Face ca sistemul să monteze partiţia noastră FAT /dev/hda1 în punctul de montare /mnt/fat. Fişierele au permisiunile setate la 660 (dar fişierele EXE şi similare primesc 770) iar directoarele primesc permisiunile 770. Fişierele din această partiţie au ca şi posesor utilizatorul root şi grupul fat. Asta înseamnă că utilizatorul root şi membrii grupului fat au acces total la fişierele acestei partiţii. Ceilalţi utilizatori nu pot nici măcar să intre în acest director. De asemenea, mai sunt câteva măsuri de montare 'automagically' la boot, precum şi suprimarea mesajelor de eroare (pot deveni foarte neplăcute în unele programe ce încearcă modificarea permisiunilor - de ex. editoarele şi managerele de fişiere).
Notă: Acesta este doar un exemplu - va trebui să experimentaţi propriile setări pentru a obţine efectele dorite. Pentru NTFS va trebui, probabil, să modificaţi unele din opţiuni. De asemenea, device-ul partiţiei şi punctul de montare pot varia.
Articolul a apărut în 18 ianuarie 2005, pe situl FedoraNEWS.ORG, fiind semnat de Konrad Kosmowski.
Traducerea şi adaptarea: Ştefaniu -gupi- Criste