![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Instalar un túnel OpenVPN entre un Linux y un Solaris; instalar un redir en solaris para ver una maestra desde una red diferenteFriday, 13 June 2008, 4:02:41 pm Qué se ha hecho para que SIV vez la maestra (lo mismo que pasaba con PCI) La instalación se hace igual que en el caso de PCI que no ve la maestra: 1. Descomprimes en el / el fichero redir-linux.tar.gz o redir-solaris.tar.gz según el S.O. de la estación Para Linux: # cd / # tar -xvzf /tmp/redir-linux.tar.gzPara Solaris: # cd / # cat /tmp/redir-solaris.tar.gz | gzip -dc | tar -xvf - 2. Editas el fichero .autostart del home del usaurio (pci o metro, según sea un PCI o un TCE) para que tenga justo después del "#!/bin/csh" las siguientes líneas (cambiando las ips a las correspondientes de la maestra de esa estación) distsh2 "pkill redir_relaunch" distsh2 "pkill redir" distsh2 "/usr/local/bin/redir_relaunch --lport=502 --caddr=25.10.140.226 --cport=502" & Y eso es todo lo que hay que hacer para instalar, en principio. Las estaciones en las que se ha hecho esto son:
Wednesday, 7 May 2008, 5:43:48 pm Instalando el redir en solaris Primero se copia de main1:/incoming, el redir.solaris a /usr/local/bin/redir y prog_relauch.solaris a /usr/local/bin/redir_relaunch. Después, en el .autostart, se pone:
# ln -s /dev/null redir_relaunch.log Configurando el Linux (PCI) para que use esa unidad maestra Hay que poner la IP del TCE correspondiente en la línea del modbus dentro del .autostart:
Tuesday, 29 April 2008, 7:14:05 pm Compilando el redir para Solaris En galadriel:/usr/local/src. Los fuentes se han bajado del paquete redir de debian (redir-2.2.1.orig.tar.gz) y el error del getopt.c/getopt.h se arregla editando el Makefile y descomentando los objetos de la línea que empieza por GETOPT_OBJS (de paso, descomentar la que empieza por EXTRA_LIBS o si no, no enlazará; también hay que poner en la de EXTA_CFLAGS un "-Igetopt" sin las comillas antes de la almohadilla), y después: $ make getopt/getopt.o getopt/getopt1.o $ cp getopt*.o getopt/ $ make redir Con eso se tiene el redir para solaris en: galadriel:/usr/local/src/redir-2.2.1/redir Wednesday, 23 April 2008, 5:37:59 pm Pruebas: En el pupitre_sc pupitre_sc# cd /root pupitre_sc# ./redir_init_script start pupitre_sc# route add -net 10.1.1.0 netmask 255.255.255.0 gw 25.10.10.33 pupitre_sc# route add -host 18.75.70.41 gw 25.10.10.33En el TCE tce# ndd -set /dev/tcp ip_forwarding 1 tce# /usr/local/bin/openvpn --remote 18.75.70.41 --dev tun --ifconfig 10.1.1.2 10.1.1.1En el PCI pci# openvpn --remote 58.10.50.33 --dev tun --ifconfig 10.1.1.1 10.1.1.2 & pci# route add -host 25.10.200.34 gw 10.1.1.2 NOTA: El redir_init_script contenía: redir_init_script
Wednesday, 23 April 2008, 5:30:12 pm En el pupitre_sc 1. Copiar el redir desde main1 a /root/redir 2. Copiar el redir_init_script de main1 a /root/redir_init_script 3. Hacer lo siguiente mount / -o remount,rw cd /usr/local/sbin/ cp ~/redir . cp netbeuidaemon_relaunch redir_relaunch mount / -o remount,ro4. Editar el redir_init_script con la IP de la maestra local POR HACER: Lanzarlo y probar... Wednesday, 23 April 2008, 5:14:30 pm Solución técnica final
Friday, 18 April 2008, 6:54:17 pm Hecho todo lo detallado, FALTA
Thursday, 3 April 2008, 6:03:05 pm Para el Solaris Es un Solaris 9, llevamos los paquetes que hemos instalado antes en la máquina de compilación en la máquina final y por último instalamos los programas... # cd /tmp # scp metro@150.100.122.31:/incoming/libgcc-3.4.6-sol9-x86-local.gz . # gzip -d libgcc-3.4.6-sol9-x86-local.gz # pkgadd -d libgcc-3.4.6-sol9-x86-local # scp metro@150.100.122.31:/incoming/openssl-0.9.8f-sol9-x86-local.gz . # gzip -d openssl-0.9.8f-sol9-x86-local.gz # pkgadd -d openssl-0.9.8f-sol9-x86-local # cd /usr/lib # ln -s ../local/ssl/lib/libssl.so.0.9.8 . # ln -s ../local/ssl/lib/libcrypto.so.0.9.8 . # cd /tmp # scp metro@150.100.122.31:/incoming/tun-1.1-solaris.tar . # tar -xvf tun-1.1-solaris.tar # cp tun tun.conf /usr/kernel/drv/ # add_drv tun # scp metro@150.100.122.31:/incoming/openvpn-2.0.9-solaris.tar . # tar -xvf openvpn-2.0.9-solaris.tar # cp openvpn /usr/local/bin Thursday, 3 April 2008, 5:59:32 pm Para compilar los paquetes en solaris (Galadriel: instalar gcc --esta en salchicha:/tmp/s9--, instalar ossl, compilar paquetes lzo tun/tap openvpn como metro en /usr/local/src). El configure del tun una vez compilado e instalado el lzo con las opciones por defecto es: ./configure --with-ssl-headers=/usr/local/ssl/include/ --with-ssl-lib=/usr/local/ssl/lib/ --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib Para que compilase el openvpn 2.0.9 sin tener compilado/instalado el tun/tap he tenido que editar el tun.c y hacer (como aquí): #ifndef TUNNEWPPA - #error I need the symbol TUNNEWPPA from net/if_tun.h + #warning I need the symbol TUNNEWPPA from net/if_tun.h + #define TUNNEWPPA (('T'<<16) | 0x0001) #endif Para compilar el tun da un error sobre que el solaris 9 en uso es más moderno que el de los que compilaron el gcc, que se arregla con: /usr/local/libexec/gcc/i386-pc-solaris2.9/3.4.6/install-tools/mkheaders cd /usr/local/libexec/gcc/i386-pc-solaris2.9/3.4.6/install-tools bash ./fixinc.sh /usr/local/lib/gcc/i386-pc-solaris2.9/3.4.6/include /usr/include ./mkheaders Lo de ejecutar a mano fixinc es porque intenta ejecutarlo como csh, falla (se ve haciendo un "bash -x ./mkheaders"). # export SHELL=bash # cd /usr/local/libexec/gcc/i386-pc-solaris2.9/3.4.6/install-tools # ./mkheadersUna vez compilado el tun, lo deja en el directorio solaris, en galadriel lo empaquetamos a un tar listo para llevar a campo: cd /usr/local/src/tun-1.1/solaris tar -cvf /usr/local/src/tun-1.1-solaris.tar tun tun.confPara empaquetar el openvpn: cd /usr/local/src/openvpn-2.0.9 tar -cvf /usr/local/src/openvpn-2.0.9-solaris.tar openvpn Thursday, 3 April 2008, 5:49:13 pm Para el Linux Siendo un Linux de los etch-beta, hay que hacer lo siguiente: # cd /var/cache/apt/archives # scp metro@150.100.122.31:/incoming/openvpn_2.0.9-4etch1_i386.deb . # scp metro@150.100.122.31:/incoming/libssl0.9.8_0.9.8c-4etch1_i386.deb . # dpkg -i libssl0.9.8_0.9.8c-4etch1_i386.deb openvpn_2.0.9-4etch1_i386.deb # modprobe tun # echo tun >> /etc/modules Post que describe paso a paso la creación de un túnel OpenVPN entre un Linux y un Solaris. El túnel de pruebas se hace entre un ordenador de PCI (Linux) y el de TCE (Solaris 9), para poder llegar desde el de PCI a la Maestra conectada a la red local del TCE.
Para activar forwarding en solaris: ndd -set /dev/tcp ip_forwarding 1 UPDATE! Una solución mucho más sencilla para el caso de la maestra es simplemente poner un redir en el TCE (solaris), de manera que PCI vea el puerto de la maestra a través del TCE (que redirecciona su puerto 502 al 502 de la maestra). Esto está implementado en la entrada con fecha "Wednesday, 7 May 2008, 5:43:48 pm". |