Iptables
Autor: Joan Puigcerver Ibáñez
Correu electrònic: j.puigcerveribanez@edu.gva.es
Llicència: CC BY-NC-SA 4.0
(Reconeixement - NoComercial - CompartirIgual) 🅭
Iptables
La taula filter en iptables és una de les tres taules de filtratge de paquets disponibles en el sistema,
juntament amb nat i mangle.
La taula filter és la taula per defecte utilitzada per a la majoria de les regles de filtratge de paquets i
permet establir regles per a controlar el tràfic d'entrada i d'eixida d'un sistema utilitzant el firewall iptables.
Aquesta taula té les següents cadenes o chains disponibles:
INPUT : Establir regles en els paquets d'entrada al dispositiu local.
OUTPUT : Establir regles en els paquets d'eixida del dispositiu local.
FORWARD : Establir regles en els paquets d'entrada al dispositiu, que seran reenviades a altres dispositius.
En totes les comandes, es pots establir la taula sobre la que s'aplicarà la regla amb l'opció -t . Si no s'especifica
cap taula, s'utilitza per defecte la taula filter.
Política per defecte
Quan els paquets arriben al tallafocs, s'avaluaran totes les regles disponibles
seqüencialment. Si cap regla és avaluada correctament per a un paquet, s'aplicarà
la política per defecte (target):
DROP : No deixa passar el paquet.
ACCEPT : Deixa passar el paquet.
Es pot definir una política diferent per cada chain (INPUT , OUTPUT i FORWARD ).
iptables -P chain target
iptables -P INPUT DROP
Llistar regles
iptables -L -nv --line-numbers
Comprovar ports oberts
Afegir regles
Afegir al final (APPEND)
S'utilitza l'opció -A :
iptables -A [CHAIN] [-p PROTOCOL] [-s IP ORIGEN] [-d IP DESTI] [-i INTERFICIE ENTRADA] [-o INTERFICIE EXIDA] [-j ACCEPT|DROP]
# Accepta tots els paquets d'eixida
iptables -A OUTPUT -j ACCEPT
Afegir al principi (INSERT)
S'utilitza l'opció -I :
iptables -I [CHAIN] [-p PROTOCOL] [-s IP ORIGEN] [-d IP DESTI] [-i INTERFICIE ENTRADA] [-o INTERFICIE EXIDA] [-j ACCEPT|DROP]
Eliminar regles
Eliminar una regla en concret
S'utilitza l'opció -D :
iptables -D [CHAIN] [NOMBRE REGLA]
# Elimina la regla 1 en OUTPUT
iptables -D OUTPUT 1
Eliminar totes les regles
S'utilitza l'opció -F :
# Borrem totes les regles de la taula FILTER
iptables -t filter F
# Borrem totes les regles de la taula NAT
iptables -t nat -F
Reiniciar el comptador de regles
Per reiniciar els comptadors s'utilitza l'opció -Z .
# Borrem totes les regles de la taula FILTER (per defecte)
iptables -Z
# Borrem totes les regles de la taula NAT
iptables -t nat -Z
Exemple: PING
-
Establim la política per defecte d'entrada i eixida perquè no accepte cap paquet:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
-
L'ordinador no es pot comunicar amb ningú. Si realitzem un ping , no funcionarà:
Warning
En la xarxa de l'institut, el protocol ICMP no funciona cap a IPs externes.
-
Habilitem les peticions i respostes de ping :
# Comprovem les interfícies
ip a
# Habilitem l'enviament de peticions del protocol ICMP
iptables -A OUTPUT -o [INTERFICIE D'EIXIDA] -p icmp -j ACCEPT
# Habilitem el recibiment de respostes del protocol ICMP
iptables -A INPUT -i [INTERFICIE D'ENTRADA] -p icmp -j ACCEPT
-
Si es necessita sols acceptar un tipus de paquets d'un protocol, es pot utilitzar l'opció -m :
# Habilitem l'enviament de peticions del protocol ICMP
iptables -A OUTPUT -o [INTERFICIE D'EIXIDA] -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
# Habilitem el recibiment de respostes del protocol ICMP
iptables -A INPUT -i [INTERFICIE D'ENTRADA] -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
Bibliografia
|