Equipos y materiales > Openwrt & LEDE
¿¿Como hacer que el router se conecte a VPN y nosotros a través de él ??
(1/2) > >>
peperfus:

--- Citar ---ACTUALIZACÓN: Ya lo he conseguido. Para ver un mini howto ("cómo se hace") de como lo he hecho, visitar este hilo:

https://foro.seguridadwireless.net/openwrt/mini-guia-facil-para-conectar-openwrt-a-un-servidor-vpn-de-pago/

--- Fin de la cita ---
Hola,

La idea es conseguir que openwrt se conecte a una vpn, y nos cifre el tráfico de red de los ordenadores que le conectemos al switch, enrutándonos desde nuestra red local a la vpn.

¿Alguien sabe cómo hacerlo? (mis conocimientos son básicos)
¿Es necesario el uso de vlans?

Lo que he hecho hasta ahora:
Añadir nueva interfaz
Ponerla en Firewall zone wan
configurarla como PPTP, con la dirección del servidor vpn, el usuario y contraseña.
Instalar el paquete ppp-mod-pptp (o algo así, lo estoy poniendo de cabeza), como me pidió el propio luci.

Pero no se conecta, no sé si me falta algo, o estoy haciendo algo mal.

¿Algún cable, howto, idea, ayuda...?

Gracias.
Garcad:
mira si te sirve

https://foro.seguridadwireless.net/openwrt/como-configurar-openvpn-en-openwrt/msg345928/#msg345928
peperfus:
Ok, lo he mirado, pero lo veo chungo....

Hay un montón de opciones que no sé qué tengo que poner.

Creo que es demasiado difícil para mi conocimiento. Gracias de todas formas.
Garcad:
Es mas facil de lo que parece.

Instalando y configurando OpenVpn en router huaweig HG556a

Instalamos un firmware al router yo he optado por lede-17.01.0-r3205-59508e3-brcm63xx-generic-HG556a-B-squashfs-cfe.bin en modo recuperación.

Modo de instalación recomendado:


* Con el router apagado pulsar botón de RESTART y mantenerlo pulsado.
* Encender el router y seguir con el botón apretado durante 20 segundos.
* Soltar el botón.
* Conectamos por ethernet con un cable de datos cruzado. el router con el pc.
* Configurar la IP del ordenador como 192.168.1.2 y máscara de subred 255.255.255.0
* Abrir el navegador y acceder a http://192.168.1.1
Configuramos una contraseña para que se pueda acceder por ssh.

Nos dirigimos hacia network >> interfaces

Editamos la conexión lan, por defecto la dirección ip fija, es 192.168.1.1, yo la cambio por 192.168.3.1, guardamos los cambios.

Nos volemos a conectar ahora por ssh hacia 192.168.3.1, para ello hay que volver a configurar la IP del ordenador como 192.168.1.2 y máscara de subred 255.255.255.0 y conectarnos por ethernet.

# ssh root@192.168.3.1
root@192.168.3.1's password:


BusyBox v1.25.1 () built-in shell (ash)

     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
 /________/  LE  \  |____|___|___/|___|                      lede-project.org
 \        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (17.01.0, r3205-59508e3)
    \________\/    -----------------------------------------------------------

root@LEDE:~#

Y seguimos con lo que dice en la https://lede-project.org/docs/howto/openvpn.server

Instalar los paquetes necesarios OpenVPN + nano que es un editor de texto plano.

Recuerda que #= escribir una orden o conjunto en la ventana del terminal, en nuestro caso la conexión ssh con el router.

# opkg update && opkg install openvpn-openssl openvpn-easy-rsa luci-app-openvpn nano



--- Código: ---# opkg update && opkg install openvpn-openssl openvpn-easy-rsa luci-app-openvpn nano ipset
--- Fin del código ---

Creamos los certificados y llaves para el uso de los mismos.


--- Código: ---# cd /etc/easy-rsa

# source vars

# clean-all

# build-ca

# build-dh

# build-key-server myvpn

# openvpn --genkey --secret /etc/easy-rsa/keys/ta.key
--- Fin del código ---

Configuramos la red y el cortafuegos.


--- Código: ---uci set network.vpn0="interface"
uci set network.vpn0.ifname="tun0"
uci set network.vpn0.proto="none"
uci set network.vpn0.auto="1"
uci commit network

--- Fin del código ---


--- Código: ---uci add firewall rule
uci set firewall.@rule[-1].name="Allow-OpenVPN-Inbound"
uci set firewall.@rule[-1].target="ACCEPT"
uci set firewall.@rule[-1].src="wan"
uci set firewall.@rule[-1].proto="udp"
uci set firewall.@rule[-1].dest_port="1194"
uci add firewall zone
uci set firewall.@zone[-1].name="vpn"
uci set firewall.@zone[-1].input="ACCEPT"
uci set firewall.@zone[-1].forward="ACCEPT"
uci set firewall.@zone[-1].output="ACCEPT"
uci set firewall.@zone[-1].masq="1"
uci set firewall.@zone[-1].network="vpn0"
uci add firewall forwarding
uci set firewall.@forwarding[-1].src="vpn"
uci set firewall.@forwarding[-1].dest="wan"
uci add firewall forwarding
uci set firewall.@forwarding[-1].src="vpn"
uci set firewall.@forwarding[-1].dest="lan"
uci commit firewall
--- Fin del código ---

Actualizar las configuraciones de red y cortafuegos.


--- Código: ---/etc/init.d/network reload
/etc/init.d/firewall reload
--- Fin del código ---

Habilitamos el reenvío de paquetes


--- Código: ---echo 1 >/proc/sys/net/ipv4/ip_forward
--- Fin del código ---

Creamos el archivo de configuración de openvpn


--- Código: ---echo  >/etc/config/openvpn
--- Fin del código ---

Escribimos el archivo de configuración de openvpn


--- Código: ---nano /etc/config/openvpn
--- Fin del código ---

Control+C Copiamos el texto
Control+V Pegamos el texto

Control+X salimos de nano, confirmamos con y los cambios + la tecla INTRO

Contenido del archivo /etc/config/openvpn


--- Código: ---config openvpn 'myvpn'
        option enabled '1'
        option dev 'tun'
        option port '1194'
        option proto 'udp'
        option status '/var/log/openvpn_status.log'
        option log '/tmp/openvpn.log'
        option verb '3'
        option mute '5'
        option keepalive '10 120'
        option persist_key '1'
        option persist_tun '1'
        option user 'nobody'
        option group 'nogroup'
        option ca '/etc/easy-rsa/keys/ca.crt'
        option cert '/etc/easy-rsa/keys/myvpn.crt'
        option key '/etc/easy-rsa/keys/myvpn.key'
        option dh '/etc/easy-rsa/keys/dh2048.pem'
        option mode 'server'
        option tls_server '1'
        option tls_auth '/etc/easy-rsa/keys/ta.key 0'
        option server '10.8.0.0 255.255.255.0'
        option topology 'subnet'
        option route_gateway 'dhcp'
        option client_to_client '1'
        list push 'persist-key'
        list push 'persist-tun'
        list push 'redirect-gateway def1'
        # allow your clients to access to your network
        list push 'route 192.168.3.0 255.255.255.0'
        # push DNS to your clients
        list push 'dhcp-option DNS 192.168.3.1'
        option comp_lzo 'no'
--- Fin del código ---

Iniciamos openvpny activamos el servicio


--- Código: ---/etc/init.d/openvpn start
/etc/init.d/openvpn enable
--- Fin del código ---

Vemos si nos ha salido todo bien, y esta trabajando.


--- Código: ---cat /tmp/openvpn.log
--- Fin del código ---

# ssh root@192.168.3.1
root@192.168.3.1's password:


BusyBox v1.25.1 () built-in shell (ash)

     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
 /________/  LE  \  |____|___|___/|___|                      lede-project.org
 \        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (17.01.0, r3205-59508e3)
    \________\/    -----------------------------------------------------------

root@LEDE:~# cat /tmp/openvpn.log
Mon Mar 20 00:37:12 2017 OpenVPN 2.4.0 mips-openwrt-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD]
Mon Mar 20 00:37:12 2017 library versions: OpenSSL 1.0.2k  26 Jan 2017, LZO 2.09
Mon Mar 20 00:37:12 2017 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x.  Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet.
Mon Mar 20 00:37:12 2017 Diffie-Hellman initialized with 2048 bit key
Mon Mar 20 00:37:12 2017 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Mon Mar 20 00:37:12 2017 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Mon Mar 20 00:37:12 2017 TUN/TAP device tun0 opened
Mon Mar 20 00:37:12 2017 TUN/TAP TX queue length set to 100
Mon Mar 20 00:37:12 2017 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Mon Mar 20 00:37:12 2017 /sbin/ifconfig tun0 10.8.0.1 netmask 255.255.255.0 mtu 1500 broadcast 10.8.0.255
Mon Mar 20 00:37:12 2017 Could not determine IPv4/IPv6 protocol. Using AF_INET
Mon Mar 20 00:37:12 2017 Socket Buffers: R=[159744->159744] S=[159744->159744]
Mon Mar 20 00:37:12 2017 UDPv4 link local (bound): [AF_INET][undef]:1194
Mon Mar 20 00:37:12 2017 UDPv4 link remote: [AF_UNSPEC]
Mon Mar 20 00:37:12 2017 GID set to nogroup
Mon Mar 20 00:37:12 2017 UID set to nobody
Mon Mar 20 00:37:12 2017 MULTI: multi_init called, r=256 v=256
Mon Mar 20 00:37:12 2017 IFCONFIG POOL: base=10.8.0.2 size=252, ipv6=0
Mon Mar 20 00:37:12 2017 Initialization Sequence Completed
root@LEDE:~#

Configuración de clientes.

Creamos un archivo de configuración /etc/easy-rsa/keys/Default.txt donde tendremos que HOST_NAME por el nombre host de redireccion de ddns

*Falta instalar paquetes ddns y configuración del mismo.*


--- Código: ---client
dev tun
proto udp
remote HOST_NAME 1194
resolv-retry infinite
nobind
mute-replay-warnings
ns-cert-type server
key-direction 1
verb 1
mute 20
comp-lzo
# uncomment for Windows 7 clients
#route-method exe
#route-delay 2
--- Fin del código ---

Yo lo tengo del siguiente modo.


--- Código: ---client
dev tun
proto udp
remote vpn-openwrt.ddns.net 1194
resolv-retry infinite
nobind
mute-replay-warnings
ns-cert-type server
key-direction 1
verb 1
mute 20
comp-lzo
# uncomment for Windows 7 clients
#route-method exe
#route-delay 2

--- Fin del código ---

Descargamos el archivo MakeOpenVPN.sh y damos permisos


--- Código: ---wget --no-check-certificate  https://gist.githubusercontent.com/coolaj86/4120d90e57d1d01cd59f/raw/331d70d718746d567f2b3ac0c0c2801c901eecc4/MakeOpenVPN.sh /etc/easy-rsa/keys/MakeOpenVPN.sh
chmod +x /etc/easy-rsa/keys/MakeOpenVPN.sh
--- Fin del código ---

Creamos los certificados para cada cliente, usando un nombre diferente para cada uno.


--- Código: ---cd /etc/easy-rsa
source vars
build-key-pkcs12 myuser
openssl rsa -in /etc/easy-rsa/keys/myuser.key -des3 -out /etc/easy-rsa/keys/myuser.3des.key
--- Fin del código ---

Finalmente ejecutamos MakeOpenVPN.sh para generar los certificados de los clientes existentes.


--- Código: ---/etc/easy-rsa/keys/MakeOpenVPN.sh
--- Fin del código ---

Desde la interfaz gráfica entrando con el navegador web

Red > Dhcp y dns

Desmarcamos la casilla Local Service Only

Salu2
peperfus:
Hola

Muchas gracias por la ayuda. Al final, lo he conseguido con otro tutorial....

Esto es lo que he hecho:
Después de instalar los paquetes openpvn-ssl y el de luci,... y de seguir algún tutorial por ahí en combinación con la configuración de mi servidor vpn...
Me he bajado el archivo de configuración de mi servidor vpn (recuerdo que quiero conectarme a un servicio vpn externa, de una empresa de pago).
Dicho servicio me da usuario y clave de vpn.
También me da los archivos de configuración: ca.crt y Wdc.key, además de un montón de archivos.ovpn para cada servidor.
He copiado los archivos al router, al directorio /etc/openvpn
y luego he ejecutado openvpn --daemon --config ./Spain-tcp.ovpn

Y voilá, ha funcionado. No puedo poner el método exacto que he seguido porque aún no lo tengo claro, como he mezclado varias cosas...; pero lo intentaré repetir para documentarlo.

Ahora tengo un par de dudas:
¿Cómo hago para que los dispositivos que conecto a la LAN vayan automáticamente por la vpn del router? ¿La interfaz tun0 debe estar en WAN?

Muchas Gracias.

PD: Adjunto algunos enlaces que me han ayudado mucho para futura referencia:
Este es el que más me ha ayudado: https://forum.openwrt.org/viewtopic.php?id=42990
https://www.vpnunlimitedapp.com/en/info/manuals/openwrt-on-asus
https://www.robertkehoe.com/2015/08/setup-openvpn-using-openwrt/
https://forum.openwrt.org/viewtopic.php?id=64663

https://my.hostvpn.com/knowledgebase/22/Save-Password-in-OpenVPN-for-Automatic-Login.html

Prácticamente el que me ha resuelto lo que quería ha sido el primero; si bien a los otros les he echado un vistazo. Al final no he utilizado luci, prácticamente para nada.

Ahora lo que tengo es el router en sí conectado a la vpn (la interfaz tun0, verdad?). Bien; ahora me falta que se puedan conectar los cacharros conectados al switch a la vpn de forma transparente. Voy a seguir investigando, a ver...
Navegación
Índice de Mensajes
Página Siguiente

Ir a la versión completa