Tutoriale

Cateva manuale de tip 'how-to'.

IN LUCRU: Cum să-ti faci o reţea locală acasă folosind Fedora Core şi Shorewall

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.

Ce trebuie pentru început ?

Hai să stabilim mai întâi necesarul de echipamente:

  • Calculatorul vechi: un P2 @ 400 MHz, cu HDD 4GB şi unitate CD este arhisuficient; este bine dacă ai un hard-disk ceva mai mare, pentru a-l folosi ca şi cache-proxy;
  • două plăci de reţea (una pentru legătura la net, şi pe care o vom denumi roşu, şi una pentru legătura la reţeaua internă, pe care o vom denumi verde;
  • un switch 8x sau 16x (pentru cazul in care vei avea mai mult de un calculator în spatele acestui router);
  • CD-urile cu distribuţia preferata (eu prefer pentru acasă Fedora Core;
  • cabluri de retea 'patch' (flexibile), pentru a lega toate calculatoarele între ele;
  • evident, legatura la internet (modem cablelink, radio, fibra optică...);

Shorewall o sa-l descarci de pe internet, direct.

Instaleaza Fedora Core

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ă.

Reţeaua şi serverul DHCP

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:

  • IP: 192.168.0.1
  • Netmask: 255.255.255.0
  • Default gateway: nu completa nimic
  • culoare (pe placă, cu marker): verde

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.

Instaleaza Shorewall

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

Montarea şi setarea permisiunilor pentru partiţiile FAT (şi NTFS)

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:

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:

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