Sintaxa iptablesCommanda iptables (user space tool) se foloseste pentru a comunica cu NETFILTER.
Important 1. Scopul comenzii iptables este de a adauga, sterge, inlocui, lista, vizualiza etc reguli din cele 4 tabele standard care sunt atasate de cele 5 chainuri. 2. In mod default nu exista nicio regula in tabele, acestea fiind goale. Implicit nu exista firewall. 3. Un pachet traverseaza in mod secvential regulile din tabelele atasate chainurilor pana in momentul in care o regula "prinde" pachetul, caz in care se executa TARGET-ul regulii. Restul regulilor din tabel nu se mai verifica ulterior. 4. Daca pachetul nu este prins de nicio regula din tabel se executa politica default (-P POLICY) care este implicit ACCEPT. Structura comenzii iptables este: iptables -t nume_tabel -OPERATIE_ASUPRA_CHAIN NUME_CHAIN -criterii -j TARGET unde: Nume tabel: filter nat raw mangle Nota
Operatii asupra unui chain -A -> adaugare regula la sfarsitul tabelului atasat chainului; -I -> adaugare regula pe prima pozitie in tabelul atasat chainului; -L -> listare reguli; -P -> policy, actiunea default care se executa daca nicio regula nu prinde pachetul; -N -> creare chain nou definit de utilizator; -X -> sterge chain definit de utilizator; -F -> flush, goleste regulile din tabelul atasat chainului; -Z -> zero, reset counters; Nota
Nume Chain: PREROUTING INPUT OUTPUT FORWARD POSTROUTING Nota
Criterii -s IP_sursa Exemplu: -s 80.0.0.1 sau -s 192.168.0.0/24 sau -s 0/0. Specifica IP-ul sursa din pachet. 0/0 inseamna orice IP -d IP_dest Exemplu: -d 182.0.10.1 sau -d 10.10.0.0/26 sau -d 0/0 -> specifica IP-ul destinatie din pachet. 0/0 inseamna orice IP -p protocol Exemplu: -p tcp sau -p udp sau -p icmp --sport port_sursa Exemplu: iptables -I INPUT -p udp --sport 53 -j DROP -> dropeaza toatea pachetele UDP care sunt destinante hostului local si vin de la un server DNS (port 53) --dport port_dest Exemplu: iptables -A FORWARD -p tcp --dport 8080 -j DROP -> dropeaza toata pachetele catre portul tcp 8080 care tranziteaza ruterul linux -i interfata_in Exemplu: iptables -A INPUT -i eth0 -j ACCEPT -> accepta toate pachetele destinate hostului local care intra pe interfata eth0 -o interfata_out Exemplu: iptables -t mangle -A OUTPUT -o eth1 -j TTL --ttl-set 67 -> modifica TTL-ul din headerul IP setand valoarea 67 pentru toate pachetele generate de hostul local care ies pe interfata eth1 Nota
Target Specifica actiunea intreprinsa asupra pachetului daca criteriile sunt indeplinite. ACCEPT -> pachetul este acceptat; DROP -> pachetul este dropat; REJECT -> pachetul este rejectat si hostul raspunde cu un mesaj de eroare sursei; LOG -> logheaza/salveaza informatii despre pachet intr-un fisier; LIMIT -> limiteaza nr. de pachete pe unitatea de timp; SNAT -> realizeaza source nat; MASQUERADE -> realizeaza source nat; DNAT -> realizeaza destination nat/port forwarding; TTL -> modifica TTL din pachet (headerul IP); Nota
Important Cuvintele cheie de mai sus trebuie scrise cu litera mare sau litera mica intocmai, altfel rezulta o eroare. Rezumat:
Resurse |