3- Configuración de OpenVPN Red a Red

Imagen de Epe

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

Imagen de Epe

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

Imagen de damage

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

Imagen de Gelevera

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 estoy de acuerdo

Imagen de Gelevera

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

Imagen de Epe

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

---

ecualug
______________________
!!!AdminRed_Debian!!!

Páginas