Sei sulla pagina 1di 6

OPENSUSE OPENVPN

SERVIDOR # # # # # # # # # # # # # # # # # yast -i openvpn mkdir /etc/openvpn/easy-rsa-V2.0/ cp /usr/share/openvpn/easy-rsa/2.0/* /etc/openvpn/easy-rsa-V2.0 mkdir /etc/openvpn/easy-rsa-V2.0/keys cd /etc/openvpn/easy-rsa-V2.0 vim vars . vars ./clean-all ./build-dh ./pkitool --initca ./pkitool --server servidor openvpn --genkey --secret ta.key mv ta.key /etc/openvpn/easy-rsa-V2.0/keys/ cd /usr/share/doc/packages/openvpn/sample-config-files cp server.conf /etc/openvpn cd /etc/openvpn vim server.conf

eliminar los valores ca, cert,key, dh y tls-auth de server.conf. O sea cambiarlos por estos: ca /etc/openvpn/easy-rsa-V2.0/keys/ca.crt cert /etc/openvpn/easy-rsa-V2.0/keys/servidor.crt key /etc/openvpn/easy-rsa-V2.0/keys/servidor.key dh /etc/openvpn/easy-rsa-V2.0/keys/dh1024.pem tls-auth /etc/openvpn/easy-rsa-V2.0/keys/ta.key 0 despues reiniciamos la vpn y agregamos como servicio para que se inicie al arrancar nuestra maquina # rcopenvpn start # chkconfig --add openvpn aca esta el log del inicio openvpn[2932]: OpenVPN 2.0.9 i586-suse-linux [SSL] [LZO] [EPOLL] built on Nov 14 2008 openvpn[2932]: Diffie-Hellman initialized with 1024 bit key openvpn[2932]: Control Channel Authentication: using '/etc/openvpn/easyrsa-V2.0/keys/ta.key' as a OpenVPN static key file openvpn[2932]: Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication openvpn[2932]: Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication openvpn[2932]: TLS-Auth MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ] kernel: tun0: Disabled Privacy Extensions

openvpn[2932]: TUN/TAP device tun0 opened openvpn[2932]: /bin/ip link set dev tun0 up mtu 1500 openvpn[2932]: /bin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2 openvpn[2932]: /bin/ip route add 10.8.0.0/24 via 10.8.0.2 openvpn[2932]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ] openvpn[2937]: UDPv4 link local (bound): [undef]:1194 openvpn[2937]: UDPv4 link remote: [undef] openvpn[2937]: MULTI: multi_init called, r=256 v=256 openvpn[2937]: IFCONFIG POOL: base=10.8.0.4 size=62 openvpn[2937]: IFCONFIG POOL LIST openvpn[2937]: Initialization Sequence Completed despues hay que abrir el puerto UDP 1194 YaST Seguridad y usuarios Cortafuegos Servicios autorizados Opciones avanzadas y agregamos el puerto 1194 en la parte de UDP Mirando los logs del servidor visto esto, creo que hay que ponerlos como interna para que funcione bien el firewall (por los devices tun estoy diciendo) SuSEfirewall2: batch committing... SuSEfirewall2: Firewall rules unloaded. SuSEfirewall2: Setting up rules from /etc/sysconfig/SuSEfirewall2 ... SuSEfirewall2: using default zone 'ext' for interface tun0 SuSEfirewall2: Firewall customary rules loaded from /etc/sysconfig/scripts/SuSEfirewall2-custom SuSEfirewall2: batch committing... SuSEfirewall2: Firewall rules successfully set para solucionar edite el archivo /etc/sysconfig/SuSEfirewall2 # vim /etc/sysconfig/SuSEfirewall2 le agregue la interfas tun0 como interna FW_DEV_INT="eth1 tun0" reiniciamos el firewall # rcSuSEfirewall restart SuSEfirewall2: Setting up rules from /etc/sysconfig/SuSEfirewall2 ... SuSEfirewall2: Firewall customary rules loaded from /etc/sysconfig/scripts/SuSEfirewall2-custom SuSEfirewall2: batch committing...

SuSEfirewall2: Firewall rules successfully set CLIENTES Desde el servidor aun, hacemos esto # # # # # # # # cd /etc/openvpn/easy-rsa-V2.0/ . vars ./pkitool cliente1 cd keys mkdir cliente1 cp ca.crt cliente1.crt cliente1.key ta.key cliente1 chmod -R 755 cliente1 scp cliente1/* usuario@maquinacliente:/etc/openvpn/

Despues nos conectamos al cliente # # # # ssh root@maquinacliente cd /usr/share/doc/packages/openvpn/sample-config-files cp client.conf /etc/openvpn/ cd /etc/openvpn

y editamos el archivo client.conf vim /etc/openvpn/client.conf cambiar: remote my-server 1194 por remote ip.o.host.del.server 1194 cambiamos el ca, cert y key por ca.crt cliente1.crt cliente1.key descomentamos la linea tls-auth ta.key 1 bueno hasta ahi tenemos una vpn de servidor-cliente, pero si necesitamos por ejemplo, que una maquina de la lan de la vpn cliente vea una carpeta compartida o una impresora de una maquina que esta dentro de la red del servidor?. Debemos colocar un push en el server.conf para que nuestro dev tun0 pueda redireccionarlos hacia las maquinas dentro de la lan del servidor, algo asi: push route subred-local mascara-local o sea, por ejemplo, le agregamos la linea a nuestro archivo de configuracion

#echo 'push "route 192.168.1.0 255.255.255.0"' /etc/openvpn/server.conf despues # rcopenvpn restart y listo openvpn[5434]: OpenVPN 2.0.9 i586-suse-linux [SSL] [LZO] [EPOLL] built on Nov 14 2008 openvpn[5434]: Diffie-Hellman initialized with 1024 bit key openvpn[5434]: Control Channel Authentication: using '/etc/openvpn/easyrsa-V2.0/keys/ta.key' as a OpenVPN static key file openvpn[5434]: Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication openvpn[5434]: Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication openvpn[5434]: TLS-Auth MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ] kernel: tun0: Disabled Privacy Extensions openvpn[5434]: TUN/TAP device tun0 opened openvpn[5434]: /bin/ip link set dev tun0 up mtu 1500 openvpn[5434]: /bin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2 openvpn[5434]: /bin/ip route add 10.8.0.0/24 via 10.8.0.2 openvpn[5434]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ] openvpn[5439]: UDPv4 link local (bound): [undef]:1194 openvpn[5439]: UDPv4 link remote: [undef] openvpn[5439]: MULTI: multi_init called, r=256 v=256 openvpn[5439]: IFCONFIG POOL: base=10.8.0.4 size=62 openvpn[5439]: IFCONFIG POOL LIST openvpn[5439]: Initialization Sequence Completed OBS: para que pueda ver toda la red del servidor tuve que tocar el SuSefirewall, como no me conectaba a los equipos detras del servidor tuve que mirar los logs del firewall y fue esto lo que veia: Jan 29 01:19:36 mail kernel: SFW2-FWDint-DROP-DEFLT IN=tun0 OUT=eth1 SRC=10.8.0.6 DST=192.168.1.2 LEN=84 TOS=000 PREC=000 TTL=63 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=15904 SEQ=1 como me hacia drop de todos los paquetes que me enviaba el cliente vpn tuve que agregarle la siguiete regla al firewall exactamente en la parte de FW_FORDWARD FW_FORWARD=10.8.0.0/24,192.168.1.0/24

en la cual le permito a todas las maquinas de la subred 10.8.0.0 acceder a todas las maquinas de la lan 192.168.1.0 (ip de la lan del server) si encuentran una forma mas segura o mejor de como se hace, avisenme bueno ese es el caso de una conexion de punto a punto. Y si se quisieramos hacer una vpn como si fuere que las dos redes estan juntas? bueno, para eso tenemos que hacer lo siguiente: hay que decirle a openvpn donde se encuentran los archivos de configuracion de los clientes # echo 'client-config-dir /etc/openvpn/ccd' /etc/openvpn/server.conf creamos el directorio donde guardaremos nuestras configuraciones de los clientes # mkdir ccd cuando se conecte algun cliente al servidor, este buscara en ese directorio si no encuentra algun archivo de configuracion que concuerde con el common name de el certificado de el cliente que se conecta. En este caso como nuestro common name del primer cliente es cliente1 en el directorio ccd creamos un archivo de texto que se llame cliente1 que contendra lo siguiente: iroute lan.del.cliente mascara.del.cliente o sea hacemos: # echo 'iroute 192.168.0.0/24 255.255.255.0' /etc/openvpn/ccd/cliente1

192.168.0.0/24 es la lan del cliente que se nos conecta luego agregamos estas lineas al server.conf route lan.del.cliente mascara.del.cliente o sea # echo 'route 192.168.0.0/24 255.255.255.0' /etc/openvpn/server.conf

por ultimo reiniciamos nuestra vpn # rcopenvpn restart en el server y en el cliente bueno aca me tope con otro problema mas, aun no podia ver la maquina detras de la lan del cliente ( a veces maldigo al susefirewall ), esto es lo que veia en los logs del firewall del cliente SFW2-FWD-ILL-ROUTING IN=tun0 OUT=eth0 SRC=10.8.0.1 DST=192.168.0.5 LEN=84 TOS=000 PREC=000 TTL=63 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=33569 SEQ=41

para solucionar edite el archivo /etc/sysconfig/SuSEfirewall2 del cliente # vim /etc/sysconfig/SuSEfirewall2 le agregue tambien la interfas tun0 como interna FW_DEV_INT=eth1 tun0 ahora salio esto en los logs SFW2-FWDint-DROP-DEFLT IN=tun0 OUT=eth0 SRC=10.8.0.1 DST=192.168.0.5 LEN=84 TOS=000 PREC=000 TTL=63 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=54561 SEQ=5 o sea me hacia drop de todos los paquetes que me enviaba al cliente de la vpn, tuve que agregarle la siguiete regla al SuSefirewall, exactamente en la parte de FW_FORDWARD FW_FORWARD=10.8.0.0/24,192.168.0.0/24 nuevamente les recuerdo que si tienen una mejor forma de arreglar esto me avisen (como por ejemplo hacer forward solo el port del server o darle una ip estatica a los tun o cualquier cosa paresida)

Potrebbero piacerti anche