Iptables

Juan Andres Ramirez jandresaedo en gmail.com
Lun Abr 27 16:28:05 CLT 2009


2009/4/27 Miguel Oyarzo O. <admin en aim.cl>:
> Juan Andres Ramirez escribió:
>>
>> Hola listeros:
>>     Veamos algo mal tengo en el orden de las reglas iptables porque
>> al tratar de bloquear una ip publica no pasa nada:
>>
>> ## ESTABLECEMOS POLITICA POR DEFECTO
>> iptables -P INPUT ACCEPT
>> iptables -P OUTPUT ACCEPT
>> iptables -P FORWARD ACCEPT
>>
>> #DEJAMOS LIBRES LAS CONECCIONES LOCALES
>> iptables -A INPUT -i lo -j ACCEPT
>>
>> #TENEMOS ACCESO A LA RED DESDE LA INTERFACE bond0
>> iptables -A INPUT -s 192.168.100.0/24 -i bond0 -j ACCEPT
>
>> #ACCESO A WEB
>> iptables -A FORWARD -s 192.168.100.0/24 -i bond0 -p tcp --dport 80 -j
>> ACCEPT
>> # ACCESOS A HTTPS
>> iptables -A FORWARD -s 192.168.100.0/24 -i bond0 -p tcp --dport 443 -j
>> ACCEPT
>>
>> # Aceptamos que consulten los DNS
>> iptables -A FORWARD -s 192.168.100.0/24 -i bond0 -p tcp --dport 53 -j
>> ACCEPT
>> iptables -A FORWARD -s 192.168.100.0/24 -i bond0 -p udp --dport 53 -j
>> ACCEPT
>
> Todas las lineas FORWARD ACCEPT hasta aqui son inutiles dado que tu politica
> FORWARD es ACCEPT
>
>  > #CERRAMOS EL RESTO DE LOS PUERTOS
>>
>> iptables -A FORWARD -s 192.168.100.0/24 -i bond0 -j DROP
>
> No deberia existir esta linea
>
>> Esto no esta funcionando...no bloquea la ip que le especifico,
>>
>> #Bloqueo a direccion ip cualquiera
>> iptables -A FORWARD -s 200.29.182.140 -j REJECT
>
> Deberias pensar en -d 200.29.182.140 REJECT mejor,
> pero como antes estas autorizando toda la red para usar WEB (http, https y
> dns), esta linea no tiene efecto alguno en esas puertas.
>
>
>> Probe tambien con:
>> iptables -A FORWARD -s 200.29.182.140 -p TCP --dport 80 -j REJECT
>
> Esta malo, estas confundiendo el sentido de los paquetes.
> -s quiere decir SOURCE (que venie de). Debes usar -d (con destino a)
>
>> Ahora si cambio la linea : iptables -A FORWARD -s 192.168.100.0/24 -i
>> bond0 -p tcp --dport 80 -j ACCEPT  por REJECT, efectivamente bloquea
>> la navegacion por web.
>> Cualquier tips lo agradeceria.
>
> Cierra tu politica forward y abre lo que requieras. Al final del script
> debes poner una regla para los paquetes relativos, sino no funcionará al
> cerrar la potica.
>
> Sugerencia:
> Deberias reescribir el script respetando el orden de precedencias de
> iptables. Tu ejemplo es ilogico y producira efectos inesperados.
> (con la mitad de las lineas lograras lo que deseas)
>

Ok, clarisimo, lo voy a reescribir otra vez, ahora bien tome otro
manual, dice que la primera regla que aplico :

iptables -A FORWARD -s 192.168.100.0/24 -i bond0 -p tcp --dport 80 -j ACCEPT

le da web a toda mi red interna, y omitiria otra regla para bloquear
en este puerto,  entonces como lo hago para bloquear algunas
direcciones web????, no quiero bloquear el puerto 80 completamente,
asi que si aplico esa regla y luego debajo de esta anoto:

iptables -A FORWARD -d 200.29.182.140  -p TCP --dport 80 -j REJECT

o si aplico:

iptables -A FORWARD -d 200.29.182.140 -j REJECT

no va a funcionar porque la primera regla que anote fue aceptar
conecciones al 80 a toda la red.

Gracias.
>
> Saludos,
>
> =====================================
> Miguel A. Oyarzo O.
> Ingeniería en Redes y Comunicaciones
> Linux User: # 483188 - counter.li.org
> Austro Internet S.A. & INALAMBRICA S.A.
> Teléfono: [+05661] 710030
> Punta Arenas - Chile
> =====================================
>
>
>



Más información sobre la lista de distribución Linux