Servidor y Router Debian

Hola, recientemente me dieron un k6 2 echo polvo y decidí montarlo como router para mi conexión. Probé coyote linux, y va muy bien, pero ahora me gustaria montar en el mismo pc un servidor ftp y otro http, me decidí por probar con debian para así de paso ir aprendiendo mas de linux, y de esta fantastica distribución.

En cuanto al los servidores conseguí un servicio de esos de ip dinamica y lo instalé con exito (santo apt-get!!) y con apache sin problemas, ahora me estoy mirando el proftpd, pero lo que no se como hacer y no consigo, es hacer que me haga de router...

A ver si me pudierais hechar una mano con eso, porque es lo que mas me urge y justamente a lo que no le encuentro solución... :P

Por cierto, después de probar debian... es una finura... [amor] , mejor que lo que he probado antes, Mandrake y SUSE(con la que estoy ahora). Cuesta un poco mas de afinar, pero va como las balas!!
Lo primero si lo kieres poner como router es ver si tienes habilitado la reexpedición de paquetes en el kernel además de otras cosillas , luego configurar las tablas de ruta, y por último si kieres las iptables para el firewall ...

..Los pasos concretos ni idea, tendré que rebuscar pero no creo que lo tenga en formato electrónico :-s ...


Salu2 y suerte
Necesitas Masquerade o lo que es lo mismo: SNAT (Source Masquerade Address Translation)

Con iptables es muy simple de hacer.

Salu2.Ferdy
Gracias a los dos!!!

Pero no me ha quedado muy claro, eso del Masquerade/SNAT mas o menos de que va? Porque aparte de que se que me va a tocar googlear de mala manera, no se nada mas de eso, jejeje.

Gracias otra vez.

Editado: Tambien me gustaria que hiciera de servidor dhcp, para que las ip's de los pc's conectados sea automatica. Tambien se hace con esto?

Se nota que voy un poco perdido...
http://isc.org/sw/dhcp/ -> Me va de lujo y permite muchas cosas. Es el estándar de facto.

Salu2.Ferdy
Gracias Ferdy,

Estoy utilizando el dhcp3 y parece que funciona correctamente, ya que al pc que lo tengo conectado le asigna una ip del margen de ip's que le doy.
Con lo que estoy cogiendo el desespero es con lo que me haga de router, porque no me pasa la conexion a los pc's que les asigna la IP.

Googleando, encontre un script que parecia que hacia lo que queria pero en fin... consigo que me asigne la Ip a la maquina pero no que esta reciba la conexion a internet...

A ver si me pudieseis aclarar un poquillo mas... porque de eso de las iptables i SNAT, masquerade... no me entero.
Necesitas tener activado el forward de paquetes. Postea la salida de iptables -L y podremos ayudarte. De todas formas en forosdelweb.com tiene que andar un script que puse hace tiempo orientado a kernels 2.4. Te ayudará.

http://www.forosdelweb.com/showthread.php?p=731711

Salu2.Ferdy
Yo para compartir la conexión (enrutar) utilizo estas reglas:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

poniendo eth0, ya que es la que tiene salida a inet.

Edito: Soy Zeenek, que estoy en casa de mi novia y no me apetece logearme con mi nick, llamadme perro ; P
Perro, yo no usaría TAN pocas reglas... el script que he posteado arriba está un pelín más elaborado.

Salu2.Ferdy
Que efectividad!!!

Bueno, voy a probar ese script, y lo que me ha dicho Nyya, y si no ya posteare lo que me pides.

gracias otra vez.

Editado:

He provado con lo de Nyya y con el scrip y ambos no me funcionan, no se que hago mal...

---iptables -L sin hacer nada me da:

:/home/kikuchiyo# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
:/home/kikuchiyo#

---El script no se me ejecuta bien, me da un error en la linea 46:

Habilitando el reenvio de paquetes
Activando las reglas de IPTABLES
iptables v1.2.9: Couldn't load match ` ':/lib/iptables/libipt_ .so: cannot open shared object file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
./ferdy: line 46: state: command not found
Habilitando SNAT en eth1
:/home/kikuchiyo#


---Otra cosa que me pasa es que eth0 que es la interna no se me activa al arrancar. Basta con poner que cuando arranque haga un: ifconfig eth0 up 192.168.0.1, verdad??


Muchas gracias por respoder tanta duda...
Mmmm , ké kernel usas en la debian? un 2.4 o un 2.6?

Yo de 2.4 todavía ni idea (ains komo espero en el segundo cuatrimestre una asignatura sobre 2.4 [inlove] )

Pero como decía ferdy, el script es orienta a kernels 2.4, si usas 2.6 no creo que rule correctamente ... ( y recuerdo ke el forward de paquetes debe estar compilado en el kernel )


Salu2 y suerte
En el script que te puse (bueno, que puso Nyya y era yo), en las reglas de iptables sabe eth0, mi eth0 es mi interfaz externa, donde tengo la ip pública y mi eth1 es la interna donde tengo 192.168.0.1 como IP, y para que los ordenadores de mi red tengan acceso a inet tienen que tener como wategay (puerta de enlace) 192.168.0.1 a parte de una IP dentro del rango como puede ser 192.168.0.2
En el script que te puse (bueno, que puso Nyya y era yo), en las reglas de iptables sabe eth0, mi eth0 es mi interfaz externa, donde tengo la ip pública y mi eth1 es la interna donde tengo 192.168.0.1 como IP, y para que los ordenadores de mi red tengan acceso a inet tienen que tener como wategay (puerta de enlace) 192.168.0.1 a parte de una IP dentro del rango como puede ser 192.168.0.2


Usted quiso decir: white gay

¿Por que puerta quieres enlazar con eso? :P
Muchas gracias a todos,


El kernel que tengo es un 2.4, el que viene con la sarge. Supongo y espero que no lleve activado el reenvio, porque sino, es que soy un zoquetazo, por 3 lineas, no puede ser que la cague tanto.

Zeenek, cuando nombras que tienes que poner 2 ip de gateway para que tengan conexion tus maquinas, en xp por ejemplo solo te deja poner una, no lo acabo de entender esto, y la otra ip del rango que pones es una cualquiera que no este asignada a ninguna maquina??

me estoy haciendo pesado hasta a mi mismo... [tomaaa]

Editado: Ahora me he estado mirando para compilar el kernel, no parece dificil. Me recomendais alguno en especial??? O bajo un 2.4 el que sea??? (Hace un par de meses maximo que me estoy poniendo "en serio" con linux y no he tengo mucho tiempo, supongo que se nota...jeje)
Intentaré explicarme mejor, pruba de configurar tu servidor y tus máquinas de esta manera.

Servidor (router):
Interfaz eth0:
-IP: La que te de tu proveedor ISP

Interfaz eth1:
-IP: 192.168.0.1
-Mascara: 255.255.255.0

Ordenadores restantes
-IP: 192.168.0.2
-Mascara: 255.255.255.0
-puerta de enlace:192.168.0.1

Si tienes mas ordenadores pues pones de IP 192.168.0.3 y asi succesivamente, eso si la mascara y la puerta de enlace la misma.

Poniendo todo esto y con el script que puse debe funcionar porque es como lo tengo yo con un kernel 2.4.26 y con el 2.4.18 tambien me funcionaba sin tocar nada.
Bueno, conseguí hacer funcionar el servidor como router!!! oleee!!!!

estuve googleando como un cochino, y aprendi bastante(como minimo lo basico,jeje) sobre iptables. (y sigo sin entender porque no me funcionava)

Pero bueno, le metí de nuevo una sarge que me bajaron la sarge que corria en dvd con jigdo, ya que instalado desde internet me tardava(y casi lo mismo me tardo con los dvd, jajajaja).

Hos explicare lo que hice, por si alguien tan torpe como yo intenta hacer cosas asi, jejeje.

puse como tarjeta de red conectada a internet eth0 automaticamente con dhcp.(se hace en la instalacion, escojes adaptador)

active eth1 como tarjeta de red local. (ifconfig eth1 up 192.168.0.1)

corri este script mas alguna cutremodificación mia. (iptables -L me devolvia cosas!!)
http://bulma.net/impresion.phtml?nIdNoticia=1860

le metí dhcp3, para que me asignara ip automatica a las maquinas. (apt-get install dhcp3-server) se tiene que configurar despues en /etc/dhcp3/dhcpd.conf

le meti el programilla para ip's dinamicas de no-ip(es gratis el dominio, del tipo xxxx.sytes.net) (apt-get install no-ip) La primera vez que lo haces correr tiene que ser -C para que te pida el login y el pass y cree el archivo de configuracion.

Y todos los pc's conectados mediante switch al servidor con la conexion configurada por dhcp ya que le puse el servidor dhcp al "servidor/router/firewall"

Y ya funcionavaaaaaaaaaaaaa [buuuaaaa] [buuuaaaa]

En fin, aqui va mi experiencia... jejeje

Bueno, gracias a los que me echasteis una manilla en esto.
15 respuestas