Quiere crear un entorno controlado y seguro para probar openvpn?. Vamos a contruir un pequeño laboratorio de pruebas con tres ordenadores. Uno sera el ordenador remoto, el segundo el servidor y router OpenVpn, y el tercero la LAN. El ordenador que actue como servidor y router OpenVpn necesitara dos interfaces de Ethernet. De manera que sera posible probar las reglas de configuracion y cortafuegos de OpenVpn de un modo realista. Utilice cables de Ethernet y un conmutador.
Primero instale OpenVPN en el ordenador remoto y la maquina que hara de servidor OpenVpn. Todos los ordenadores ejecutan Linux, (trataremos otros clientes más adelante). En la mayoria de distribuciones Linux OpenVpn esta incluida, de manera que está a un emerge openvpn o apt-get install openvpn (gentoo y debian respectivamente).
La configuración de rutas puede resultar un poco confusa, sobre todo si tiene que dibujar diagramas de red para configuraciones sencillas (como me pasa a mi), así que tómeselo con tranquilidad y siga estos pasos. Más adelante puede cambiar direcciones y rutas.
El ordenador remoto y el servidor conéctelos directamente con un clave cruzado. Llamaré "tux" al servidor OpenVpn, "stinkpad" al cliente remoto y "server1" escenificará al resto de la LAN.
tux y stinkpad es necesario que estén en subredes diferentes. Nuestro direccionamiento de red será:
stinkpad
eth0
address 192.168.2.100
netmask 255.255.255.0
broadcast 192.168.2.255
network 192.168.2.0
tux
eth0 - LAN
address 192.168.1.10
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
eth1 - INTERNET
address 192.168.3.10
netmask 255.255.255.0
broadcast 192.168.3.255
network 192.168.3.0
server1
eth0
address 192.168.1.76
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
gateway por defecto 192.168.1.10
No hace falta cambiar las configuraciones de red actuales, serán utilizados temporalmente para las pruebas. No necesita tocar ningun fichero de configuración. Establecer las IP:
root@stinkpad # ifonfig eth0 192.168.2.100 netmask 255.255.255.0 up
root@tux # ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
root@tux # ifconfig eth1 192.168.3.10 netmask 255.255.255.0 up
root@server1 # ifconfig eth0 192.168.1.76 netmask 255.255.255.0 up
Crear las rutas estáticas y activar el reenvio en tux, para permitir el flujo de los bits:
root@stinkpad # route del default
root@stinkpad # route add -net 192.168.1.0/24 gw 192.168.3.10 eth0
root@stinkpad # route add -net 192.168.2.0/24 gw 192.168.2.100 eth0
root@stinkpad # route add -net 192.168.3.0/24 192.168.2.100 eth0
root@tux # route del default
root@tux # echo 1 > /proc/sys/net/ipv4/ip_forward
root@tux # route add -net 192.168.2.0/24 gw 192.168.3.10 eth1
El comando route le permite ver sus rutas:
root@stinkpad # route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 stinkpad.local 255.255.255.0 UG 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 192.168.3.10 255.255.255.0 UG 0 0 0 eth0
Cometer errores es normal, con este comando puede eliminar las rutas:
# route del -net 192.168.2.0/24
root@tux # route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 * 255.255.255.0 U 0 0 0 eth1
192.168.2.0 tux.local 255.255.255.0 UG 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
configuracion server1:
root@server1 # route del default
root@server1 # route add -net 192.168.2.0/24 gw 192.168.1.10 eth0
root@server1 # route add -net 192.168.3.0/24 gw 192.168.1.10 eth0
root@server1 # route
Tabla de rutas IP del núcleo
Destino Pasarela Genmask Indic Métric Ref Uso Interfaz
192.168.3.0 tux.local 255.255.255.0 UG 0 0 0 eth0
192.168.2.0 tux.local 255.255.255.0 UG 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
Prbar la conectividad entre server1 y stinkpad:
root@server1 # ping -c3 192.168.2.100
PING 192.168.2.100 (192.168.2.100) 56(84) bytes of data.
64 bytes from 192.168.2.100: icmp_seq=1 ttl=63 time=0.535 ms
64 bytes from 192.168.2.100: icmp_seq=2 ttl=63 time=0.523 ms
64 bytes from 192.168.2.100: icmp_seq=3 ttl=63 time=0.553 ms
--- 192.168.2.100 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.523/0.537/0.553/0.012 ms
root@stinkpad # ping -c 3 192.168.1.76
PING 192.168.1.76 (192.168.1.76) 56(84) bytes of data.
64 bytes from 192.168.1.76: icmp_seq=1 ttl=63 time=0.469 ms
64 bytes from 192.168.1.76: icmp_seq=2 ttl=63 time=0.434 ms
64 bytes from 192.168.1.76: icmp_seq=3 ttl=63 time=0.511 ms
--- 192.168.1.76 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.434/0.471/0.511/0.036 ms
Ha configurado dos pasarelas por defecto y no sabe como eliminar una de ellas?, utilice este comando:
# route del default gw 192.168.1.10
Este diseño imita Internet. stinkpad solo necesita estar encaminado hacia tux, el enrutamiento en la LAN detrás de tux pasara a ser controlado por el servidor OpenVPN. Si añade más ordenadores no olvide ponerlos en la misma LAN que server1 (192.168.1.0/24) y convertir la IP de la LAN (192.168.1.76) en su pasarela por defecto.
Para las pruebas no es necesario tener pasarela (gateway) por defecto, contrariamente en las maquinas de produccion deberia tenerlas. "Stinkpad" (pc remoto), debe conectarse directamente con el router "tux". Dominios de emision diferentes necesitan enrutamiento entre si o un puente.
Siguiente --> Iniciar y probar OpenVPN:
to be continued...
Referencias:
Administracion de sistemas Linux. Tom Adelstein Bill Lubanovic
Redes en Linux. Carla Schroder
Linux es genial!.
No hay comentarios:
Publicar un comentario