necesita la regla de iptables para aceptar todo el tráfico entrante

34

Para mi entorno de prueba, quiero aceptar todo el tráfico entrante, ¿alguien puede darme la regla de iptable para agregar?

Mi salida actual de iptables -L -n se ve así

ENTRADA en cadena (ACEPTACIÓN de la política) destino de la fuente prot. De
destino ACEPTAR todo - 0.0.0.0/0 0.0.0.0/0
estado RELACIONADO, ESTABLECIDO ACEPTAR icmp - 0.0.0.0/0
0.0.0.0/0 ACEPTAR todo - 0.0.0.0 / 0 0.0.0.0/0 ACEPTAR tcp - 0.0.0.0/0 0.0.0.0/0 estado NUEVO tcp dpt: 22 RECHAZAR todo - 0.0.0.0/0 0.0.0.0/0
rechazar-con icmp-host-prohibido ACEPTAR tcp - 0.0.0.0/0
0.0.0.0/0 tcp dpt: 8443 ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 8080 ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 9443 ACEPTAR tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 2124

Cadena FORWARD (política ACEPTAR) objetivo prot opt ​​origen
destino RECHAZAR todo - 0.0.0.0/0 0.0.0.0/0
rechazar-con icmp-host-prohibido


Destino de salida de cadena (política ACEPTACIÓN)

Gracias


fuente

Respuestas:

53

Ejecute lo siguiente. Insertará la regla en la parte superior de sus iptables y permitirá todo el tráfico a menos que posteriormente sea manejado por otra regla.

iptables -I INPUT -j ACCEPT

También puede vaciar toda la configuración de iptables con lo siguiente:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Si lo vacía, es posible que desee ejecutar algo como:

iptables -A INPUT -i lo -j ACCEPT -m comment --comment "Allow all loopback traffic"
iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT -m comment --comment "Drop all traffic to 127 that doesn't use lo"
iptables -A OUTPUT -j ACCEPT -m comment --comment "Accept all outgoing"
iptables -A INPUT -j ACCEPT -m comment --comment "Accept all incoming"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Allow all incoming on established connections"
iptables -A INPUT -j REJECT -m comment --comment "Reject all incoming"
iptables -A FORWARD -j REJECT -m comment --comment "Reject all forwarded"

Si desea estar un poco más seguro con su tráfico, no use la regla de aceptar todos los entrantes, ni la elimine con "iptables -D INPUT -j ACCEPT -m comment --comment" Aceptar todos los entrantes ", y agregue más reglas específicas como:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT -m comment --comment "Allow HTTP"
iptables -I INPUT -p tcp --dport 443 -j ACCEPT -m comment --comment "Allow HTTPS"
iptables -I INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT -m comment --comment "Allow SSH"
iptables -I INPUT -p tcp --dport 8071:8079 -j ACCEPT -m comment --comment "Allow torrents"

NOTA: Deben estar por encima de las 2 reglas de rechazo en la parte inferior, así que use I para insertarlas en la parte superior. O si eres anal como yo, usa "iptables -nL --line-numbers" para obtener los números de línea, luego usa "iptables -I INPUT ..." para insertar una regla en un número de línea específico.

Finalmente, guarde su trabajo con:

iptables-save > /etc/network/iptables.rules #Or wherever your iptables.rules file is
Alex Atkinson
fuente
1
Esta respuesta finalmente terminó con mi dolor. Esta respuesta responde a la pregunta "¿cómo hago para que # @ $ #% iptables haga lo que quiero que haga y solo lo que quiero que haga?" La única mejora que recomendaría es agregar un ejemplo de reenvío de un puerto. (es decir, del 80 al 8080 y del 443 al 8443) Creo que el 99% de las preguntas sobre iptables se responderían en una sola publicación.
Eric Hartford
Un poco tarde volviendo a esto, pero aquí está. Redireccionar el tráfico de un puerto a otro: "iptables -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080". Es bastante fácil ajustarlo para hacer lo que quieras. El único requisito es que ambos puertos deben estar abiertos (a través de entradas por encima de esta declaración). ¡Disfruta!
Alex Atkinson el
16

para aceptar todo el tráfico entrante puede usar el siguiente comando, -P es establecer la política predeterminada como aceptar

iptables -P INPUT ACCEPT  

si no necesita sus reglas anteriores, simplemente enjuáguelas / elimínelas y luego use el comando anterior.
para vaciar todas las reglas usan

iptables -F    
Gangadhar
fuente