El Fri, Nov 09, 2001 at 05:22:35PM -0600, Lemus Moreno Jose A dijo:
Saludos, con otra duda.
Como puedo hacer para dar un rango de ip con ipchains, esto es si yo
quiero denegar o aceptar por ejemplo de la xxx.xxx.xxx.1 a la
xxx.xxx.xxx.153, o este tipo de manipulacion es con la mascara nada mas.
Para ser mas claro yo dijo
ipchains -A input -s 192.168.1.0/0 -d xxx.xxx.xxx.1 -p TCP -j REJECT
Ante todo una pregunta: ¿por qué 192.168.1.0/0?
¿Qué rango de ips quieres capturar aquí?
x.x.x.x/0 es equivalente a poner 0/0, o sea, cualquier ip.
Si quisieras capturar los paquetes que provengan de tu LAN, definida,
supongamos, como de clase de C (255.255.255.0 de máscara de red), la expresión
que deberías utilizar sería 192.168.1.0/24.
ahi es donde no se como decirle que quiero desde la 1 hasta la 153 puesto
que no se que mascara tenga el rango de ips que quiero denegar o aceptar
sea el caso.
No te basta con una sola regla, que case con el rango que tú quieres, necesitas
ir separando usando potencias de 2.
Utilizando la herramienta netmask:
[EMAIL PROTECTED]:~$ netmask 10.10.10.1:10.10.10.153
10.10.10.1/32
10.10.10.2/31
10.10.10.4/30
10.10.10.8/29
10.10.10.16/28
10.10.10.32/27
10.10.10.64/26
10.10.10.128/28
10.10.10.144/29
10.10.10.152/31
Serían 10 reglas REJECT, como la que escribes arriba.Pero tengo otra sugerencia:
ACCEPT 10.10.10.0/32
REJECT 10.10.10.1/25
REJECT 10.10.10.128/28
REJECT 10.10.10.144/29
REJECT 10.10.10.152/31
Con lo que bastarían 5 reglas.
En lo que sigue hasta el final, trato de explicar cómo calculo yo a mano estos
valores:
ipchains -A input -s 192.168.1.0/0 -d xxx.xxx.xxx.0/32 -p tcp -j ACCEPT
Supongo que las que no rechazas las aceptarías... De todas formas me queda la
duda: ¿por qué sí aceptas la x.x.x.0 y no las otras? Un host no puede tener una
dirección de red.
ipchains -A input -s 192.168.1.0/0 -d xxx.xxx.xxx.1/25 -p tcp -j REJECT
Rechaza desde la 1 hasta la 127. La ip xxx.xxx.xxx.0 no entraría aquí, porque
se aceptaría usando la regla anterior.
¿Por qué /25? Con /24 pillarías desde la 0 hasta la 255, 256 ips; al añadir un
bit más, lo que haces es obtener un rango de la mitad de ips, 128,
concretamente desde la 0 hasta la (255+1) /2 - 1 = 127.
ipchains -A input -s 192.168.1.0/0 -d xxx.xxx.xxx.128/28 -p tcp -j REJECT
Rechaza desde la 128 hasta la 143, un total de 16 ips.
¿Por qué /28? Con /26 obtendrías 64 ips; con /27, 32 ips; y por fin, con /28,
la ventana de 16 ips.
ipchains -A input -s 192.168.1.0/0 -d xxx.xxx.xxx.144/29 -p tcp -j REJECT
Esto rechaza desde la 144 hasta la 144+7=151, 8 ips en total.
Y por último:
ipchains -A input -s 192.168.1.0/0 -d xxx.xxx.xxx.152/31 -p tcp -j REJECT
rechaza tanto la xxx.xxx.xxx.152 como la xxx.xxx.xxx.153.
Espero que te haya quedado más o menos claro; me resulta mucho más fácil
calcularlo que explicar cómo lo he hecho.
Salu2, Miguel aka Netman.
--
Un fracasado es un hombre que ha cometido un error pero que no es capaz de
convertirlo en experiencia.
-- Elbert Hubbard. (1856-1915) Ensayista estadounidense.
Powered by Debian GNU/LiNUX sid, potato - Kernels 2.4.14, 2.2.20