intrare
Acest ghid se referă la modul de configurare a unui PC Ubuntu standard, ca un substitut pentru router-ul de consum normal (router), dar mult mai puternic și cu mult mai multă funcționalitate. Acest lucru este valabil și pentru unele filtru QOS pentru a ajuta la îmbunătățirea vitezei de rețea și de latență. Dacă aveți dificultăți cu un fel de etape, echipele de recuperare care pot ajuta sunt listate la sfârșitul anului. De asemenea, instrucțiuni despre cum să se întoarcă pe deplin toate modificările făcute în manualele de formare enumerate.
Am scris aceste recomandări practice, pentru că am vrut să personaliza serverul Ubuntu ca un router, și din cauza lipsei de alte HOWTO-uri moderne și la prețuri accesibile de management pe acest subiect, a trebuit să-l totul a crea singur. Am vrut să documenteze ceea ce am învățat, astfel încât pentru a salva o mulțime de timp și eforturi ale altora.
Se presupune că dacă citiți acest ghid, aveți cunoștințe de bază a ceea ce face de fapt firewall / gateway-ul, care este baza pentru organizarea rețelelor NAT și IP. În caz contrar, vă sugerăm să citiți și să digere următoarele informații, și apoi a reveni la citirea acestui ghid:
Veți avea nevoie, de asemenea, să fie un terminal de pe masina pe care efectuați setările. Eu nu recomandăm setarea numai de la distanță prin ssh, dacă aveți, de asemenea, nu au acces fizic la PC, de asemenea comis o eroare de reguli firewall și sistem sigur pentru acces de la distanță.
Configurarea de bază (minim necesar este necesar pentru a obține operarea și pentru a asigura un router NAT)
cerinţe
Pentru a configura sistemul aveți nevoie de un PC cu sistem de rezervă Ubuntu, și două plăci de rețea. Sistemul nu este în caietul de sarcini nuzhnaetsya puternic. Am început router-ul meu la P3 MHz, 600 cu 512 MB de memorie, dar cred că ai putea face cu ușurință același lucru pe ceva mai rapid decât P2 200 MHz și 128 MB de memorie. Orice versiune de Ubuntu va funcționa, desktop sau ediție server. Singura diferență reală - faptul că nu există nici un GUI la server. Aceasta nu este o problemă, oricum vom folosi cea mai mare parte linia de comandă.
software-ul
Acest ghid folosește Webmin ca o interfață web pentru a configura iptables reguli și servere necesare. Imi place sa folosesc Webmin în loc de script-uri, deoarece webmin udoeban mai mult și mai ușor de înțeles decât script-ul cu aceeași funcționalitate. Deschideți un terminal și a alerga komandamy de mai jos pentru a instala software-ul necesar:
sudo aptitude install bind9 dhcp3-server perl libnet-SSLeay-perl openssl libauthen-pam-perl libpam-rulare libio-pty-perl libmd5-perl
Puteți găsi cea mai recentă versiune de Webmin aici ca un pachet pentru debian:
Cea mai recentă versiune la momentul scrierii a fost versiune 1.430 pentru a instala această versiune, executați următoarea comandă:
NOTĂ: Aceasta este - o idee foarte proastă să lase Webmin deschisă către lumea exterioară. Numai parola de utilizator se află între un atacator control complet de la distanță asupra PC-ului. NU FACE ASTA. Dacă într-adevăr nevoie pentru a avea acces la Webmin la distanță, cred că știi ce faci și știu cum să folosească ssh tunelelor
Toate pagina de configurare, accesibilă din meniul principal din partea stângă.
Webmin este acum gata de funcționare.
Configurarea plăci de rețea
Din moment ce doriți să utilizați acest computer ca un router, ar trebui să aveți deja două plăci de rețea. Trebuie să știi numele lor, și trebuie să decidă care interfață ar trebui să fie pentru conexiunea la Internet și ceea ce ar trebui să fie conectat la rețeaua locală. Pentru a afla ce card de rețea aveți în sistemul dvs., folosiți comanda:
Puteți obține destul de o mulțime de interfețe, în funcție de sistemul dvs., dar numai că sunteți îngrijorat cu interfețe Ethernet (cele care nazyvyutsya asemănarea ethXX). Acestea vor fi de obicei etichetate eth0 și eth1, dar ar putea fi orice numere, așa că de acum încolo îi va suna ca eth_BAD și eth_SAFE. eth_BAD - Adaptor Internet, eth_SAFE - adaptor de rețea locală. Înregistrați orice interfață pentru asta, pentru că le va ocupa de multe ori.
Am stabilit mai întâi de rutare, folosind un firewall foarte puternic și flexibil Linux, iptables.
Este important să rețineți că, dacă faceți o greșeală aici, puteți dezactiva complet întreaga rețea de organizare, care va dezactiva cu siguranță accesul la Internet și, de asemenea, vă va împiedica accesul la Webmin, pentru a elimina problema. Dacă întâmpinați astfel de dificultăți, o parte din echipa de la sfârșitul acestui manual va ajuta la eliminarea problemei.
Acum trebuie să configurați redirecționarea pachet (redirecționare), în caz contrar NAT nu va funcționa. Puteți face acest lucru prin editarea următorul fișier:
sudo cp / etc / sysctl. conf / etc / sysctl. conf. Bak sudo nano / etc / sysctl. conf
Acest fișier trebuie să conțină următoarea linie:
# Decomentați linia următoare, pentru a permite transmiterea de pachete pentru IPv4
net. IPv4. ip_forward = 1
Pentru a activa transmiterea de pachete de repornire.
În acest moment, computerul trebuie să aibă acces la Internet prin intermediul interfeței eth_BAD, în cazul în care Internetul nu este încă disponibilă - du-te înapoi la pașii anteriori și asigurați-vă că totul a lucrat.
lshw - rețea de clasă
Dezactivarea interfață marcate cu mobilitate redusă. Pentru a activa interfața, faceți clic pe „Adăugați o nouă interfață“ și introduceți următoarele informații:
„Nume“ - Introduceți numele interfeței este, probabil, eth0, eth1 sau ceva similar.
„IP Address“ - Asigurați-vă că butonul radio „static“ este apăsat, și introduceți 192.168.0.1 în caseta de text.
„Mască de rețea“ - ar trebui să fie 255.255.255.0
"Broadcast" - 192.168.0.255
„Activează la boot?“ - Alegeți Da
Apoi faceți clic pe „Create“, faceți clic pe butonul radio pentru a crea o interfață și faceți clic pe „Aplicare“ pentru a activa setările. Minunat! Două interfețe de rețea sunt acum configurate.
Configurare LAN
Configurarea DHCP
Am stabilit mai întâi DHCP. Deschideți fila „Servere“ din panoul webmin, și deschideți serverul DHCP. În partea de sus SUBREȚEA, faceți clic pe „Adăugați o nouă subrețea“. Introduceți următoarele date:
„Descriere Subnet“ - numele de subrețea, folosesc „rețea locală pe eth_SAFE“
„Adresă de rețea“ - 192.168.0.0
"Mască de rețea" - 255.255.255.0
„Intervalelor de adrese“ - se poate orice interval pe care doriți, 192.168.0.100 - 192.168.200 ar trebui să fie suficient.
SCREENSHOT: Configurarea DHCP subrețea
Lăsați toate celelalte setări, apoi faceți clic pe „Create“. Acum, ar trebui să apară o nouă pictogramă cu numele 192.168.0.0. Dați clic pe această pictogramă, va reveni la ecranul, similar cu cel anterior, cu excepția unor noi butoane în partea de jos. Faceți clic pe unul dintre ei „Editare Opțiuni client“.
„Masca de subrețea“ - 255.255.255.0
„routere implicite“ - 192.168.0.1
"Broadcast" - 192.168.0.255
"Serverele DNS" - 192.168.0.1
Faceți clic pe „Salvați“ și din nou „Salvați“. Și încă un lucru, kotorub trebuie să fac pe această pagină - pentru a defila în jos și faceți clic pe „interfața de rețea Editare“. Eth_SAFE selectați din listă și faceți clic pe „Save“.
server DHCP este acum configurat. Faceți clic pe „Start Server“ butonul din partea de jos a paginii, serverul ar trebui să înceapă fără erori. Dacă eroarea este încă acolo - ai făcut o greșeală pe undeva.
configurare firewall
Configurarea IP masquerading (rutare)
Acum ne pogruschimsya în stabilirea iptables. De acum poți mizerie complet în sus setările și rețeaua dumneavoastră dacă nu ești atent, deci asigurați-vă că știți cum să corecteze greșelile lor.
În panoul Webmin selectați "Linux Firewall". Selectați butonul radio „Do adresă de rețea de traducere“ și selectați eth_BAD ca interfață pe care o vei face. Selectați caseta de validare „Activare firewall-ul la timpul de boot“ și faceți clic pe „Configurare Firewall“. Faceți clic pe "Apply Configuration".
Configurarea firewall
În acest moment, serverul este configurat ca un server de router / DNS / DHCP de lucru, ar trebui să funcționeze în această configurație pentru tot ce ai nevoie, dar nu este sigur. Trebuie să definim câteva reguli care determină cine poate face conexiunea cu serverul nostru, noi pur și simplu nu vrem nici unul din mare Internet teribil a izbucnit în serverul nostru de fișiere acasă, de exemplu. Vom face acest lucru folosind iptables de filtrare.
Linux firewall-ul IP funcționează cu trei tabele: mangle, PREROUTING și FILTER. De fapt, fayrvoling efectuate cu ajutorul filtrului, astfel încât în secțiunea Webmin „Linux Firewall“, schimbați iptable lista drop-down pe „pachete de filtrare (filtru)“ IPTable.
Trei „lanțuri“ sunt enumerate acolo. Fiecare lanț determină ce să facă cu pachetul, în funcție de cazul în care se întâmplă. Trei lanturi INPUT, FORWARD IEȘIRE. Pentru fiecare lanț, puteți adăuga reguli (reguli), care spun firewall-ul ce să facă cu un pachet care îndeplinește anumite criterii. Probabil că doriți să faceți lista neagră (lista neagră), toate pachetele de intrare și FORWARD în mod implicit, și apoi porniți unul câte unul, în funcție de nevoile tale. Modifica acțiunea implicită (acțiune implicită) pentru a introduce FORWARD pe „DROP“ (traducător: în cazul unei erori, puteți dezactiva acțiunea implicită, consultați instrucțiunile suplimentare de la sfârșitul articolului).
Pentru a adăuga o regulă, doar să faceți clic pe „Adăugați o regulă“ butonul și completați criteriile de pachet și de acțiune (acțiune) pentru acest pachet.
Aici este listat regulile minime necesare care aveți nevoie pentru rețeaua funcționează corect:
INPUT
Acceptare dacă protocolul este ICMP (Notă: Aceasta permite serverului pentru a răspunde la ping nu este strict necesar, dar nu prezintă într-adevăr un risc de securitate și face rețea de depanare mult mai ușor Dacă sunteți extrem de paranoic, se simt .. liber să nu deranjez cu această opțiune)
Acceptă dacă interfața de intrare este lo
Accept dacă interfața de intrare este eth_SAFE
Accept dacă interfața de intrare este eth_BAD și starea conexiunii este stabilită, în legătură
Accept dacă interfața de intrare este eth_SAFE și interfața de ieșire este eth_BAD
Accept dacă interfața de intrare este eth_BAD și interfața de ieșire este eth_SAFE și starea conexiunii este stabilită, în legătură
Sunt punerea în aplicare a acestor reguli de firewall foarte simplu, care nu permite absolut nimic din rețeaua externă, cu excepția faptului că aceasta face parte din stabilirea conexiunii. De asemenea, sugerează că rețeaua internă este complet trasted și permite accesul nestingherit la spațiul server și rețeaua externă din rețeaua internă. Aceasta este setarea implicită pentru cele mai multe dispozitive NAT.
În acest moment, de fapt ai ajuns setare. Puteți lăsa serverul dvs. ca un simplu router fără reguli suplimentare în acest stadiu. Este foarte sigur și va funcționa bine pentru cele mai multe scopuri. Dacă, totuși, doriți să rulați un server accesibil publicului, filtrul QOS sau în cazul în care rețeaua internă nu este suficient de încredere, trebuie să adăugați niște reguli suplimentare. Citește mai mult.
Apropo, de intrare meu și tabele FORWARD uite ca aici este indicat. Am adăugat reguli suplimentare pentru a permite unele servere de rețea să fie în aer liber dostupntsmi:
Sarcinile avansate,
Mai multe funcții ale IPTable
Dacă într-adevăr doriți să utilizați în mod normal iptables, trebuie să înțelegem ce este și cum funcționează, în ce ordine tabele sunt folosite. Vă recomandăm citirea articolul pe wiki:
Este important de reținut în acest stadiu că iptables va aplica regulile pentru fiecare pachet, în ordinea de sus în jos. Fiecare regulă este comparat cu pachetul. Și, de îndată ce regula ACCEPT sau DROP a constatat că se potrivește cu tipul de ambalaj, se va lua și executat această acțiune. În cazul în care pachetul a ajuns la sfârșitul listei, fără norme corespunzătoare, acesta va lua acțiunea implicită (acțiune implicită). Iată două exemple:
ruleset:
ACCEPT dacă interfața de intrare este eth1
DROP dacă portul este 22
Orice pachete de intrare de pe eth1 va fi permisă prin intermediul, chiar dacă portul este 22.
ruleset:
DROP dacă portul este 22
ACCEPT dacă interfața de intrare este eth1
Acum, fiecare pachet de intrare va fi permis să eth1 cu excepția portului 22.
Servere care rulează pe router.
Dacă doriți să rulați un server de pe router (server web sau server SSH), trebuie să deschideți aceste porturi pentru rețeaua externă. Acest lucru este pur și simplu face prin adăugarea la reguli filtru de intrare permite în mod explicit conexiunile de intrare. Doar faceți clic pe „Adăugați o regulă“ și pentru a permite pachetele de un anumit tip și portul, care este necesară pentru server. serverul SSH ar putea rula pe portul 22 și pentru a primi pachete TCP, astfel încât regula ar arata astfel:
Acceptați dacă protocolul este TCP și portul de destinație este de 22.
Permite o adresă IP statică pe rețeaua locală
Uneori ai nevoie pentru a rula serverul de pe un PC în rețeaua locală și necesitatea de a face port forwarding (port forwarding), cum ar fi server de web sau client bittirrent.
Deschideți pagina Webmin „Servere“, selectați serverul DHCP. În presa gazde „Adăugați o nouă gazdă“. Completați detaliile după cum urmează:
port forwarding
Trebuie să faci două lucruri. În primul rând, trebuie să setați o regulă pentru a specifica PREROUTING IPTables în cazul în care pentru a redirecționa pachetele primite, dar, de asemenea, trebuie să permită în mod explicit aceste pachete înainte (forward) sau altfel să fie blocate de filtru. Este zamechtalno și logic, dar poate duce uneori la puzzle-uri, dacă ai uitat unul dintre pașii.
În Webmin PUSH "Networking" si apoi "Linux Firewall". Schimbarea IP Tabelul lista drop-down pe „traducere adresă de rețea (NAT)“. top împinge lanț PREROUTING Adăugați o regulă. Completați datele după cum se arată mai jos:
„Acțiunea de a lua“ - Hold „TAN Destinație“ buton radio
„IP-uri și porturi pentru DNAT“ - Introduceți IP LAN gazdă și portul la care doriți clienților să se conecteze la exterior
„Protocol de rețea“ - Trebuie să specificați sau UDP TCS (dacă într-adevăr doriți să utilizați un alt protocol, atunci acest ghid vă poate ajuta)
„TCP destinație sau UDP“ - Portul pe care serverul este de fapt asculta pe această gazdă ($ Notă: acest lucru nu ar trebui să fie același port conectat clienții externi)
Acum puteți doar „Aplicare configurație“ și toate.
pentru a dezactiva toate regulile IPTable
Dacă routerul blochează după modificările nu intrați în panică, executați următoarea comandă, care va elibera toate regulile iptables, acesta va reveni accesul la WebAdmin spate:
sudo iptables -F
opțiuni utile de iptables (interpretului):
sudo iptables -S
sudo iptables -P INPUT ACCEPT
- Prima comandă listează toate lanțurile și regulile cu toate setările de opțiuni.
- A doua comandă vă permite să modificați acțiunea implicită pentru lanțul INPUT
Atenție: acest comando acces complet deschis la router exterior.
Pentru eliminarea completă a tuturor modificărilor la acest manual, executați această comandă:
sudo aptitude purjare Webmin bind9 dhcp3-server sudo cp / etc / sysctl. conf. bak / etc / sysctl. conf
După o resetare, toate setările trebuie să se întoarcă.
Acum înțeleg mmc. Nu, ignora
Apropo, băieți, dacă aveți ghid bun pe Webmin - post aici. Engleză vin, de asemenea, în jos, o oră și o traducere este gata. În special, interesat pentru managementul BIND DNS, poate cineva au văzut cel puțin o mențiune de SVN la Webmin, interesant și inyaormativnye Ghid de administrare pentru gazde virtuale.