Diferencia entre revisiones de «Comandos frecuentes IPTables»
(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 | ||
− | + | ||
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 10: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