entonces tengo un cliente en mi red conectado al enrutador a través de mi computadora con arpspoof. Cuando sé que quiero detener el reenvío de paquetes, ejecuto:
iptables -A FORWARD -j REJECT
eso está funcionando como esperaba. Pero cuando trato de hacer algo como:
iptables -A FORWARD -j ACCEPT
No puedo lograr que los paquetes pasen como al principio.
¿Estoy haciendo algo mal o hay algún otro argumento que debería usar diferente de "ACEPTAR"?
iptables
forwarding
Snipy
fuente
fuente
-A
, tal vez desee utilizar-P
para establecer la P olítica (acción por defecto cuando no hay otra regla de la cadena se aplica). Por ejemplo,iptables -P FORWARD DROP
(no puede serREJECT
).Respuestas:
IPtables tiene una lista de reglas y, para cada paquete, verifica la lista de reglas en orden. Una vez que se encuentra una regla que coincide con el paquete y especifica una política (ACEPTAR, RECHAZAR, BAJAR), se determina el destino del paquete coincidente; No se examinan más reglas.
Esto significa que el orden en el que ejecuta los comandos es importante. Cuando lo usa
iptables -A
, agrega una regla al final de la lista de reglas, por lo que terminará con una lista de reglas similar a esta:Dado que la
REJECT
regla viene antes que laACCEPT
regla, se activa primero y, por lo tanto, el reenvío no sucederá.Por lo tanto, deberá eliminar la
REJECT
regla en lugar de agregar unaACCEPT
regla. Para eliminar la regla RECHAZAR, ejecutePara obtener más información, lea la página de manual de iptables.
fuente
La
-A
bandera le dice a iptables que agregue la regla a la cadena, lo que significa que termina bajo suREJECT
regla, y dado que la primera regla coincide, nunca se usa.Enumeras tus reglas
iptables -L FORWARD
y lo verás tú mismo. Para deshacerse de la regla que agregó, ejecuteHasta que ya no haya tales reglas en la cadena.
fuente
¿Qué hay de jugar al final de la
FORWARD
regla para saltar a una nueva cadena en la que solo habrá una regla? Puede serACCEPT
oREJECT
. Decir...Después de eso, puedes cambiar esta regla en
accept-chain
algo comopara deshabilitar el tráfico o
-j ACCEPT
para habilitar.También lo que abunda para activar y desactivar el enrutamiento por
para deshabilitar el reenvío de paquetes y
"1"
- para habilitar.fuente
El orden importa. Esto insertará su regla en la parte superior en lugar de agregar.
iptables -I FORWARD 1 -j ACCEPT
-I es insertar y # 1 es la posición
fuente