Ghid pentru Router Personal
1.
Introducere
Construirea propriului router din piese folosite are multe avantaje comparabil
cu cumpărarea unui router nou, să zicem Linksys. Cel mai mare avantaj îl
reprezintă controlul conexiunii. Restul avantajelor le las la imaginaţia
voastră, aproape totul poate fi făcut în acest scenariu, depinde ce doriţi.
Acest ghid vă arată cum să setaţi NAT (Network Address Translation -
Translatarea Adreselor de Reţea) pe router (kernel şi iptables), să adăugaţi şi
să configuraţi servicii tipice (Domain Name System (DNS - Sistemul de Nume de
Domeniu) prin intermediul dnsmasq, dhcp via dhcpd, ADSL via rp-pppoe), şi
finalizând cu limitare de trafic (port forwarding, servere pentru proxy/pentru
caching, etc...).
Înainte de a începe, sunt câteva lucruri pe care ar trebui să le ştiţi. Pentru
început, aveţi nevoie de un calculator cu minim 2 plăci de reţea montate. Apoi,
aveţi nevoie de configurările pentru conexiunea la internet (cum ar fi
IP/DNS/Gateway/utilizator/parolă). Şi mai aveţi nevoie de ceva timp liber şi
pasiune pentru Gentoo.
Convenţiile folosite în acest ghid sunt:
- eth0 - Placa de reţea conectată la reţeaua locală (LAN)
- eth1 - Placa de reţea conectată la reţeaua externă (WAN)
- LAN utilizează adresele private 192.168.0.xxx
- router-ul are adresa IP standard 192.168.0.1
- router-ul utilizează kernelul 2.4 sau 2.6; sunteţi pe cont propriu cu 2.0/2.2
Important:
Din motive de securitate, vă recomand să opriţi toate serviciile de care nu
aveţi nevoie pe router până când firewall-ul este configurat şi pornit. Ca să
vedeţi serviciile pornite rulaţi rc-status.
|
2.
Configurare kernel
Cele două plăci de reţea trebuie să fie activate din kernel. Ca să vedeţi dacă
plăcile sunt activate, rulaţi ifconfig. Este posibil ca la dumneavoastră
textul afişat să difere, nu este nici o problemă. Contează ca interfeţele de
reţea să fie afişate.
Cod 2.1: Verificarea plăcilor |
# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:60:F5:07:07:B8
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:11 Base address:0x9800
eth1 Link encap:Ethernet HWaddr 00:60:F5:07:07:B9
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:10 Base address:0x9400
|
Dacă nu vedeţi 2 plăci şi nu sunteţi sigur ce plăci deţineţi,
rulaţi comanda lspci | grep Ethernet, care o puteţi obţine cu
emerge pciutils. După ce aveţi aceste informaţii, adăugaţi în
kernel driver-ele corespunzătoare.
Următorul lucru ce avem nevoie este suportul pentru iptables şi NAT (şi
limitare de pachete dacă doriţi). Următoarea listă este împărţită
în necesare (*), necesare doar pentru adsl prin PPoE (a), sugerate (x),
îmbunătăţiri pentru limitare (s). Nu contează dacă le compilaţi în
kernel sau ca modul pentru că atunci când este folosit sunt încărcate
modulele corespunzătoare (cum procedaţi depinde de dumneavoastră).
Cod 2.2: Opţiuni la reţea |
Networking options --->
[*] TCP/IP networking
[*] IP: advanced router
[*] Network packet filtering (replaces ipchains)
[*] Socket Filtering
IP: Netfilter Configuration --->
[*] Connection tracking (required for masq/NAT)
[x] FTP protocol support
[x] IRC protocol support
[*] IP tables support (required for filtering/masq/NAT)
[*] IP range match support
[x] MAC address match support
[*] Multiple port match support
[*] Packet filtering
[*] REJECT target support
[x] REDIRECT target support
[*] Full NAT
[*] MASQUERADE target support
[s] Packet mangling
[s] MARK target support
[x] LOG target support
QoS and/or fair queueing --->
[s] QoS and/or fair queueing
[s] HTB packet scheduler
[s] Ingress Qdisc
[a] PPP (point-to-point protocol) support
[a] PPP filtering
[a] PPP support for async serial ports
[a] PPP support for sync tty ports
[a] PPP Deflate compression
[a] PPP BSD-Compress compression
[a] PPP over Ethernet
|
Notă:
În versiunea de kernel 2.6 este puţin diferit, dar vă veţi da seamă singuri cum
să procedaţi.
|
3.
Bine aţi venit în WAN (a.k.a. Internetul)
Introducere
Sunt multe moduri de conectare la internet aşa că voi acoperi pe cele care le
cunosc mai bine. Aşa că rămânem cu ADSL (PPPoE) şi dispozitive modem de cablu
statice/dinamice. Dacă sunt şi alte metode, nu ezitaţi să mă contactaţi. Puteţi
sări oricare din următoarele secţiuni în acest capitol, dacă este necesar.
Acest capitol este numai despre conectarea router-ului la internet prin eth1.
ADSL şi PPPoE
Majoritatea aplicaţiilor pentru PPPoE este integrată într-un singur pachet
numit Roaring Penguin. Daţi
comanda emerge rp-pppoe ca să continuaţi. Vă aduceţi aminte când v-am
zis că aveţi nevoie de informaţii despre user/parolă? Ei bine, nu v-am minţit
şi sper că aveţi datele!Deschideţi editorul preferat şi editaţi
/etc/ppp/pppoe.conf cu datele respective.
Notă:
Ca să funcţioneze setările net, aveţi nevoie să fie instalat baselayout-1.11.14
sau mai nou.
|
Cod 3.1: Configurarea eth1 |
# nano /etc/ppp/pap-secrets
"vla9h924" * "password"
# nano /etc/conf.d/net
config_eth1=( "adsl" )
user_eth1=( "vla9h924" )
# ln -s net.lo /etc/init.d/net.eth1
# rc-update add net.eth1 default
# /etc/init.d/net.eth1 start
|
Atenţie:
Când este pornită interfaţa DSL va crea ppp0. Cu toate că placa de reţea este
numită eth1, IP-ul este, de fapt, asociat cu ppp0. De acum înainte, în
exemplele care folosesc 'eth1' înlocuiţi-l cu 'ppp0'.
|
Adresele IP statice/dinamice
Dacă aveţi o adresă IP statică atunci veţi avea nevoie de câteva detalii în
plus comparabil cu cazul în care aveaţi o adresă IP dinamică. Aceste detalii
sunt IP, gateway, şi server-ele DNS.
Cod 3.2: Configurarea eth1 |
# emerge dhcpcd
# nano /etc/conf.d/net
config_eth1=( "dhcp" )
# nano /etc/conf.d/net
config_eth1=( "66.92.78.102 broadcast 66.92.78.255 netmask 255.255.255.0" )
routes_eth1=( "default gw 66.92.78.1" )
# nano /etc/resolv.conf
nameserver 123.123.123.123
# ln -s net.lo /etc/init.d/net.eth1
# rc-update add net.eth1 default
# /etc/init.d/net.eth1 start
|
Ar trebui ca totul să meargă acum.
4.
Reţeaua LAN
Acest pas este mai uşor ca cel precedent.
Cod 4.1: Configurarea eth0 |
# nano /etc/conf.d/net
config_eth0=( "192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0" )
# rc-update add net.eth0 default
# /etc/init.d/net.eth0 start
|
5.
Servicii de reţea
Server DHCP
Ar fi interesant ca restul persoanelor din casă să îşi poată conecta sistemul
la reţea şi să funcţioneze instantaneu. Nu trebuie să vă aduceţi aminte de
setări sau să le arătaţi ecrane de configurare! Viaţa ar fi mai uşoară, nu?
Este posibil cu Protocolul de Configurare Dinamică a Gazdei (DHCP, Dynamic Host
Configuration Protocol în engleză).
DHCP este exact ce sugerează numele. Este un protocol care vă permite să
configuraţi dinamic alte gazde automat. Rulaţi un server DHCP pe router
daţi-i toate informaţiile despre reţea (IP-uri valide, servere DNS, adrese
de gateway, etc...), şi atunci când celelalte gazde vor porni, ei vor rula
un client DHCP pentru care se configurează automat. Simplu, nu ? Pentru mai
multe informaţii despre DHCP puteţi vizita Wikipedia
Vom utiliza un pachet denumit dnsmasq, ce oferă atât serviciul DHCP cât
şi serviciul DNS. Pentru moment, sa ne concentrăm asupra aspectului despre
DHCP. Aveţi în vedere faptul că, dacă rulaţi un server de DHCP diferit,
puteţi găsi un alt exemplu, în capitolul despre lucruri amuzante. De
asemenea, dacă doriţi să jonglaţi cu setările DHCP, trebuie să
consultaţi comentariile din /etc/dnsmasq.conf. Toate setările
implicite ar trebui să funcţioneze corect, totuşi.
Cod 5.1: Setarea unui server DHCP |
# emerge dnsmasq
# nano /etc/dnsmasq.conf
dhcp-range=192.168.0.100,192.168.0.250,72h
interface=eth0
# rc-update add dnsmasq default
# /etc/init.d/dnsmasq start
|
Acum, router-ul nostru este un server DHCP! Conectaţi acele sisteme şi
urmăriţi-le cum lucrează! Pe sistemele Windows ar trebui să setaţi de
la proprietăţi TCP/IP şi selectaţi 'Obtain an IP address automatically'
şi opţiunea 'Obtain DNS server address automatically'. Câteodată
schimbările nu sunt instantanee, aşa că ar trebui să deschideţi linia
de comandă şi să rulaţi ipconfig /release şi ipconfig
/renew. Am vorbit destul despre Windows, să ne întoarcem la pinguin.
Server DNS
Când oamenii doresc să viziteze o locaţie pe internet, ei îşi aduc aminte de
nume, nu de un şir de numere ciudate. Ce este mai uşor de ţinut minte, ebay.com
sau 66.135.192.87? În această situaţie intervine DNS. Server-ele DNS rulează
peste tot pe Internet, şi de fiecare dată când cineva doreşte să viziteze
'ebay.com', aceste servere transformă 'ebay.com' (ce înţelegem noi) în
'66.135.192.87' (ce înţeleg calculatoarele). Pentru mai multe informaţii despre
DNS, puteţi vizita Wikipedia.
Deoarece utilizăm dnsmasq ca server DHCP, şi acesta include un server DNS,
nu mai aveţi nimic de făcut aici! Micul dvs. ruter oferă deja sevicii DNS
clienţilor de DHCP. V-aţi fi dorit să fie totul aşa de uşor ;).
Sunteţi bineveniţi să alegeţi alte aplicaţii server DNS dacă sunteţi
mai confortabil aşa, dar motivul pentru care dnsmasq este bun, este faptul
că a fost proiectat să facă exact ce dorim, şi nu mai mult. Este un mic
server de cache/forwarding pentru reţele locale. Nu căutăm să oferim DNS
pentru propriul nostru domeniu, aici, ci doar să oferim servicii DNS pentru
oricine altcineva din reţeaua noastră locală.
NAT (a.k.a. IP-masquerading)
În acest punct, cei de pe reţea pot vorbi între ei, dar nu se pot încă conecta
la internet. Vă puteţi gândi că acest lucru nu e chiar rău (rată de transfer
mai mare pentru dumneavoastră), pun pariu că ceilalţi nu vor fi aşa fericiţi ca
dumneavoastră.
Aici intervine Translatarea Adreselor de Reţea (eng.: Network Address
Translation - NAT). NAT este o modalitate de a conecta mai multe calculatoare
dintr-o reţea locală la Internet şi când aveţi o listă mică de
adrese IP. De obicei aveţi o singură adresă IP de la ISP, cu care puteţi
conecta întreaga casă la Internet. NAT este magia care face acest lucru
posibil. Pentru mai multe informaţii despre NAT consultaţi pagina Wikipedia.
Notă:
Înainte să porniţi, asiguraţi-vă că este instalat iptables. Cu toate că este
instalat automat în majoritatea sistemelor, este posibil să nu fie. Dacă nu
este instalat atunci rulaţi emerge iptables.
|
Cod 5.2: Configurarea iptables |
# iptables -F
# iptables -t nat -F
# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD DROP
# export LAN=eth0
# export WAN=eth1
# iptables -I INPUT 1 -i ${LAN} -j ACCEPT
# iptables -I INPUT 1 -i lo -j ACCEPT
# iptables -A INPUT -p UDP --dport bootps -i ! ${LAN} -j REJECT
# iptables -A INPUT -p UDP --dport domain -i ! ${LAN} -j REJECT
# iptables -A INPUT -p TCP --dport ssh -i ${WAN} -j ACCEPT
# iptables -A INPUT -p TCP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP
# iptables -A INPUT -p UDP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP
# iptables -I FORWARD -i ${ALN} -d 192.168.0.0/255.255.0.0 -j DROP
# iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.0.0 -j ACCEPT
# iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT
# iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward
# for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
# /etc/init.d/iptables save
# rc-update add iptables default
# nano /etc/sysctl.conf
|
După ce aţi rulat comenzile, restul reţelei ar trebui să poate folosi
internetul ca şi cum ar fi conectaţi direct.
6.
Opţiuni Amuzante (pentru o zi ploioasă)
Introducere
Credeţi sau nu dar este gata. De aici încolo voi acoperi nişte subiecte care
v-ar interesa. Totul din acesta capitol este opţional.
Transferul de Porturi
Câteodată doriţi sa puteţi avea servicii pe un calculator care se află în
spatele unui router, sau să vă faceţi viaţa mai uşoară conectându-vă de la
distanţă. Poate mai doriţi să rulaţi FTP, HTTP, SSH sau un server VNC la unul
sau mai multe calculatoare din spatele router-ului. Singura problemă este că
trebuie să aveţi câte un serviciu/maşină per port. De exemplu, nu este o metodă
practică de a seta 3 servere ftp în spatele routerului şi după aia să vă puteţi
la ele prin portul 21; numai unul poate fi pe portul 21 în timp ce restul va
trebui să fie setate pe porturile 123 şi 567.
Toate regulile pentru transferul de porturi sunt de forma iptables -t nat -A
PREROUTING [-p protocol] --dport [port extern pe router] -i ${WAN} -j DNAT --to
[ip/port care trebuie transferat]. Din păcate, iptables nu acceptă nume
de maşini gazdă când transferă porturile. Dacă transferaţi un port
extern către acelaşi port folosit pe maşina curentă, puteţi omite
portul destinaţie. Consultaţi pagina de manual iptables(8) pentru mai multe
informaţii.
Cod 6.1: Rularea comenzilor iptables |
# export LAN=eth0
# export WAN=eth1
# iptables -t nat -A PREROUTING -p tcp --dport 2 -i ${WAN} -j DNAT --to 192.168.0.2:22
# iptables -t nat -A PREROUTING -p tcp --dport 21 -i ${WAN} -j DNAT --to 192.168.0.56
# iptables -t nat -A PREROUTING -p tcp --dport 80 -i ${WAN} -j DNAT --to 192.168.0.56
# iptables -t nat -I PREROUTING -p tcp --dport 5900 -i ${WAN} -j DNAT --to 192.168.0.2
# iptables -t nat -I PREROUTING -p tcp --dport 5901 -i ${WAN} -j DNAT --to 192.168.0.3:5900
# iptables -t nat -A PREROUTING -p tcp --dport 6881:6889 -i ${WAN} -j DNAT --to 192.168.0.2
# iptables -t nat -A PREROUTING -p tcp --dport 4662 -i ${WAN} -j DNAT --to 192.168.0.55
# iptables -t nat -A PREROUTING -p udp --dport 4000 -i ${WAN} -j DNAT --to 192.168.0.56
# iptables -t nat -A PREROUTING -p tcp --dport 10070:10080 -i ${WAN} -j DNAT --to 192.168.0.11
# iptables -t nat -A PREROUTING -p udp --dport 10070:10080 -i ${WAN} -j DNAT --to 192.168.0.11
# iptables -t nat -A PREROUTING -p tcp --dport 3074 -i ${WAN} -j DNAT --to 192.168.0.69
# iptables -t nat -A PREROUTING -p udp --dport 3074 -i ${WAN} -j DNAT --to 192.168.0.69
# iptables -t nat -A PREROUTING -p udp --dport 88 -i ${WAN} -j DNAT --to 192.168.0.69
|
Notă:
Dacă aveţi alte exemple interesante, vă rog să îmi scrieţi un mesaj.
|
Identd (pentru IRC)
Internet Relay Chat foloseşte serviciile ident foarte mult. Acum, deoarece
clienţii irc sunt în spatele unui router, aveţi nevoie să găzduiţi ident pentru
clienţi şi router. Un asemenea server este midentd.
Cod 6.2: Configurarea ident |
# emerge midentd
# rc-update add midentd default
# /etc/init.d/midentd start
|
Mai sunt câteva servere ident în portage. Depinde de nevoile dumneavoastră, vă
recomand să mai încercaţi oidentd şi fakeidentd.
Server de Timp
Setând ora sistemului bine este esenţial în menţinerea corectă a unui sistem.
Una dintre cele mai comune metode este să folosiţi Network Time Protocol (NTP)
şi pachetul ntp (care implementează atât clientul cât şi serverul).
Multă lume rulează clienţi ntp pe calculatoare. Evident, cu cât folosesc mai
mulţi serviciul, cu atât serverele ntp din lume sunt mai încărcate. În medii ca
reţelele de acasă, puteţi ajuta încărcarea pe serverele publice configurând un
server ntp pe router. Ca o facilitate în plus, actualizările private vor fi mai
rapide şi pe client! Tot ce trebuie să faceţi este să configuraţi un server ntp
pe router care să se sincronizeze cu serverele publice în timp ce serveşte
clienţii de pe reţeaua locală. Pentru început, daţi comanda emerge ntp
pe router.
Cod 6.3: Configurarea unui server NTP |
# nano /etc/conf.d/ntp-client
# rc-update add ntp-client default
# nano /etc/ntp.conf
restrict default ignore
restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap
# nano /etc/conf.d/ntpd
# rc-update add ntpd default
# /etc/init.d/ntp-client start
# /etc/init.d/ntpd start
|
Notă:
Ar trebui să vă asiguraţi că permiteţi comunicaţia spre şi dinspre router
pentru portul ntp (123/udp) când setaţi server-ul. Clienţii vor avea nevoie
doar de acces spre router pe portul 123 pe udp.
|
Acum, la clienţi, rulaţi tot emerge ntp. Veţi avea de setat numai
clientul ntp.
Cod 6.4: Setarea unui client NTP |
# nano /etc/conf.d/ntp-client
# rc-update add ntp-client default
# /etc/init.d/ntp-client start
|
Server de Rsync
Pentru cei ce rulează mai multe maşini Gentoo în aceeaşi reţea locală, este
de dorit să nu efectuaţi pe fiecare maşină emerge sync cu server-e la
distanţă. Prin setarea unui server de rsync local, salvaţi atât banda dvs.,
cât şi banda server-elor de rsync Gentoo. Este destul de simplă operaţiunea.
Notă:
Pentru un ghid de rsync explicat mai în amănunt, vă rugăm să consultaţi ghidul rsync oficial.
|
Deoarece fiecare maşină Gentoo necesită rsync, nu mai este necesară instalarea
acestuia. Editaţi fişierul implicit /etc/rsyncd.conf, decomentaţi
secţiunea [gentoo-portage] şi asiguraţi-vă că adăugaţi o opţiune
address. Toate celelalte opţiuni implicite, ar trebui să fie corecte.
Cod 6.5: Configurarea server-ului de rsync |
pid file = /var/run/rsyncd.pid
use chroot = yes
read only = yes
address = 192.168.0.1
[gentoo-portage]
path = /mnt/space/portage
comment = Gentoo Linux Portage tree
exclude = /distfiles /packages
|
Apoi, trebuie să porniţi serviciul (din nou, opţiunile implicite sunt OK).
Cod 6.6: Pornirea server-ului de rsync |
# /etc/init.d/rsyncd start
# rc-update add rsyncd default
|
Singurul lucru rămas este să setaţi clienţii dvs. să efectueze sync de pe
router.
Cod 6.7: Setări de client în make.conf |
SYNC="rsync://192.168.0.1/gentoo-portage"
|
Server de mail
Câteodată ar fi interesant să rulaţi o aplicaţie server Simple Mail Transfer
Protocol (SMTP) pe router. Clienţii vor trimite mesaje instantaneu, în timp ce
munca reîncercărilor şi rutării este lăsată serverului de mail. Unele companii
ISP nu permit rutarea mailului dacă utilizatorii nu fac parte din reţeaua lor
(cum ar fi Verizon). De asemenea, puteţi manipula mai uşor mailurile cu
ataşamente mari, reducând încărcarea traficului.
Cod 6.8: Setarea unui server SMTP |
# emerge qmail
# ebuild /var/db/pkg/*-*/qmail-1.03-r*/*.ebuild config
# iptables -I INPUT -p tcp --dport smtp -i ! ${LAN} -j REJECT
# ln -s /var/qmail/supervise/qmail-send /service/qmail-send
# ln -s /var/qmail/supervise/qmail-smtpd /service/qmail-smtpd
# cd /etc
# nano tcp.smtp
192.168.0.:allow,RELAYCLIENT=""
# tcprules tcp.smtp.cdb rules.tmp < tcp.smtp
# rc-update add svscan default
# /etc/init.d/svscan start
|
Eu sunt un fan al qmail, dar puteţi folosi altă aplicaţie MTA. Când efectuaţi
setările de mesagerie la gazde trebuie să le specificaţi că serverul SMTP este
192.168.0.1 şi totul ar trebui să funcţioneze. Puteţi consulta pagina oficială qmail pentru mai multe informaţii.
Server DHCP Complet
Mai devreme, am utilizat dnsmasq pentru a oferi servicii DHCP pentru toţi
clienţii noştri. Pentru majoritatea utilizatorilor cu o reţea locală
mică, acesta este binevenit. Dar, aţi putea avea nevoie de ceva cu mai multe
funcţionalităţi. Astfel, ne transformăm într-un server DHCP cu toate
funcţionalităţile, aşa cum este oferit de cei de la ISC.
Cod 6.9: Setarea dhcpd |
# emerge dhcp
# nano /etc/dhcp/dhcpd.conf
authoritative;
ddns-update-style interim;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.250;
default-lease-time 259200;
max-lease-time 518400;
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;
}
# nano /etc/conf.d/dhcpd
# rc-update add dhcpd default
# /etc/init.d/dhcpd start
|
Aceasta este setarea minimală, necesară pentru a înlocui funcţionalitatea
DHCP a dnsmasq utilizat anterior. Apropos, v-aţi amintit să dezactivaţi
funcţionalităţile de DHCP din dnsmasq, nu-i aşa? Dacă nu, ar trebui
să faceţi acest lucru (trebuie doar să comentaţi setarea
dhcp-range din /etc/dnsmasq.conf şi să restartaţi
serviciul).
Conectaţi O Altă Reţea LAN (sau două sau trei sau ...)
Uneori aveţi nevoie să conectaţi router-ul la altă reţea LAN. Poate că
vreţi să vă legaţi cu un grup de prieteni temporar, sau sunteţi un
ciudat şi doriţi să împărţiţi diferite grupuri de sisteme sau chiar
vă plictisiţi. Oricare ar fi motivele, extinderea router-ului pentru alte
reţele LAN ar trebui să fie simplă. În următoarele exemple vom
presupune că această reţea nouă este conectată printr-o a treia
placă de reţea, şi anume eth2.
Mai întâi trebuie să configuraţi reţeaua. Trebuie doar să urmaţi
instrucţiunile din codul 4.1 şi să
înlocuiţi eth0 cu eth2 şi 192.168.0 cu
192.168.1.
Apoi, trebuie să configuraţi dnsmasq să servească şi noua
interfaţă. Trebuie doar să editaţi fişierul
/etc/conf.d/dnsmasq din nou şi să adăugaţi -i eth2
directivei DNSMASQ_OPTS; utilizarea de mai multe ori a parametrului -i este
corectă. Apoi, editaţi /etc/dnsmasq.conf şi adăugaţi o
altă linie similară cu cea de dhcp-range din codul 5.1, înlocuind 192.168.0 cu
192.168.1. Prezenţa mai multor linii dhcp-range este corectă, de
asemenea.
La sfârşit, consultaţi regulile din codul
5.2 şi duplicaţi regulile ce conţin -i ${LAN}. Aţi putea să
creaţi o altă variabilă, să spunem LAN2, pentru a vă uşura
munca.
7.
Probleme
Instrumente Utile
Dacă aveţi probleme în a vă face sistemele să comunice, puteţi încerca
următoarele utilitare (toate dintre ele pot fi regăsite în categoria portage
net-analyzer):
| Utilitar |
Descriere |
| ethereal |
utilitar în mod grafic pentru a vizualiza toate datele din reţea în stare
brută, în concordanţă cu unele filtre
|
| tcpdump |
utilitar de consolă pentru a afişa toate datele de reţea în stare brută, în
concordanţă cu unele filtre
|
| iptraf |
aplicaţie de monitorizare a adreselor IP din reţeaua LAN bazată pe ncurses |
| ettercap |
aplicaţie de monitorizare/controlare a reţelei bazată pe ncurses |
DHCP Nu Porneşte
Când porniţi script-ul init.d pentru dhcp pentru prima dată, este posibil să
nu se încarce şi nu vă oferă nici o informaţie utilă.
Cod 7.1: Exemplu de Eroare pentru DHCP |
# /etc/init.d/dhcp start
* Setting ownership on dhcp.leases ... [ ok ]
* Starting dhcpd ... [ !! ]
|
Trucul constă în a cunoaşte unde îşi transmite dhcp textul afişat. Deoarece
fişierul exact de log depinde de pachetul utilizat ca aplicaţie syslog,
încercaţi să rulaţi grep -Rl dhcpd /var/log pentru a micşora
posibilităţile. Şansele sunt ca dvs. să fi efectuat vreo greşeală în fişierul
dvs. de configurare. Puteţi, de asemenea, să încercaţi să rulaţi dhcpd -d
-f (prescurtarea de la modul depanare / fără rulare în fundal) şi să
depanaţi eroarea pe baza textului afişat.
Valoare MTU Incorectă
Dacă întâlniţi erori ciudate (cum ar fi pentru unele pagini web, în timp ce
altele se încarcă corect), este posibil să aveţi probleme cu Path MTU
Discovery. Cea mai rapidă soluţie pentru a testa este rularea următoarei
comenzi iptables:
Cod 7.2: Valori MTU incorecte |
# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
|
Aceasta va afecta toate conexiunile noi, deci trebuie doar să reîncărcaţi
pagina de web pentru care aveţi probleme, pentru a testa. În cazul în care vă
ajută, valoarea MTU standard pentru conexiunile ethernet de 100mbit este de
1500, in timp ce pentru conexiunile PPPoE aceasta este 1492.
Pentru mai multe informaţii, ar trebui să consultaţi Capitolul 15 din Ghidul pentru Rutare Avansată şi Controlul
Traficului în Linux.
8.
Note finale
Nu am note finale decât dacă aveţi probleme cu acest ghid nu ezitaţi să mă
contactaţi pe adresa personală sau să
raportaţi un bug la Site-ul pentru
Urmărirea Bug-urilor al Gentoo. Dacă aveţi idei interesante despre cum aş
putea îmbunătăţi acest ghid, contactaţi-mă pe adresa specificată anterior.
Conţinutul acestui document este publicat sub licenţa Creative Commons -
Attribution / Share Alike.
|