Diferencia entre revisiones de «Comandos frecuentes IPTables»

De Luis Moreno Wiki
Ir a la navegación Ir a la búsqueda
(Página creada con «Comandos frecuentes iptables -- Ver las reglas actuales iptables -L -- Archivo de scripts para iptables /etc/sysconfig/iptables --reiniciar iptables service iptabl…»)
 
 
Línea 57: Línea 57:
 
  1. sudo su
 
  1. sudo su
 
  2. iptables-save > /etc/iptables.rules
 
  2. iptables-save > /etc/iptables.rules
3. In /etc/network/if-pre-up.d/iptables,put:
+
 
  
 
Restaurar tablas
 
Restaurar tablas
Línea 75: Línea 75:
 
  sudo chmod +x /etc/network/if-post-down.d/iptables
 
  sudo chmod +x /etc/network/if-post-down.d/iptables
 
  sudo chmod +x /etc/network/if-pre-up.d/iptables
 
  sudo chmod +x /etc/network/if-pre-up.d/iptables
 +
 +
-- Bloquear todo y solo permitir acceso a ciertas IPs conservando el estado de la sesión
 +
iptables -P FORWARD DROP
 +
iptables -A INPUT -m state --state INVALID -j DROP
 +
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 +
iptables -A INPUT -i lo -j ACCEPT
 +
iptables -A INPUT -s 201.141.52.125 -j ACCEPT
 +
iptables -A INPUT -s 101.217.218.235 -j ACCEPT
 +
iptables -A INPUT -s 101.190.20.202 -j ACCEPT
 +
iptables -A INPUT -s 192.168.1.1 -j ACCEPT
 +
iptables -A INPUT -s 192.168.1.2 -j ACCEPT
 +
iptables -A INPUT -s 201.68.186.58 -j ACCEPT
 +
iptables -P INPUT DROP
 +
 +
-- Si solo se quiere permitir sin importar el estado
 +
iptables -A INPUT -s 192.168.1.1 -j ACCEPT
 +
iptables -A OUTPUT -d 192.168.1.1 -j ACCEPT
 +
iptables -P INPUT DROP
 +
iptables -P OUTPUT DROP
 +
 +
 +
-- Limpiar todas las reglas
 +
sudo iptables -t nat -F
 +
sudo iptables -t mangle -F
 +
sudo iptables -F
 +
sudo iptables -X

Revisión actual del 11:34 14 jul 2021

Comandos frecuentes iptables

-- Ver las reglas actuales

 iptables -L

-- Archivo de scripts para iptables

 /etc/sysconfig/iptables

--reiniciar iptables

 service iptables restart

--Bloquear un host específico iptables

 iptables -I INPUT -s 192.168.16.8 -j DROP

--Permitir acceso a un puerto específico e IPs específicas, bloquear el resto

 iptables -A INPUT -p tcp --destination-port 22 -m iprange --src-range 192.168.16.100 -j ACCEPT

-- Permitir acceso a un puerto en especifico

 iptables -A INPUT -p tcp --destination-port 22 -m iprange --src-range 192.168.16.100 -j ACCEPT

-- Permitir acceso a puerto 80 abrir puerto 80

 iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
 iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
 iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEP


Despues de agregar la politica reiniciar el servicio "service iptables restart" y probar

 --src-range puede ser representado como 192.168.16.100-192.168.16.200

-- Digamos que deseas hacer permitir que un cliente se conecte al servidor FTP pero solo por un momento o una descarga tienes que modificar tus filtros de iptables de la siguiente forma: (lo mismo aplicaría para otro protocolo SSH puerto 21, http puerto 80, etc)

Permitir momentáneamente una IP para que acceda al servidor FTP

 /sbin/iptables -I INPUT -s 200.52.66.116/32 -p tcp --dport 21 -j ACCEPT

-- listar reglas por número

 iptables -L --line-numbers

--Para borrarla después de las pruebas

 /sbin/iptables -t filter  -D INPUT 1
 /sbin/iptables -D INPUT 1

-- Bloquear una IP

 iptables -A INPUT -s 61.216.2.15 -j DROP
 iptables -A OUTPUT -d 61.216.2.15 -j DROP

-- guardar permanentemente las reglas iptables para ubuntu

 apt-get install iptables-persistent

Después de instalarlo es posible guardar y recargar las reglas con:

 sudo /etc/init.d/iptables-persistent save
 sudo /etc/init.d/iptables-persistent reload

Para guardarlas de forma más manual

1. sudo su
2. iptables-save > /etc/iptables.rules


Restaurar tablas

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0


4. Después en /etc/network/if-post-down.d/iptables, pon:

#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
iptables-restore < /etc/iptables.rules
fi
exit 0

5. Dale permisos a los scripts:

sudo chmod +x /etc/network/if-post-down.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables

-- Bloquear todo y solo permitir acceso a ciertas IPs conservando el estado de la sesión

iptables -P FORWARD DROP 
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 201.141.52.125 -j ACCEPT
iptables -A INPUT -s 101.217.218.235 -j ACCEPT
iptables -A INPUT -s 101.190.20.202 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -A INPUT -s 192.168.1.2 -j ACCEPT
iptables -A INPUT -s 201.68.186.58 -j ACCEPT
iptables -P INPUT DROP 

-- Si solo se quiere permitir sin importar el estado

iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.1 -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP


-- Limpiar todas las reglas

sudo iptables -t nat -F
sudo iptables -t mangle -F
sudo iptables -F
sudo iptables -X