Šiame vadove bandoma paaiškinti, kaip iptables "linux" naudoti lengvai suprantama kalba.
Turinys[paslėpti]
|
Apžvalga
"Iptables" yra taisyklėmis pagrįsta užkarda, kuri apdoros kiekvieną taisyklę, kol suras tą, kuris atitinka.
Todo: pridėti pavyzdį čia
Naudojimas
"Iptables" programinė įranga paprastai yra iš anksto įdiegta jūsų "Linux" paskirstyme, bet iš tikrųjų ji netvarko jokių taisyklių. Čia rasite daugumos paskirstymo funkcijų:
/sbin/iptables
Vieno IP adreso blokavimas
Galite blokuoti IP naudodami -s parametrą, pakeisdami 10.10.10.10 adresą, kurį bandote užblokuoti. Šiame pavyzdyje jūs atkreipsite dėmesį į tai, kad mes naudojome -I parametrą (arba-insert veikia taip pat), o ne pridėti, nes norime įsitikinti, kad ši taisyklė pirmiausia pasirodys prieš priimant bet kurias leidimo taisykles.
/sbin/iptables -I INPUT -s 10.10.10.10 -j DROP
Leidžiant visą srautą iš IP adreso
Galite pakaitomis leisti visą srautą iš IP adreso, naudodami tą pačią komandą, kaip nurodyta aukščiau, bet pakeičiant DROP ACCEPT. Turite įsitikinti, kad ši taisyklė pasirodys pirma, prieš bet kokius DROP taisykles.
/sbin/iptables -A INPUT -s 10.10.10.10 -j ACCEPT
Uosto blokavimas iš visų adresų
Galite visiškai užblokuoti prieigą prie tinklo per tinklą, naudodamas -dport jungiklį ir pridedant paslaugos, kurią norite blokuoti, prievadą. Šiame pavyzdyje mes užblokuosime mysql prievadą:
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP
Vieno uosto leidimas iš vieno IP
Galite pridėti komandą -s kartu su komandą -dport, norėdami dar labiau apriboti taisyklę konkrečiam prievadui:
/sbin/iptables -A INPUT -p tcp -s 10.10.10.10 --dport 3306 -j ACCEPT
Dabartinių taisyklių peržiūra
Galite peržiūrėti esamas taisykles naudodami šią komandą:
/sbin/iptables -L
Tai turėtų suteikti jums produkciją, panašią į šiuos:
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 192.168.1.1/24 anywhere ACCEPT all -- 10.10.10.0/24 anywhere DROP tcp -- anywhere anywhere tcp dpt:ssh DROP tcp -- anywhere anywhere tcp dpt:mysql
Žinoma, faktinė produkcija bus šiek tiek ilgesnė.
Išvalyti dabartines taisykles
Galite išvalyti visas galiojančias taisykles, naudodami "flush" parametrą. Tai labai naudinga, jei reikia įdėti taisykles teisinga tvarka arba bandydami.
/sbin/iptables --flush
Pasiskirstymo specifika
Nors dauguma "Linux" paskirstymo formų yra iptables, kai kurios iš jų taip pat apima aplankus, dėl kurių valdymas tampa lengvesnis. Dažniausiai šie "priedai" yra initiniai scenarijai, kurie rūpinasi iptables inicijavimu paleisties metu, tačiau kai kurie paskirstymo variantai taip pat apima pilno įpurškimo programas, kurios bando supaprastinti bendrą atvejį.
"Gentoo"
The iptables Init scenarijus "Gentoo" gali apdoroti daugybę įprastų scenarijų. Pradedantiesiems, jis leidžia sukonfigūruoti "iptables" paleisti paleidžiant (paprastai tai, ko norite):
rc-update add iptables default
Naudojant init scenarijų, užkardą galima įkelti ir išvalyti lengvai įsimenamą komandą:
/etc/init.d/iptables start /etc/init.d/iptables stop
Init scenarijus tvarko išsamią informaciją apie dabartinę užkardos konfigūraciją. Taigi, jūsų užkarda visada yra toje valstybėje, kurią palikote. Jei jums reikia rankiniu būdu išsaugoti naują taisyklę, init scenarijus gali tai atlikti:
/etc/init.d/iptables save
Be to, galite atkurti ugniasienę į ankstesnę išsaugotą būseną (tuo atveju, kai bandėte taisykles ir dabar norite atkurti ankstesnę darbo konfigūraciją):
/etc/init.d/iptables reload
Galiausiai init scenarijus gali įdėti "iptables" į "panikos" režimą, kuriame užblokuojamas visas įeinantis ir išeinantis srautas. Nežinau, kodėl šis režimas yra naudingas, bet atrodo, kad visi "Linux" ugniasieniai.
/etc/init.d/iptables panic
Įspėjimas: Nenaudokite panikos režimo, jei esate prisijungę prie serverio per SSH; tubus būti atjungtas! Vienintelis laikas, kada turėtumėte įdėti iptables į panikos režimą, yra, kol esatefiziškai priešais kompiuterį.