Lo mejor de la configuración red-red es que es casi idéntica a la de roadwarrior.
Esto es El Road Warrior está conectado a una red, pero él es un cliente sólo, de ésta forma:
El road warrior, con la configuración antes explicada puede perfectamente ver las máquinas de la LAN (192.168.1.0/24)
Pero qué tal que pusiéramos una red detrás del roadwarrior?, quedaría algo así:
Oh, el Road warrior es en realidad otro linux.
Linux1: Está conectado a la red 192.168.1.0/24
Linux2: Está conectado a la red 192.168.2.0/24
Al finalizar de configurar, realmente lo que sucederá es que ambos extremos (servidores) de la VPN agregan una ruta estática para cada uno de ellos poder alcanzar la red LAN del otro:
[b]Fíjense, es IMPERIOSO que ambas redes tengan diferente numeración, es decir, que sean dos redes IPs diferentes, en éste caso lo son.[/b]
Mediante OpenVPN podemos hacer que ambas redes puedan verse. Es decir, por ejemplo, que podamos hacer ping entre máquinas de la LAN1 y de la LAN2 (por ejemplo: 192.168.1.6 haciendo ping a 192.168.2.78 sin inconveniente alguno).
Configuración inicial:
Como bien indiqué anteriormente, es una configuración muy parecida al roadwarrior. El RoadWarrior sería Linux2 y el servidor sería Linux1.
Hay que configurar entonces linux1 para ser el servidor, con todas las de la ley anteriormente explicado
Hay que configurar linux2 para que actúe como un cliente (road warrior) con todas las de la ley anteriormente explicados.
[b]
Adiciones a la configuración:[/b]
Asumamos que el ejemplo anterior aplica. Es decir, la subred del cliente (linux2) es la 192.168.2.0/24 el cliente le llamaremos [b]client2[/b] (de acuerdo a los certificados y claves generados como road warrior).
[b]Cambios en el servidor:[/b]
Hay que crear el directorio ccd:
mkdir /etc/openvpn/ccd
Dentro de éste directorio creamos un archivo con el nombre del cliente (client2) que contiene la siguiente linea:
iroute 192.168.2.0 255.255.255.0
Aquí lo que le indicamos al servidor es que al conectarse client2 (este cliente remoto que es un linux con una red detrás) que por favor cree una ruta hacia la red 192.168.2.0/24 que vaya hacia ese cliente remoto. Con eso logramos que las máquinas de la red del servidor puedan ver a las del cliente.
Después hay que agregar esta linea a [i]/etc/openvpn/server.conf[/i]
client-config-dir ccd
route 192.168.2.0 255.255.255.0
client-to-client
push "route 192.168.2.0 255.255.255.0"
La directiva client-config-dir permitirá al servidor buscar dentro del directorio ccd configuraciones especiales según el cliente (en este caso client2).
¿Por qué tantas veces directivas de route? Sinceramente: no lo entiendo pero así es.
[b]Tenga cuidado, en este segundo caso no la agregamos en ccd/client2 sino en el archivo de configuración del servidor (server.conf en mi caso)[/b]
Cambios en el cliente
En el cliente simplemente tenemos que poner en 1 el ip_forwarding, esto se hace tal y como se realizó en el servidor: editando el archivo /etc/sysctl.conf y después ejecutando:
sysctl -p
debe salirte:
net.ipv4.ip_forward = 1
Ya, con esto las máquinas de una red podrán ver a las de la otra red.
Si tuvieras varias redes remotas (client2 y client3 por ejemplo) entonces debes crear un archivo llamado client3 dentro de ccd con la configuración propia de esa red. Y agregar las lineas de las rutas (route y push "route...") en el server.conf
No te olvides de reiniciar los clientes.
Me funciona.. pero si notas algo que falta o que sobre, bienvenido el comentario.
Comentarios
el server.conf no hay que
el server.conf no hay que modificarlo. el clent3.conf es sencillamente prepara los certificados para él tal y como se hacep ara el 1 y el 2.
el 4 será lo mismo y el 5 y el 6 y todos... el server.conf no se modifica y los demás sencillamente se crean para cada uno.
Saludos

epe
EcuaLinux.com
+(593) 9 9924 6504
Servicios en Software Libre
Gracias
Gracias por contestar mi pregunta, ya me funciono perfecto la vpn, uno de mis problemas era que no reiniciaba los servicios del openvpn cuando agregaba un nuevo client
Ahora mi maquina servido no me deja salir a internet
ya que pude configurar varias redes en al vpn todo va bien
pero no me habia percatado que el servidor de openvpn que tambien hace la funcion de masquedare no me da salida a internet este el el firewall que estoy utilizando, al final lo dejo lo mas sencillo posible no se si me falte alguna otra instruccion alguien me podria ayudar
:)
#!/bin/sh
iptables -F POSTROUTING -t nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d 0.0.0.0/0 -j MASQUERADE
# Borrar todos los direccionamientos
iptables -F PREROUTING -t nat
la red que quiero que me de salida a internet es la 192.168.0.0
Recien veo tu comentario, ya
Recien veo tu comentario, ya que estoy revisando algo sobre VPNs de los howto e EPE, tu linea de masq, esta errada, debes declararle la salida que es eth0 (en mi caso), no se el tuyo puede ser eth1 en fin debes declarar la interfaz que tenga la salida a internet:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
Saludos.
estoy configurando un
estoy configurando un servidor con estos parametros pero no encuentro que cliente puedo usar para el sistema Linux??? por q no quiero poner windows detras de mi red lan ,,
como puedo hacer ,, ya que unicamente explican como hacerlo con windows
Correccion
Hola. muy buena guia. me orientó mucho. Gracias.
una cosita en donde dice
push "route 192.168.2.0 255.255.255.0"
deberia decir :
push "route 192.168.1.0 255.255.255.0"
DeCentrales.com
no, esto son adiciones a lo
no, esto son adiciones a lo que hay en el roadwarrior, y todo lo que se agrega es referente al cliente (192.168.2.0/24 en este ejemplo).
Saludos

epe
EcuaLinux.com
+(593) 9 9924 6504
Servicios en Software Libre
no estoy de acuerdo
Hola.
hasta que no lo hice asi, no pude ver la sub-red detras del server..
# Push routes to the client to allow it
# to reach other private subnets behind
# the server. Remember that these
# private subnets will also need
# to know to route the OpenVPN client
# address pool (10.8.0.0/255.255.255.0)
# back to the OpenVPN server.
#push "route 192.168.99.0 255.255.255.0"
;push "route 192.168.1.0 255.255.255.0"
DeCentrales.com
es imperioso leer bien
es imperioso leer bien inglés
# Push routes to the client to allow it
# to reach other private subnets behind
# the server. Remember that these
# private subnets will also need
esto, te repito, está bien, lo qe dics para que la ruta de la red interna del servidor se empuje al cliente.
Sin embargo: En este caso se requiere ADEMÁS el proceso inverso que es que cuando el cliente se conecte, se le agregue la ruta de la red del cliente (192.168.2.0/24 en el ejemplo mío) al servidor y para que los otros clientes puedan llegar (en teoría).. tiene que hacerse sino el servidor no conocerá cómo llegar a la ruta de la lan del cliente.
como no publicas tu configuración, ahi dejo el tema, si te funcionó, felicidades!
Saludos

epe
EcuaLinux.com
+(593) 9 9924 6504
Servicios en Software Libre
Hola EPE, un Salu2s...
Hola EPE, un Salu2s... Brother...
Que tal si las subredes tanto del servidor como del roadwarrior son iguales, y entonces se desea utilizar el tunel como acceso entre ellas??? se podría lograr de esta forma?.
Es decir, SOLO ES UNA IDEA:
- Se podría crear 2 servidores vpn
- Conectar cada pc de las subredes a su respectivo servidor
- Y unir esas subredes virtuales (tunel) mediante los 2 server
Debido a que las subredes por ejemplo son 192.168.100.0/24 en ambos lados, no se podría utilizar la red del tunel como beneficio? es decir la 10.8.0.0? o 10.8.1.0 y 10.8.2.0.
Si es posible como se lograría...??
LAN1 -> Servidor 1 + Servidor 2 <- LAN2
---
______________________
!!!AdminRed_Debian!!!
Páginas