El libre pensamiento para un internet libre
No estas registrado.
[email protected] hemos oído hablar de las iptables ya que "son el firewall" de Linux desde el kernel 2.4 (desde 2001).
Pongo la expresión entre comillas porque se suele hablar de iptables cuando deberíamos hablar de netfilter,
Iptable es un elemento de netfilter: Es la utilidad que permite redactar reglas.
Como es a esta utilidad que el usuario final se enfrenta ( el temido ejercicio, redactar las reglas iptables) su nombre ha acabado asimilándose al conjunto.
Después muchos años de leales servicios, netfilter y iptables empiezan a hacerse mayorcitos...
¡El nivel de complejidad de las redes y el trafico de datos no tienen nada que ver hoy en día con los años 2000!
Ver: Iptable se jubila y llega bpfilter
Bpfilter ha integrado el kernel 4.18 y está llamado a tomar el relevo de netfilter
ntfstable de su lado ya está presente desde el kernel 3.13 de 2014 y está aquí para reemplazar a las iptables.
No se trata de un cambio "violento", bpfilter sabe trabajar con reglas iptables.
Pero será siempre pensar en actualizarse y abrazar el cambio ya que viene con ventajas.
Sin entrar en detalles:
Sintaxis más humana
Reglas combinadas (ahorramos lineas)
Posibilidad de multiplicar las acciones adentro de una misma regla
Podemos establecer Reglas compatibles con todos los protocolos (todo en una regla en lugar de una para cada protocolo)
Es más rapido
etc...
Además se puede exportar sencillamente un conjunto de reglas en formato JSON para usarlo después y muchas otras novedades.
Más información en:
Differences between iptables and nftables explained by Michael Boelen @ Linux Audit
Personalmente no hablo iptables así que para mi es igual de confuso si es iptables o nftables
La sintaxis puede ser más entendible: Sigo sin enterrarme mucho y necesito mirar la ayuda para entender a que sirve una regla.
Afortunadamente tenemos a iptables-translate para convertir una regla iptables en una regla nftsable sin tener idea de uno u otro
En sistemas debian y derivados lo instalaremos con:
sudo apt install iptables-nftables-compat
Tomemos en ejemplo unas reglas de airgeddon.sh del amigo v1sitor:
if [ "${et_mode}" = "et_captive_portal" ]; then
"${iptables_cmd}" -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination ${et_ip_router}:80
"${iptables_cmd}" -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination ${et_ip_router}:80
"${iptables_cmd}" -A INPUT -p tcp --destination-port 80 -j ACCEPT
"${iptables_cmd}" -A INPUT -p tcp --destination-port 443 -j ACCEPT
if [ ${captive_portal_mode} = "dnsblackhole" ]; then
"${iptables_cmd}" -A INPUT -p udp --destination-port 53 -j ACCEPT
si queremos convertir la primera regla hacemos
iptables-translate -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:80
O sea: Cambiamos iptables por iptables translate y tendremos a la conversión en nftable
En este caso he cambiado la variable "ip_router" pour una ipo real para no tener problemas
Y me sale en consola el resultado:
nft add rule ip nat PREROUTING tcp dport 80 counter dnat to 192.168.1.1:80
Pondríamos nuestra variable en lugar de la dirección ip y la regla estaría adaptada para airgeddon.sh
¿Os acordéis que nftables permite redactar reglas para varios puertos, IP, protocolos...?
Tomemos estas dos lineas:
"${iptables_cmd}" -A INPUT -p tcp --destination-port 80 -j ACCEPT
"${iptables_cmd}" -A INPUT -p tcp --destination-port 443 -j ACCEPT
Son la misma cosa solo que la primera linea es para el puerto http y la segundo para el https.
Aquí podemos hacer una sola linea con nftables gracias al uso de los arrays: { }.
Traduzco la primera linea
iptables-translate -A INPUT -p tcp --destination-port 80 -j ACCEPT
nft add rule ip filter INPUT tcp dport 80 counter accept
Añadimos el puerto 443 así:
nft add rule ip filter INPUT tcp dport { 80, 443 } counter accept
Hemos combinado así dos reglas iptables en una sola regla nftables sin muchas complicaciones gracias a iptables-translate
Podríamos hacer lo mismo con las dos primeras reglas
"${iptables_cmd}" -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination ${et_ip_router}:80
"${iptables_cmd}" -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination ${et_ip_router}:80
Nos daría
nft add rule ip nat PREROUTING tcp dport { 80, 443 } counter dnat to ${et_ip_router}:80
Fuentes y links de interes
IPtables vs. nftables @ ungleich
Moving from iptables to nftables @ wiki nftables
iptables-translate (II) by Shivani Bhardwaj @ Imbibe Linux
Desconectado
Gracias por este post muy completo, como siempre
Voy a tener que hacer la modificacion un dia o otro en el hostbaseLa verdad es que no me da gana de poner me otra vez con las reglas iptables perdon, nftables
Lo bueno es que parece facil a cambiar pero es que tengo un monton de lineas con iptables a cambiar
Desconectado
He buscado una opción para convertir una lista de reglas de golpe pero no he encontrado
Lo que se puede hacer es traducir las reglas iptables en uso al momento con
iptables-save > save.txt
iptables-restore-translate -f save.txt
Pero mo es muy útil en tu caso ya que tienes a varias configuraciones en tu script.
Desconectado
Tema | Respuestas | Vistas | Ultimo mensaje |
---|---|---|---|
Pegado: |
7 | 2387 | Ayer 21:01:03 por muglio |
Generación de Pagina Falsa al Conectar en Evil Twin Attack por Hunter310#
|
0 | 25 | Ayer 20:29:59 por Hunter310# |
Pegado:
Pegado:: Pixiewps de wiire : la herramienta para el novedoso ataque Pixie Dust. por kcdtv [ 1 2 3 4 ]
|
90 | 43485 | Ayer 20:10:49 por Hunter310# |
Escaneo de Redes Wifi por Hunter310#
|
0 | 22 | Ayer 20:09:14 por Hunter310# |
0 | 20 | Ayer 19:52:13 por kcdtv |
Ultimo usuario registrado: Hunter310#
Usuarios registrados conectados: 0
Invitados conectados: 11
Número total de usuarios registrados: 1,390
Número total de temas: 1,268
Número total de mensajes: 13,027
Atom tema feed - Impulsado por FluxBB