Šajā rokasgrāmatā būs mēģināts izskaidrot, kā lietot iptables uz Linux viegli saprotamā valodā.
Saturs[paslēpt]
|
Iptables ir uz noteikumiem balstīta ugunsmūris, kas apstrādās katru kārtulu, līdz tā atradīs tādu, kas atbilst.
Todo: šeit iekļaujiet piemēru
Iptables lietderība parasti ir iepriekš instalēta jūsu linux izplatīšanā, taču tā faktiski nedarbojas nekādus noteikumus. Jūs atradīsit lietderību šeit lielākajā daļā sadali:
/ sbin / iptables
Jūs varat bloķēt IP, izmantojot -s parametru, nomainot 10.10.10.10 ar adresi, kuru jūs mēģināt bloķēt. Šajā piemērā jūs ņemsiet vērā, ka mēs izmantojām -I parametru (vai arī -sert darbu), nevis pievienojam, jo mēs vēlamies pārliecināties, ka vispirms tiek parādīts šis noteikums, pirms tiek pieņemti visi atļaušanas noteikumi.
/ sbin / iptables -I INPUT -s 10.10.10.10 -j DROP
Varat pārejoši atļaut visu datplūsmu no IP adreses, izmantojot to pašu komandu, kā norādīts iepriekš, bet aizstājot DROP ar ACCEPT. Pirms DROP noteikumiem ir jāpārliecinās, ka vispirms šis noteikums parādās.
/ sbin / iptables-INPUT -s 10.10.10.10 -j PIEŅEMT
Jūs varat pilnībā bloķēt portu no piekļuves tīklam, izmantojot portfeļa slēdzi un pievienot pakalpojuma portu, kuru vēlaties bloķēt. Šajā piemērā mēs bloķēsim mysql portu:
/ sbin / iptables-INPUT -p tcp -dport 3306 -j DROP
Jūs varat pievienot -s komandu kopā ar -dport komandu, lai vēl vairāk ierobežotu noteikumu konkrētam portam:
/ sbin / iptables-INPUT -p tcp -s 10.10.10.10 - report 3306 -j PIEŅEMT
Jūs varat apskatīt pašreizējos noteikumus, izmantojot šādu komandu:
/ sbin / iptables -L
Tam vajadzētu dot jums izlaidi, kas ir līdzīga:
Ķēde INPUT (politika ACCEPT) mērķa protokols izvēlēties avota galamērķi ACCEPT viss - 192.168.1.1/24 visur PIEŅEMT visu - 10.10.10.0/24 jebkur DROP tcp - visur kur tcp dpt: ssh DROP tcp - visur kur tcp dpt: mysql
Protams, faktiskā izlaide būs nedaudz ilgāka.
Jūs varat iztīrīt visus pašreizējos noteikumus, izmantojot flush parametru. Tas ir ļoti noderīgi, ja jums ir jāievieto noteikumi pareizā secībā vai testēšanas laikā.
/ sbin / iptables - tīrīt
Lai gan lielākā daļa Linux sadalījumu ietver iptables formu, daži no tiem ietver arī ietinējumus, kas padara vadību nedaudz vieglāku. Visbiežāk šie "addons" tiek veidoti init skripti, kas rūpējas par iptables inicializēšanu pēc palaišanas, lai gan daži sadalījumi ietver arī pilnīgi iesaiņotus lietojumprogrammas, kas mēģina vienkāršot kopējo lietu.
Theiptables Init skripts Gentoo spēj apstrādāt daudzus parastos scenārijus. Sākotnēji tas ļauj konfigurēt iptables, lai ielādētu startēšanas laikā (parasti tas, ko vēlaties):
rc-update pievienot iptables noklusējuma
Izmantojot init-skriptu, ir iespējams ielādēt un notīrīt ugunsmūri ar viegli iegaumētu komandu:
/etc/init.d/iptables sākt /etc/init.d/iptables apstāties
Init skripts apstrādā informāciju par pašreizējās ugunsmūra konfigurācijas saglabāšanu sākuma / beigšanas laikā. Tādējādi jūsu ugunsmūris vienmēr atrodas tajā stāvoklī, kurā esat to atstājis. Ja jums ir nepieciešams manuāli saglabāt jaunu noteikumu, init script var rīkoties ar to arī:
/etc/init.d/iptables saglabājiet
Turklāt jūs varat atjaunot ugunsmūri uz iepriekšējo saglabāto stāvokli (gadījumam, kad jūs eksperimentēja ar noteikumiem un tagad vēlaties atjaunot iepriekšējo darba konfigurāciju):
/etc/init.d/iptables pārlādēt
Visbeidzot, init skripts var iptables ievietot "panikas" režīmā, kurā tiek bloķēts viss ienākošais un izejošais trafiks. Es neesmu pārliecināts, kāpēc šis režīms ir noderīgs, bet šķiet, ka tam ir visas Linux ugunsmūzes.
/etc/init.d/iptables panika
Brīdinājums: Neuzsākiet panikas režīmu, ja esat izveidojis savienojumu ar savu serveri, izmantojot SSH; tubūs atvienojiet! Vienīgais brīdis, kad iptables jāievieto panikas režīmā, kamēr jūs esatfiziski datora priekšā.