CentOS

...because open source matters

  • Increase font size
  • Default font size
  • Decrease font size
Home Gateway/router cu CentOS 5.x

Gateway/Router cu CentOS 5.x

E-mail Print PDF

Acest articol va arata cum puteti folosi o singura conexiune externa la internet pe calculatorul care are rol de gateway (folosind firewall-ul Iptables) si o conexiune interna pe acelasi calculator ca sa puteti conecta calculatoare de acasa sau de la birou la internet. Pentru calculatoarele din reteaua interna vom folosi un server DHCP care sa dea ip-uri calculatoarelor din reteaua interna. Iptables poate fi foarte complicat insa vom configura un firewall simplu pe care il puteti exitnde mai tarziu fara sa stricati ceva. In Linux poti face asta in mai multe moduri insa eu voi prezenta doar unul suficient de simplu incat sa invatati chestiile de baza (sper eu). Tutorialul poate fi aplicat cu mici modificari pe orice distributie de linux insa eu sunt un fan CentOS asa ca asta folosesc si eu. Pentru a putea urmari acest tutorial trebuie sa fiti logat ca root. De mentionat ca este recomandat sa va logati ca root cat mai rar posibil.

In general, reteaua de acasa sau de la birou arata in felul urmator:

Retea

 

 

iar modem-ul de cablu se poate inlocui cu o alta linie de internet (ppoe de rds, adsl de la romtelecom etc).

Calculatoarele din birou vor putea sa comunice intre ele asa ca pot fi adaugate imprimante de retea si pot fi impartite (sharuite) fisiere intre calculatoare cu ajutorul switch-ului. De asemenea puteti sa folositi router ca o modalitate de back-up in retea folosind Samba destul de usor.  Acest tip de retea poate fi extins destul de usor dar deocamdata ne limitam aici. 

Primul lucru pe care trebuie sa il facem este sa configuram si sa activam iptables, firewall-ul care vine default cu CentOS( de fapt, cel putin 90% dintre distributiile de linux vin default cu iptables). Vom configura firewall-ul astfel incat sa permita traficul de iesire de la interfata interna (eth1) catre internet. Trebuie sa adaugam regulile, sa le salvam si apoi sa repornim iptables.

Pentru a face asta se folosesc comenzile:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
service iptables save
service iptables restart

Acum trebuie sa configuram kernel-ul (baza sistemului de operare) sa permita trimiterea pachetelor mai departe astfel incat regula sa functioneze:

echo 1 > /proc/sys/net/ipv4/ip_forward 

Asta va functiona doar pana la reboot insa o putem face permanent daca adaugam la fisierul /etc/sysconfig/network urmatoarea linie:

FORWARD_IPV4=YES

Acum trebuie sa configuram server-ul DHCP sa dea adresa IP calculatoarelor din retea. Instalam server-ul de DHCP cu comanda:

yum install dhcp

In mod default, va fi creat un fisier DHCP pe care il vom edita si apoi vom inlocui fisierul real.

cd /usr/share/doc/dhcp-versiune/
nano dhcpd.conf.sample

Puteti copia si folosi fisierul acesta insa trebuie sa aveti in vedere ca reteaua voastra poate fi diferita. Acest fisier va da calculatoarelor din reteaua voastra IP-uri  de la 192.168.0.128 la 192.168.0.254 cu masca de retea 255.255.255.0. De asemenea trebuie sa potriviti adresa IP statica de pe eth1.

ddns-update-style none; # deocamdata nu modificam asta
ignore client-updates;  # sau asta
DHCPARGS=eth1;          # se specifica interfata pe care server-ul de DHCP "asculta"
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
       option routers                  192.168.0.1;   # gateway pe eth1 interfata interna
       option subnet-mask              255.255.255.0; # masca de retea
       option domain-name              "example.com" # numele de domeniu dat clientului
       option domain-name-servers      209.242.10.10; # ip-urile nameserverelor (DNS-urile) pe care le folositi
       range 192.168.0.128 192.168.0.254;             # adresele IP alocate clientilor (de la x.x.x.x la y.y.y.y cu spatiu intre ele) 
       default-lease-time 21600;                      # cat timp un client va tine adresa respectiva
       max-lease-time 43200;
       # vrem ca nameserverele sa aiba adresa fixa
       host ns {
               next-server ns1.ispserver.net;         # aici se introduce nameserver-ul  ISP-ului
               hardware ethernet 00:09:5B:8E:05:67;   # MAC placiii de retea
               fixed-address 209.242.10.10;           # adresa IP a nameserver-ului ISP'-ului
      }
}

Acum vom face backup la vechiul  fisier si il suprascriem cu cel nou:

mv /etc/dhcpd.conf /etc/dhcpd.conf.old
cp dhcpd.conf.sample /etc/dhcpd.conf

Acum vom restarta server-ul de DHCP (dupa verificare configuratiei daca sunt erori vor aparea in /var/log/messages) pentru ca modificarile sa isi faca efectul.

service dhcpd configtest
service dhcpd restart

Acum trebuie sa configuram interfata eth1(interna) pentru a se potrivi cu setarile server-ului DHCP asa ca vom edita fisierul /etc/sysconfig/network-scripts/ifcfg-eth1  astfel incat sa arate asa

DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.0.1
NETMASK=255.255.255.0
GATEWAY=10.1.10.43
 

Trebuie sa editati macar linia GATEWAY=X.X.X.X unde puneti adresa IP a placii de retea eth0 (externa). Aceast o puteti afla cu ajutorul comenzii

ifconfig care ar trebui sa arate eth0 inet addr:10.1.10.43 - de asta aveti nevoie.

Acum trebuie sa spuneti calculatorului vostru sa asculte cererile DCHP care vin din retea. Cand un calculator cauta o adresa DHCP trimite o cerere catre toti cei care asculta asta fiind adresa IP 255.255.255.255 asa ca trebuie sa spuneti server-ului DHCP sa asculte IP -ul respectiv:

route add -host 255.255.255.255 dev eth1

Acum putem testa configuratia. Mergeti la un calculator din retea, conectati-l la switch-ul in care este conectat router-ul ( daca nu ati facut-o deja), ar trebui sa primiti o adresa IP de la server-ul DHCP si sa puteti naviga pe internet.

De asemenea, puteti configura firewall-ul sa blocheze mai multe lucruri decat ce am facut pana aici pentru a va proteja reteaua interna folosind uneltele de configuratie ruland comanda setup pentru a spune firewall-ului ce sa blocheze. O regula de bun simt este sa blochezi tot si sa accepti doar ceea ce ai nevoie.

Pentru cei care nu au probleme cu engleza sursa originala o gasiti aici  CentOS 5 - Home Gateway Firewall With DHCP Server For Connection Sharing.

 

 

Comments (4)
Ptr Cent FORWARD
4 Sunday, 14 March 2010 22:00
NicuAdrian
iptables -A FORWARD -p tcp -m tcp -o eth+ --dport 55555 -j ACCEPT
service iptables save
service iptables restart



PS. This e-mail address is being protected from spambots. You need JavaScript enabled to view it
Ptr. Liviu si pentru OWNER SITE
3 Sunday, 14 March 2010 21:52
NicuAdrian
un sfat Liviu inainte de a zice nu merge incearca sa pui problema asfel:
asa am facut astea sunt conf mele ce am gresit ....

prima si prima data incearca sa faci un forward :
echo 1 > /proc/sys/net/ipv4/ip_forward

fii un pic mai explicit poate pot sa te ajut.

PS. mi-ar place daca tot este acest domeniu ar trebui sa fie mai multe tutoriale pe aici.
owner site aici iti las o adresa de mail poate doresti sa vb.
CEnt
2 Monday, 21 September 2009 07:01
Andrei
Ms mult pt tutorial, o sa il incerc weekendul asta, si o sa revin cu un feedback.
Am incercat weekendu trecut cu un ubuntu 8.04 si a fost greu de configurat

Inca ceva, cum se poate face port forwarding pe configuratia de mai sus (port : 55555)
Gateway/Router cuCentO 5.x
1 Wednesday, 19 August 2009 14:39
Liviu Dospinescu
Am urmat tot pasii si nu mege !
Configurare:
DSL/Cable modem: IP=192.168.2.1
eth0: IP=192.168.2.7

eth1: IP=192.168.3.1
Ofice Computers (Retea) pe eth1: Windows XP (2 PC-uri)

Manifestare: Windows-ul nu se regaseste in retea (nu vede internet-ul);
dandu-i un IP in "range" (de ex 192.168.3.200), nu se vede la "ping" si nici router-ul 192.168.3.1 nu raspunde, de pe client la, "ping" !
Nicio schimbare daca dezactivez firewall !

Vreo sugestie din partea impatimitilor de Linux (CentOS 5.3 mi s-a parut cel mai stabil dintre toate distributiile incercate)?

Add your comment

Your name:
Your website:
Subject:
Comment:
Last Updated on Tuesday, 03 March 2009 14:17