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