Home Router - gentoo wiki

Crearea propriului router de la componente vechi are multe avantaje față de cumpărările deja asamblate și sigilate la fabrica (Linksys, D-Link, Netgear etc.). Cel mai mare avantaj, desigur, este controlul asupra conexiunii. Celelalte beneficii pot fi lăsate la imaginația utilizatorului. Puteți face literalmente orice; este doar dacă este cu adevărat necesar.







Înainte de a începe, verificați lista cerințelor de bază:

  1. calculatorul trebuie să aibă cel puțin două adaptoare de rețea (NIC) instalate
  2. (opțional) adaptor Wi-Fi care acceptă modul master (modul punct de acces). Pentru modul master, se recomandă evitarea cardurilor de rețea cu ajutorul funcției bypass (modul de by-pass hardware), deoarece unele adaptoare de rețea necesită un driver proprietar. Fără a avea acces la conducătorul auto proprietate, cardul va rămâne în mod bypass permanent și nu va fi utilizat.
  3. veți avea nevoie de setări pentru conectarea la Internet (lucruri precum IP / DNS / gateway / username / password).
  4. veți avea nevoie de timp liber și de dragoste pentru Gentoo pentru a citi acest articol și pentru a configura cu succes un router acasă multifuncțional.

Ghidul folosește următoarele avertismente:

important
Din motive de securitate, este recomandat să opriți toate serviciile inutile de pe router până când paravanul de protecție este pornit. Pentru a afișa serviciile care rulează în prezent, purtați rc-status.

Configurarea kernel-ului (primul know yourself)

Kernel-ul are nevoie de drivere pentru ambele carduri de rețea instalate pe computer. Poate că cardurile de rețea sunt deja configurate - pentru a testa acest lucru, utilizați ifconfig. Concluzia poate fi ușor diferită de exemplul de mai jos, este în regulă. Cel mai important lucru este dacă interfața este listată.

rădăcina # ifconfig -a

et0 Legătură încapsulată: Ethernet HWaddr 00: 60: F5: 07: 07: B8

et1 Legătură încapsulată: Ethernet HWaddr 00: 60: F5: 07: 07: B9

Întrerupere: 10 Adresa de bază: 0x9400

Dacă vedeți numai una (sau nici una) dintre cele două cărți, încercați să executați lspci | grep Ethernet.

notă
Utilitarul lspci face parte din pachetul sys-apps / pciutils și poate fi setat prin executarea comenzii emerge sys-apps / pciutils.

După ce marca (urile) / modelul (urile) NIC (e) au fost primite, configurați kernel-ul cu suportul driverelor corespunzătoare. Pentru mai multe informații despre configurarea kernel-ului, consultați ghidul de configurare a kernel-ului.

Mai mult, este necesar să se sprijine iptables și NAT (și, de asemenea, dacă se dorește, modelarea (formarea pachetelor)). Următoarea listă este împărțită în întotdeauna necesară (*), necesară numai pentru ADSL prin PPPoE (a), oferită pentru toate (x) și numai pentru modelarea (a). Nu contează dacă funcția este integrată în kernel sau este compilată ca modul, când este necesară o anumită funcție, modulele necesare sunt încărcate automat. Pentru mai multe informații despre încărcarea modulelor, consultați Ghidul modulelor kernel-ului.

Kernel Activarea setărilor de rețea necesare

Pentru ca DHCP să funcționeze, trebuie să includeți următoarele, dacă utilizați kernelul 2.4.x:

Opțiuni de rețea pentru kernel

notă
În interfața menuconfig, ceva poate fi ușor diferit în kernelurile mai noi, dar nu este greu să dai seama care este diferența. Mult noroc!

Aproape de WAN (Internet)

Există multe moduri de a vă conecta la Internet, însă, de regulă, sunt utilizate pe scară largă doar câteva metode. ADSL (PPPoE) și modemurile de cablu (statice / dinamice) sunt două metode comune de furnizare a Internetului care utilizează ISP. Dacă există și alte modalități, nu ezitați să le scrieți în acest articol wiki. Săriți orice secțiune din acest capitol care este irelevantă. Acest capitol descrie modul de conectare a routerului la Internet prin intermediul cardului eth1.

ADSL și PPPoE

înlocui și în exemplul de mai jos, numele de utilizator și parola necesare:

Fișierul /etc/conf.d/net Utilizați adsl prin eth1 pentru ppp0

rădăcină # ln -s net.lo /etc/init.d/net.ppp0

rădăcină # rc-update adăugați net.ppp0 implicit

rădăcină # service net.ppp0 începe

Prevenirea
Dacă utilizatorii trec de la pachetul net-dialup / rp-pppoe. sau să aveți norocul să întâlniți pauze de conexiuni ciudate, consultați secțiunea MTU din capitolul Depanarea de mai jos.

IP dinamic prin cablu sau static

Utilizatori cu IP dinamic:

rădăcină # emerge --ask net-misc / dhcpcd

Utilizatorii cu IP static:

Fișierul /etc/resolv.conf Adăugați informații despre DNS

Pentru versiuni dinamice și statice:

rădăcină # ln -s net.lo /etc/init.d/net.eth1

rădăcină # rc-update adăugați net.eth1 implicit

root # serviciu net.eth1 începe

După modificările de mai sus, sistemul ar trebui să fie gata să continue.

Configurarea rețelei LAN (vom aduce prietenii noștri)

Dacă aveți nevoie de o punte de rețea, citiți instrucțiunile pentru configurarea podului de rețea. Denumiți podul de rețea (în mod implicit br0) și apoi înlocuiți dispozitivele locale de rețea eth0 cu br0 în acțiunile descrise în acest wiki. Dacă există un număr mare de dispozitive de rețea pe ruterul de acasă, atunci pentru ușurința administrării le puteți redenumi utilizând Udev. Configurarea podului și redenumirea dispozitivului este opțională, dar este recomandată pentru o rețea mare de domiciliu.







Când creați un punct de acces Wi-Fi, asigurați-vă că cardul Wi-Fi acceptă modul master și configurați Hostapd.

rădăcină # rc-update adăugați net.eth0 implicit

rădăcină # serviciu net.eth0 începe

Servicii LAN (suntem băieți buni)

Server DHCP

Ar fi minunat dacă cineva din casă ar putea conecta computerele la rețea, după care totul ar funcționa imediat. Fără a avea nevoie să vă amintiți datele confuze sau să vă priviți la fereastra cu setări complexe. Viața ar fi frumoasă, nu-i așa? Consultați Protocolul de configurare a gazdei dinamice (DHCP) și de ce merită să aveți grijă.

DHCP este un lucru care corespunde numelui său. Acesta este un protocol care vă permite să configurați alte noduri în mod automat, chiar la timpul de execuție. Porniți serverul DHCP de pe router, oferindu-i informații despre rețea (IP corect, servere DNS, gateway-uri etc.) și imediat ce alte computere sunt pornite, pornesc clientul DHCP. pentru a regla automat. Nu vă faceți griji, nu vă faceți griji! Pentru mai multe informații despre DHCP, puteți consulta întotdeauna articolul despre DHCP pe Wikipedia.

rădăcină # emerge --ask net-dns / dnsmasq

rădăcină # rc-update adăugați dnsmasq implicit

root # serviciu dnsmasq start

Configurarea interfeței este foarte importantă. Utilizarea setărilor implicite în dnsmasq va deschide routerul pentru atacurile de amplificare DNS, ceea ce poate duce la faptul că furnizorul vă va trimite un e-mail teribil. Asigurați-vă că routerul nu este afectat de atacurile de amplificare DNS utilizând [1].

Server DNS

Odată ce am început să folosim dnsmasq ca server DHCP, pe lângă pachetul include un server DNS, pur și simplu nu mai e nimic de făcut aici! Un mic router oferă deja DNS pentru clienții săi DHCP. Nu ar trebui să fie atât de simplu? ; # 41;

Puteți selecta întotdeauna alte servere DNS dacă acestea sunt mai convenabile pentru configurare. dnsmasq este folosit în acest articol, deoarece a fost proiectat să facă exact ceea ce este necesar în acest articol. Acesta este un mic server cache / redirecționare DNS pentru rețelele locale. Manualul nu explică modul de creare a DNS pe propriul domeniu; ci oferă pur și simplu un serviciu DNS simplu pentru fiecare utilizator din LAN-ul de acasă.

NAT (sau IP masquerading)

În această etapă, persoanele din rețea pot comunica între ele și pot vedea numele gazdă prin DNS, dar încă nu pot să se conecteze la Internet. În timp ce administratorul de rețea (persoana care citește acest lucru) crede că totul este cool (mai multă lățime de bandă pentru Admin!), Alți utilizatori nu sunt probabil foarte fericiți fără Internet.

notă
Înainte de a începe, asigurați-vă că sistemul iptables a fost instalat pe sistem. Dacă nu este instalat, instalați-l: emerge iptables.

După instalarea iptables, ștergeți regulile:

root # iptables -F

rădăcină # iptables -t nat -F

Odată ce textul de mai sus a fost introdus, ceilalți utilizatori ai rețelei ar trebui să poată utiliza Internetul ca și cum ar fi conectați direct.

Lucruri amuzante (pentru o zi ploioasă)

Credeți sau nu, este făcut! Această secțiune va discuta câteva subiecte generale care ar putea fi de interes. Citirea tuturor informațiilor conținute în această secțiune este opțională.

Uneori, utilizatorii trebuie să introducă anumite servicii pe computerele din spatele routerului sau trebuie să se conecteze de la distanță la computerul din spatele ruterului. Poate că serverul FTP, HTTP, SSH sau VNC este necesar pe unul sau mai multe computere din spatele routerului, iar cei din afară trebuie să se conecteze la toate. Singura restricție este Port Forwarding - pentru fiecare port poate fi instalat un singur serviciu / aparat. De exemplu, nu există nici o modalitate normală de a configura trei servere FTP în spatele unui router și conectați-le la toate prin portul 21; un singur sistem poate fi pe portul 21, iar restul trebuie să fie pe alte porturi (de exemplu, porturile 123 și 567).

rădăcină # export LAN = eth0

rădăcină # export WAN = eth1

Trecerea portului 2 la portul ssh al gazdei interne:

rădăcină # iptables -t nat -A PREROUTING -p tcp --dport 2 $ -j DNAT -I --to 192.168.0.2:22

DHCP nu pornește

Prima dată când scriptul init.d este rulat pentru dhcp, este posibil să nu reușească, fără a furniza informații utile.

root # service dhcp start

Trucul este de a ști unde dhcpd direcționează ieșirea. Accesați / var / log și citiți fișierele jurnal. Dacă un fișier jurnal depinde de pachetul utilizat ca syslog, încercați să executați grep -Rl dhcpd / var / log. pentru a restrânge căutarea. Cel mai probabil, o fișă de tipărire a fost făcută în fișierul de configurare. De asemenea, puteți rula dhcpd -d -f (abreviat ca debug / foreground). Rezultatul programului poate ajuta la depistarea erorilor.

Valoare MTU greșită

Dacă apar erori ciudate (cum ar fi incapacitatea de a accesa anumite pagini web atunci când ceilalți se încarcă perfect), este posibil să existe o problemă cu Descoperirea traseului MTU. Acest lucru poate fi testat rapid executând următoarele comenzi iptables:

rădăcină # iptables -A FORWARD -p tcp -tcp-flags SYN, RST SYN -j TCPMSS -clamp-mss-to-pmtu

Acest lucru va afecta toate conexiunile noi; actualizați site-ul cu probleme pentru a verifica remedierea. În cazul în care acest lucru ajută, valoarea standard MTU pentru rețelele locale cu o conexiune de 100mbit 1500; această valoare se aplică și pentru PPPoA. Pentru conexiunile PPPoE, acesta este 1492. Pentru mai multe informații, citiți Capitolul 15 din Routing Linux Advanced Controlul traficului HOWTO.

Dacă comanda anterioară nu funcționează, încercați să adăugați această regulă la tabelul de mangle. Doar adăugați manga la comanda.

Nu este posibil să conectați direct două calculatoare

În cazul în care (indiferent de motiv) trebuie să conectați direct două computere fără un hub (hub) sau comutator, atunci cel mai probabil, nu se va face în mod obișnuit de Ethernet prin cablu, dacă nu există o placă de rețea care acceptă Auto MDI / MDI-X (de asemenea, cunoscut sub numele de "auto-detectare"). De asemenea, veți avea nevoie de un cablu crossover pentru a conecta cardul de rețea direct la alt card de rețea. Pagina Wikipedia conține informații detaliate de nivel scăzut.

Concluzii

Nu există note de închidere. Dacă există probleme cu acest manual, fie scrieți informațiile corecte în articol, fie lăsați un mesaj scurt pe pagina de discuții a acestui articol, cu un rezumat al exact exact nu este adevărat (în limba engleză). În final, cineva va citi acest mesaj și va rezolva această problemă (probleme). De asemenea, puteți să emiteți o eroare pe bug-ul Gentoo (de exemplu, în limba engleză, de exemplu). Dacă există unele informații care pot îmbunătăți acest articol, atunci îl includeți imediat în articol! Cel mai rău lucru care se poate întâmpla este că poate fi șters dacă nu este corect. Acest articol se bazează pe un document anterior găsit pe site-ul nostru principal gentoo.org.
Următoarele persoane au contribuit la documentul original: Mike Frysinger (vapier)
Ele sunt listate aici ca Wiki. Istoria nu permite nici o atribuire externă. Dacă editați articolul Wiki, nu vă adăugați aici; contribuțiile dvs. sunt înregistrate pe pagina de istoric.







Trimiteți-le prietenilor: