Problemas con iptables

Iniciado por nexusz, Septiembre 20, 2016, 12:57:36 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Septiembre 20, 2016, 12:57:36 AM Ultima modificación: Septiembre 20, 2016, 01:11:40 PM por blackdrake
Buenas quiero poner unos comandos con iptables porque estoy armando un programa que hace dns spoof y me tope con un problema cuando pongo el siguiente comando:iptables -F -t nat
en la consola me sale el siguiente error:
Citariptables v1.4.14: can't initialize iptables table `NAT': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

me dice que la tabla nat no existe,que puede ser?
la version de mi linux y kernel es la siguiente
CitarLinux version 3.13.0-3-686-huayra (root@kernel-i386) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Fri Jan 31 12:49:54 ART 2014

desde ya gracias y un saludo

¿Qué quieres hacer con esa regla?

Para listar las reglas debes hacerlo de la siguiente forma:

Código: php
# iptables -t nat -L -n


Y mostrará:

CitarChain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Para mostrar una salida más completa

Código: php
# iptables -t nat -L PREROUTING -n -v


CitarChain PREROUTING (policy ACCEPT 21 packets, 4133 bytes)
pkts bytes target prot opt in out source destination

que nos informa de los paquetes y bytes que "atraviesan" una cadena y en caso de que hubiese reglas, se contarían los paquetes y bytes a los que se ha aplicado cada una.


Borrar contadores

Si queremos poner a cero los contadores de paquete que se aplican en las cadenas de una tabla:

Código: php
iptables -t nat -Z


Borrar todas las reglas de una cadena

Para borrar todas las reglas de una cadena se escribe:

Código: php
iptables -t nat -F OUTPUT


Se puede no especificar ninguna cadena, con lo que se borran todas las reglas de todas las cadenas de una tabla:

Código: php
iptables -t nat -F


Saludos

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
¿Qué quieres hacer con esa regla?

Para listar las reglas debes hacerlo de la siguiente forma:

Código: php
# iptables -t nat -L -n


Y mostrará:

CitarChain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Para mostrar una salida más completa

Código: php
# iptables -t nat -L PREROUTING -n -v


CitarChain PREROUTING (policy ACCEPT 21 packets, 4133 bytes)
pkts bytes target prot opt in out source destination

que nos informa de los paquetes y bytes que "atraviesan" una cadena y en caso de que hubiese reglas, se contarían los paquetes y bytes a los que se ha aplicado cada una.


Borrar contadores

Si queremos poner a cero los contadores de paquete que se aplican en las cadenas de una tabla:

Código: php
iptables -t nat -Z


Borrar todas las reglas de una cadena

Para borrar todas las reglas de una cadena se escribe:

Código: php
iptables -t nat -F OUTPUT


Se puede no especificar ninguna cadena, con lo que se borran todas las reglas de todas las cadenas de una tabla:

Código: php
iptables -t nat -F


Saludos

la idea es agregar estas reglas para un dns spoofing:
Citar
iptables --flush
iptables --zero
iptables --delete-chain
iptables -F -t nat
iptables --append FORWARD --in-interface "+self.interface+" --jump ACCEPT
iptables --table nat --append POSTROUTING --out-interface "+self.interface+" --jump MASQUERADE"
iptables -t nat -A PREROUTING -p tcp --dport 80 --jump DNAT --to-destination "+self.addressToRedirect
iptables -t nat -A PREROUTING -p tcp --dport 443 --jump DNAT --to-destination "+self.addressToRedirect
iptables -A INPUT -p udp -s 0/0 --sport 1024:65535 -d 192.168.1.1 --dport 53 -m state --state NEW,ESTABLISHED -j DROP
iptables -A OUTPUT -p udp -s 192.168.1.1 --sport 53 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j DROP
iptables -A INPUT -p udp -s 0/0 --sport 53 -d 192.168.1.1 --dport 53 -m state --state NEW,ESTABLISHED -j DROP
iptables -A OUTPUT -p udp -s 192.168.1.1 --sport 53 -d 0/0 --dport 53 -m state --state ESTABLISHED -j DROP

iptables -t nat -A PREROUTING -i "+self.interface+" -p udp --dport 53 -j DNAT --to "+self.addressToRedirect
iptables -t nat -A PREROUTING -i "+self.interface+" -p tcp --dport 53 -j DNAT --to "+self.addressToRedirect

pongo el comando que me dijiste:
Citariptables -t nat -L -n
y me sale el siguiente error:
Citariptables v1.4.14: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.

Trata de instalar esto y luego pruebas de nuevo:

Código: bash
sudo apt-get install linux-image - $ (uname -r)


Saludos