Iptables

De 33system wiki
Saltar a: navegación, buscar

<< Informatica

Iptables

Teoría

Práctica

# iptables -A FORWARD -j ACCEPT

# iptables -t nat -A POSTROUTING -s 172.16.15.0/24 -o eth1 -j SNAT --to 192.168.36.140

Mostrar las reglas

# mostramos las reglas 
iptables -L -n -v --line-numbers

Bloquear una ip

iptables -A INPUT -s 1.2.3.4 -j DROP
iptables -A INPUT -s 192.168.0.0/24 -j DROP

Bloquear peticiones de un puerto

# bloqueamos todas las peticiones a un puerto
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP

# bloqueamos las peticiones a un puerto de una ip concreta
iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

Redirigir un puerto publico a un servidor interno

# habilitamos la opción de forwarding
vim /etc/sysctl.conf
# descomentamos y activamos la opcion de forwarding
net.ipv4.ip_forward=1
# cargamos el cambio realizado
sysctl -p /etc/sysctl.conf
# reiniciamos el servicio de red
/etc/init.d/networking restart

# visualizamos las reglas
iptables -L -n -t nat --line-numbers

# Redirigimos el trafico de un puerto publico a un servidor interno
## Puerto publico: 2222
## Servidor interno: 192.168.122.100
## Puerto interno: 22
## Gateway interno: 192.168.122.1
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 192.168.122.100:22
iptables -t nat -A POSTROUTING -p tcp --dport 22 -d 192.168.122.100 -j SNAT --to 192.168.122.1

# visualizamos las reglas que deniegan
iptables -L -n -t filter --line-numbers
# deshabilitamos las opciones que deniegan
iptables -t filter -D FORWARD 4 
iptables -t filter -D FORWARD 5

Borrar un regla

## TABLA = nombre de la tabla a la que vamos a acceder  NAT, ...
## SECCION = POSTROUTING, ...
## 1 = numero de la regla a borrar
iptables -t TABLA -D SECCION 1

Salvar configuración

# creamos el directorio para almacenar los backups (si no existe)
mkdir /etc/iptables
# utilizamos el comando iptables-save
iptables-save > /etc/iptables/iptables.20130902
# creamos un enlace simbolico a la configuracion que será la última validada
ln -s /etc/iptables/iptables.20130902 /etc/iptables/iptables.rules

Recuperar configuración

# utilizamos el comando iptables-restore
iptables-restore < /etc/iptables/iptables.rules

Configuración permanente

# editamos el archivo de interfaces de red
vim /etc/network/interfaces
# insertamos la linea [pre-up iptables] para que se recupere en el arranque
============================
...
# The loopback network interface
auto lo
iface lo inet loopback
pre-up iptables-restore < /etc/iptables/iptables.rules

auto eth0
...
============================

Eliminar todas las reglas

iptables -F

Documentacion