# [Iptables] Denegar acceso IN/OUT a una IP (Solucionado)

## YoSoLo

Hola a todos

Mi nombre es Gabriel, estoy buscando una solucion para un servidor de juegos que corre en gentoo/linux

Necesito saber la forma efectiva de bloquear una IP en gentoo. Ya que todos los metodos empleados hasta el momento no me sirvieron. Seguramente estamos errando en la forma de hacerlo. Con shorewall (firewall) no lo logramos, puede ser por mal ingresado los datos.

Anteiormente el servidor corria con debian(64) y teniamos empleado este script, que en gentoo no da el resultado.

```
#!/bin/sh

    # Limpia las tablas

    /sbin/iptables --flush

    # Carga el modulo NAT

    modprobe iptable_nat

    iptables -A INPUT -s *.*.*.* -j DROP

    iptables -A OUTPUT -d *.*.*.* -j DROP
```

Gracias a todos por su atencion, espero puedan ayudarme.

Saludos desde Argentina.

----------

## Cereza

Yo creo que ésto debería funcionar

```
iptables -A INPUT -s *.*.*.* -p tcp -j DROP
```

(cambia tcp por udp si es el caso)

Saludos.

----------

## esteban_conde

A lo mejor has olvidado "iptables save" despues de correr el script.

----------

## Inodoro_Pereyra

Shorewall usa un sistema de scripting bastante amigable, demasiado para mi gusto si vale mi opinión.

Como sea, shorewall tiene un sistema automatizado de blacklisting y genera las reglas para iptables en función de como se completen estos archivos de configuración...

 */etc/shorewall/blacklist wrote:*   

> #
> 
> # Shorewall version 3.4 - Blacklist File
> 
> #
> ...

 

Y para que tome los cambios, reiniciar shorewall: /etc/init.d/shorewall restart

El comando que propone cereza se aplica inmediatamente pero no es persistente a menos que uses el sistema de scripting propio de shorewall con lo que los cambios se pierden al reiniciar, por mas que se use iptables save.

Salud!

----------

## Cereza

 *Inodoro_Pereyra wrote:*   

> El comando que propone cereza se aplica inmediatamente pero no es persistente a menos que uses el sistema de scripting propio de shorewall con lo que los cambios se pierden al reiniciar, por mas que se use iptables save.

 

¿Ah? a mi me funciona con /etc/init.d/iptables save, siempre lo he hecho así y es persistente.

----------

## Inodoro_Pereyra

 *Cereza wrote:*   

>  *Inodoro_Pereyra wrote:*   El comando que propone cereza se aplica inmediatamente pero no es persistente a menos que uses el sistema de scripting propio de shorewall con lo que los cambios se pierden al reiniciar, por mas que se use iptables save. 
> 
> ¿Ah? a mi me funciona con /etc/init.d/iptables save, siempre lo he hecho así y es persistente.

 

Usando shorewall?

No tengo uno en este momento a mano pero juraría que shorewall borra todas las reglas de iptables que hubiera definidas haciendo flush a todo y las reemplaza por las definidas en su sistema feo de scripting.

Hablo de memoria, de lo que recuerdo haber probado en su momento. Mañana lo compruebo, que puedo estar equivocado.

Salud!

----------

## Cereza

 *Inodoro_Pereyra wrote:*   

>  *Cereza wrote:*    *Inodoro_Pereyra wrote:*   El comando que propone cereza se aplica inmediatamente pero no es persistente a menos que uses el sistema de scripting propio de shorewall con lo que los cambios se pierden al reiniciar, por mas que se use iptables save. 
> 
> ¿Ah? a mi me funciona con /etc/init.d/iptables save, siempre lo he hecho así y es persistente. 
> 
> Usando shorewall?
> ...

 

Ah no no no, yo uso iptables a pelo, no sé nada de shorewall, perdón.

----------

## YoSoLo

Gracias por sus respuestas, de verdad todo me sirve.

El servidor es contratado a una empresa, el soporte tecnico es quien me hace la configuracion, se que la misma maquina que me asignaron para mi servidor tiene designadas dos IPs. Corriendo 3 servers de otro juego por cada una.

Yo requiero bloquear una IP --Editado por Stolz por incumplimiento de las normas --

De las tantas formas que probamos, nos pasamos mas de 6 hs intentando con la persona de soporte tecnico, pero ninguna dio el resultado, es evidente que la comprobacion de key se sigue haciendo. 

Les aviso cuando lo haya solucionado. Igual si tienen mas datos o una regla de iptable mas especifica me vendria bien.

Saludos, Gabriel.

----------

## Inodoro_Pereyra

Mas específico que lo que ya fué cereza es imposible!

(Y menos si no das mas datos: Cual es el numero de IP de destino, cual es el puerto de origen o destino?)

Supongo que ese que hace de soporte técnico no debe conocer del asunto, la pauta te la da que estén usando shorewall que no es mas que un frontend "facilón" para iptables...

Con toda la información necesaria, muchos en el foro te podrían construir la regla de iptables que estás necesitando.

Salud!

----------

## YoSoLo

Este texto es sacado de una pagina que no voy a hacer publica

 *Quote:*   

> Battlefield 2 - Create Public Server without patching files
> 
> Description
> 
> I found a very simple way to host so called public servers (servers on wich you can even play without an valid cd-key) for Battlefield 2.
> ...

 

De lo que me han recomendado todavia no lo pude probar, tengo que esperar que se conecte la persona que hace la configuracion (soporte tecnico). para decirles si sirvio.

Gracias por ayudarme, tengo una comunidad entera esperando el servidor hace 1 semana ya.

Recurri a postear por que se  que cualquier ayuda me va a servir.

Saludos, Gabriel.

----------

## Inodoro_Pereyra

 *YoSoLo wrote:*   

> 207.38.11.34:29910

 

```
iptables -A OUTPUT -d 207.38.11.34 -p tcp --dport 29910 -j DROP
```

Salud!

----------

## esteban_conde

 *Inodoro_Pereyra wrote:*   

> iptables -A OUTPUT -d 207.38.11.34 -p tcp --dport 29910 -j DROP

 

Mas que afirmar pregunto:

No seria necesario hacer referencia al la tabla NAT, lo menciono ya que me ha parecido que se habla de dos tarjetas en el servidor.

Si no es asi perdonad la intromision.

----------

## sefirotsama

Pues métele duro, ya que google se chiva de quien ha sido...

De verdad que en internet no hay secretos...

Hablo desde la ignorancia, pero no puedes bloquear las respuestas hacia una sola IP metiendolo en /etc/hosts ? De esa  manera no bloquearías que tu servidor de respuesta a esa IP? Tal vez no sea lo mejor pero mientras no lo solucionas y se quedan con una mano delante y otra detrás hasta que cambien de IP (solución temporal).

----------

## YoSoLo

Me han pasado esta relga

```
iptables -A OUTPUT -o eth0 -d 207.38.0.0/16 -p udp --dport 29910 -j DROP
```

en conjunto con toda la info que me han dado, espero mañana tener buenas noticias.

saludos

----------

## Txema

Pero eso bloquea un rango completo de IPs (unas 65.000)... ¿seguro que es eso lo que quieres?

----------

## YoSoLo

```
Chain OUTPUT (policy DROP)

target     prot opt source               destination

ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

fw2net     all  --  0.0.0.0/0            0.0.0.0/0           policy match dir out pol none

Reject     all  --  0.0.0.0/0            0.0.0.0/0

reject     all  --  0.0.0.0/0            0.0.0.0/0

DROP       udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:29910

DROP       udp  --  0.0.0.0/0            207.38.0.0/16       udp dpt:29910

Chain blacklst (2 references)

target     prot opt source               destination

DROP       all  --  207.38.11.34         0.0.0.0/0

```

Este es un log de lo que me paso el encargado de soporte tecnico de la empresa donde pagamos el host del servidor

--Editado por Stolz por incumplimiento de las normas --

Es de no entender este asunto...

----------

## Inodoro_Pereyra

La información en la que te estás basando dice literalmente:

 *forum.wareznet.net/battlefield-2-create-public-server-without-patching-files-karlmueller-select-one-t64804.html wrote:*   

> Posted: Wed Jun 22, 2005 10:18 pm

 

En 3 años, el IP, el puerto, hasta el protocolo puede que hayan cambiado. Como sugiere el mismo hilo ese de wareznet, corré un sniffer, algo como tcpdump o similar y asegurate antes de seguir haciendo nada mas de cual es el número de IP para la regla de iptables y cual el puerto correspondiente.

Por cierto, tu problema no tiene nada que ver con Gentoo, ni siquiera con Shorewall o Iptables y hasta creo que raya en la ilegalidad, que va contra las normas del foro. Seguro vas a tener mas suerte preguntando esto mismo en un foro donde se hable de juegos.

Salud!

----------

## gringo

 *Quote:*   

>  no puedes bloquear las respuestas hacia una sola IP metiendolo en /etc/hosts

 

con eso bloqueas la resolución que yo sepa, pero siempre se podrá acceder aun servicio sabiendo la ip/puerto.

Igual te referías al hosts.deny del tcpd que sirve para bloquear todo tipo de hosts/ servicios.

saluetes

----------

## YoSoLo

Actualmente hay servidores funcionando publicamente, el primer post que escribi puse... hasta el 30 de diciembre del 2008 lo tuvimos online con esa configuracion. Ahora al cambiar a una empresa de host empezaron con la configuracion y esta este unico problema.

Si bloquear una IP en un servidor propio es un delito alguien esta errado...

Lo que no entiendo es que si esa misma regla la usan en otra comunidad de mi pais que usan debian64 por que en gentoo no funciona si es la unica diferencia, el resto tanto archivos  del servidor y demas son exactamente igual.

----------

## Inodoro_Pereyra

Bueno, si estás seguro de que ese es el numero de IP, y ese el puerto, y que es UDP y no TCP (en el post ese de wareznosecuanto no lo menciona), entonces algo no se está haciendo bien en el firewall.

Iptables no tiene puntos medios y obedece las reglas al pié de la letra. Si se le dice que bloquee el tráfico y aún así lo permite es por que antes de llegar a la regla que deniega hay definida otra que permite el paso. Habría que ver la salida completa de iptables para detectar cual es.

Salud!

----------

## YoSoLo

Primero que todo Gracias a los que intentaron ayudarme, de verdad gracias.

De alguna manera el soporte tecnico se las arreglo, dando en la tecla con la regla para iptables.

Asi es que tema solucionado.

Un gusto pasar por este foro.

Gracias gente.

Saludo y buen año para todos.

Gabriel.

----------

