Învățați cum să utilizați iptables în debian, notebook-ul obișnuit al administratorului)

Crearea unui script de configurare pentru firewall / rutare

Creați fișierul real - să îl numim, de exemplu, netfilter
Am pus scriptul în /etc/init.d/
Efectuați fișierul executabil: chmod + x /etc/init.d/netfilter






Se scrie un antet standard pentru scripturile shell în fișier: #! / Bin / bash
Adăugăm scriptul la pornire: update-rc.d netfilter defaults
TODO: descrieți procesul pentru mai multe distribuții, mai ales dacă nu utilizați SYSV Init

Acum avem un script care va fi executat de fiecare dată când sistemul este repornit. Este necesar să-l umpleți cu conținut. Când configurați paravanul de protecție, trebuie să utilizați regula "bun admin" - să interziceți totul și să permiteți accesul persoanelor care au nevoie de acces, dacă este necesar.

#! / bin / bash
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
#iptables -A INPUT -p tcp -dport 22 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P DROP OUTPUT
iptables -P FORWARD DROP

#! / bin / bash
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
#iptables -A INPUT -p tcp --dport 22 -m stare - statul NEW -j ACCEPT
iptables -P INPUT DROP
iptables -P DROP OUTPUT
iptables -P FORWARD DROP
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp -m stat -state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m stat -stat NOU, CONFORMAT, ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m state -state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -p udp -m state -state NOU, CONEXE, ESTABLISHED -j ACCEPT

Permiteți conexiunile de intrare

Pentru a permite intrare TCP-conexiune este necesară pentru script-ul pentru a adăuga o linie: iptables -A INPUT -p tcp --dport 80 -m stare --state NEW -j ACCEPT În acest caz, a permis accesul la portul 80 (de obicei, există http -Server)

Când configurați rutarea, luați în considerare următoarele puncte (colectate pe baza concepțiilor greșite ale populației):







Pe gazdă în rețeaua 192.168.1.0/24 - înregistra o rută către rețeaua 192.168.2.0/24 prin 192.168.1.1 - cum ar fi Linux. ip cale adăuga 192.168.2.0/24 prin 192.168.1.1
Pe gazdă în rețeaua 192.168.2.0/24 - înregistra o rută către rețeaua 192.168.1.0/24 prin 192.168.2.1 - cum ar fi Linux. ip cale adăuga 192.168.1.0/24 prin 192.168.2.1
Pe router pentru a permite rutarea pachetelor: echo 1> / proc / sys / net / ipv4 / ip_forward - line ar trebui să fie adăugate la script-ul 😉
Pe router, permiteți pachetelor să treacă prin firewall (a se vedea lanțul FORWARD)

Pachetele care trec prin router intră în lanțul FORWARD. De exemplu, pentru a permite utilizatorilor din rețeaua 192.168.1.0/24 să acceseze servere web dintr-o rețea dintr-o rețea 192.168.2.0/24:

#! / bin / bash
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
#iptables -A INPUT -p tcp --dport 22 -m stare - statul NEW -j ACCEPT
iptables -P INPUT DROP
iptables -P DROP OUTPUT
iptables -P FORWARD DROP
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp -m stat -state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m stat -stat NOU, CONFORMAT, ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m state -state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -p udp -m state -state NOU, CONEXE, ESTABLISHED -j ACCEPT
echo 1> / proc / sys / net / ipv4 / ip_forward
iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.2.0/24 -p tcp --dport 80 -m stat nou, STABILIT -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.2.0/24 -d 192.168.1.0/24 -p tcp -m stare ESTABLISHED -j ACCEPT

Linia 15 - permite rutarea.
Linia 16 - permite trecerea unui pachet de deschidere a unei noi conexiuni pe portul 80 de protocol TCP, sau la o conexiune deja prinadlzhaschih ustanovlenmovu pe același port de la gazde în rețeaua 192.168.1.0/24 la gazde pe rețeaua 192.168.2.0/24.
Linia 17 - permite trecerea pachetelor care aparțin conexiunilor deja stabilite

#! / bin / bash
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
#iptables -A INPUT -p tcp --dport 22 -m stare - statul NEW -j ACCEPT
iptables -P INPUT DROP
iptables -P DROP OUTPUT
iptables -P FORWARD DROP
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp -m stat -state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m stat -stat NOU, CONFORMAT, ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m state -state ESTABLISHED, RELATED -j ACCEPT
iptables -A OUTPUT -p udp -m state -state NOU, CONEXE, ESTABLISHED -j ACCEPT
echo 1> / proc / sys / net / ipv4 / ip_forward
iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.2.0/24 -p tcp --dport 80 -m stat nou, STABILIT -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.2.0/24 -d 192.168.1.0/24 -p tcp -m stare ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.2.0/24 -j MASQUERADE

În prima linie, toate pachetele care sosesc (-i) din interfața lo aback interfață sunt acceptate necondiționat. În al doilea - cei care părăsesc prin interfața lo sunt, de asemenea, trimiși.

Mi-a plăcut acest lucru:







Articole similare

Trimiteți-le prietenilor: