[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: VPN Net-to-Net con ambas IP's públicas dinámicas [Solucionado]



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...



Reply to: