El Jueves, 15 de Diciembre de 2005 07:13, Ariel Nardelli escribió: || Hola! || || Estoy probando lo que enviaste y realmente parece que es facil, pero al || instalarlo se me arma un lio con las claves:( || || Genere un archivo de texto que dentro solo tiene la clave, por ejemplo || pepito y nada mas :) pero al ejectuar el openvpn me sale... || || Dec 15 02:55:29 sr1 ovpn-vpn_p_h[3793]: OpenVPN 2.0 i386-pc-linux [SSL] || [LZO] [EPOLL] built on Nov 3 2005 || Dec 15 02:55:29 sr1 ovpn-vpn_p_h[3793]: Insufficient key material or || header text not found found in file '/etc/openvpn/clave_p_h.txt' || (0/128/256 bytes found/min/max) || Dec 15 02:55:29 sr1 ovpn-vpn_p_h[3793]: Exiting || || O sea parece que mi archivo de clave esta mal, que tiene que tener el || archivo de clave???? la clave tiene que tener un largo especifico????
En el manual de OpenVPN explica como se genera una clave, cosa que omití en mi howto y que añadiré. Vamos, que no vale con cualquier fichero de texto. Se hace así: #openvpn --genkey --secret clave.key Sin más. || Iñaki wrote: || >El Miércoles, 14 de Diciembre de 2005 18:07, Iñaki escribió: || >|| Os comento que esta mañana he estado como un poseso investigando el || >|| OpenVPN y me ha resultado impresionante. Con tan sólo leer el manual || >|| de cabo a rabo he sido capaz de montar una VPN entre dos delegaciones || >|| con router-Debian y lo más sorprendente, ambos routers con IP pública || >|| dinámica (pero con un dominio dyndns). || >|| || >|| Por lo demás, me parece mucho mejor que Ipsec, ya que OpenVPN || >|| directamente te crea otro interfaz (tun0) de tal forma que hacer el || >|| routing es tan sencillo como imaginar que el tráfico que vaya a la || >|| subred remota tenga como gateway el interfaz tun0. En cambio Ipsec en || >|| el kernel 2.6 no crea un interfaz aparte y se hace muy dificultosa su || >|| funcionamiento, sobre todo cuando toca intervenir en el Firewall. Con || >|| OpenVPN el tema del firewall es realmente fácil. || >|| || >|| Yo creo que se debe a que la finalidad de Ipsec (de hecho se diseñó || >|| para IP6) no es el modo túnel, sino el modo transporte, es decir, || >|| cifrar y/o firmar las comunicaciones de un ordenador a otro. Repito || >|| que OpenVPN me parece mucho más esclarecedor de cara a montar una VPN || >|| que Ipsec. || >|| || >|| Sobre lo que decías de los clientes Windows (que efectivamente no es || >|| el caso que me ocupa) es más fácil tirar de PPTP porque viene || >|| incluido, pero he leído que existe un cliente OpenVPN para Windows que || >|| debe funcionar bien, aunqeu no he buscado nada de él aún. Si alguien || >|| sabe algo de esto le agradecería que lo comentase. || >|| || >|| Por lo demás, aún estoy puliendo la VPN, pero si alguien está || >|| interesado en hacer una VPN entre dos Debian ambas con IP dinámica le || >|| recomiendo que se instale el openvpn y lea el manual de cabo a rabo. || >|| Es muy muy fácil. || >|| || >|| || >|| PD: He visto que hay routers que permiten Ipsec, PPTP y L2TP. En || >|| cuanto a Ipsec, ¿estos routers permiten tanto el modo transporte como || >|| el modo túnel? o sea, ¿sirven para crear una VPN entre dos redes? || >|| || >|| PPD: Parece ser que OpenVPN (que no usa Ipsec, sino TLS) es más nuevo || >|| y no debe haber routers que lo implementen, ¿Alguien sabe si esto es || >|| así o si con el tiempo añadirán OpenVPN? || > || >Bueno, llevo horas con OpenVPN y estoy tan contento de los resultados que || > he hecho un mini howto que explica como interconectar 3 delegaciones (A || > con C y B con C, y viceversa), pudiendo tener todas ellas IP dinámica || > (pero necesitan un dominio tipo DynDns). || > || >Lo adjunto por si le interesa a alguien. || > || > || > || >------------------------------------------------------------------------ || > || >Montar varias VPNs entre redes con OpenVPN || >******************************************* || >******************************************* || > || >Tenemos 3 delegaciones con un router cada una: || > || >A: || >- Dominio: a.com || >- Subred: 192.168.1.0/24 || >- Nodo VPN: 10.0.1.2 || > || >B: || >- Dominio: b.com || >- Subred: 192.168.2.0/24 || >- Nodo VPN: 10.0.2.2 || > || >C: || >- Dominio: c.com || >- Subred: 192.168.3.0/24 || >- Nodo VPN: 10.0.1.1 (para A) || >- Nodo VPN: 10.0.2.1 (para B) || > || >Vamos a conectar A con C y B con C mediante dos VPNs con OpenVPN. Todos || > ellos podrían tener IP dinámica. La seguridad será mediante una clave de || > texto plano en este caso (por simplificar). || > || > || > || >***** En A: ***** || > || >#> apt-get install openvpn || > || >-----/etc/openvpn/vpn_a_c.conf----- || >remote c.org || >float # por si c.org es IP dinámica. || >port 1194 || >dev tun # creado por el paquete debian. || >persist-tun # necesario al ejecutarse como "nobody". || >ifconfig 10.0.1.2 10.0.1.1 # nodo local - nodo remoto. || >comp-lzo || >ping 15 || >ping-restart 120 || >verb 3 || >secret /etc/openvpn/clave_a_c.txt # hay que crearla y copiarla al remoto. || >persist-key # necesario al ejecutarse como "nobody". || >route 192.168.3.0 255.255.255.0 # se ruta por aquí lo que vaya a la red || > de C. user nobody || >group nogroup || >chroot /var/empty # por seguridad. || >------------------------------------ || > || >#> modprobe tun || >#> mkdir /var/empty || >#> chown nobody.nogroup /var/empty || >#> /etc/init.d/openvpn restart || > || > || > || >***** En B: ***** || > || >#> apt-get install openvpn || > || >-----/etc/openvpn/vpn_b_c.conf----- || >remote c.org || >float # por si c.org es IP dinámica. || >port 1195 # podría ser distinto el local que el remoto pero así más || > sencillo. dev tun # creado por el paquete debian. || >persist-tun # necesario al ejecutarse como "nobody". || >ifconfig 10.0.2.2 10.0.2.1 # nodo local - nodo remoto. || >comp-lzo || >ping 15 || >ping-restart 120 || >verb 3 || >secret /etc/openvpn/clave_b_c.txt # hay que crearla y copiarla al remoto. || >persist-key # necesario al ejecutarse como "nobody". || >route 192.168.3.0 255.255.255.0 # se ruta por aquí lo que vaya a la red || > de C. user nobody || >group nogroup || >chroot /var/empty # por seguridad. || >------------------------------------ || > || >#> modprobe tun || >#> mkdir /var/empty || >#> chown nobody.nogroup /var/empty || >#> /etc/init.d/openvpn restart || > || > || > || >***** En C: ***** || > || >#> apt-get install openvpn || > || >-----/etc/openvpn/vpn_c_a.conf----- || >remote a.org || >float # por si a.org es IP dinámica. || >port 1194 || >dev-node /dev/net/tun1 # creado por el paquete debian y renombrado por || > nosotros. persist-tun # necesario al ejecutarse como "nobody". || >ifconfig 10.0.1.1 10.0.1.2 # nodo local - nodo remoto. || >comp-lzo || >ping 15 || >ping-restart 120 || >verb 3 || >secret /etc/openvpn/clave_a_c.txt || >persist-key # necesario al ejecutarse como "nobody". || >route 192.168.1.0 255.255.255.0 # se ruta por aquí lo que vaya a la red || > de A. user nobody || >group nogroup || >chroot /var/empty # por seguridad. || >------------------------------------ || > || > || >-----/etc/openvpn/vpn_c_b.conf----- || >remote b.org || >float # por si b.org es IP dinámica. || >port 1195 # ¡¡ojo, el 1194 está ocupado en la otra VPN con A!! || >dev-node /dev/net/tun2 # creado por nosotros. || >persist-tun # necesario al ejecutarse como "nobody". || >ifconfig 10.0.2.1 10.0.2.2 # nodo local - nodo remoto. || >comp-lzo || >ping 15 || >ping-restart 120 || >verb 3 || >secret /etc/openvpn/clave_b_c.txt || >persist-key # necesario al ejecutarse como "nobody". || >route 192.168.2.0 255.255.255.0 # se ruta por aquí lo que vaya a la red || > de A. user nobody || >group nogroup || >chroot /var/empty # por seguridad. || >------------------------------------ || > || >#> modprobe tun || > || >Renombramos tun por tun1: || >#> mv /dev/net/tun /dev/net/tun1 || > || >Creamos uno nuevo para la conexión con B: || >#> mknod /dev/net/tun2 c 10 200 || > || >#> mkdir /var/empty || >#> chown nobody.nogroup /var/empty || >#> /etc/init.d/openvpn restart || > || > || > || >***** En los iptables de A, B y C: ***** || > || >-A INPUT -i tun+ -j ACCEPT || >-A OUTPUT -o tun+ -j ACCEPT || >-A FORWARD -i tun+ -j ACCEPT || > || > || > || >Nota: No olvidar crear los ficheros de claves que deben ser iguales entre || > los extremos de cada VPN. || > || > || >Y ya está, ahora deberíamos poder hacer un ping desde cualquier ordenador || > de A (192.168.1.0/24) a cualquiera de C (192.168.3.0/24). Lo mismo desde || > B (192.168.2.0/24) a C. || >Y también en sentido contrario desde C a A y desde C a B. -- que a mí ni me va ni me viene... pero por comentar...

