Blog Informáticos Murcia

Desde Murcia hacia el resto del mundo.

Blog Informáticos Murcia

Desde Murcia hacia el resto del mundo.

Para instalar OpenVPN server con Interfaz web para administrar usuarios basta con ejecutar los siguientes comandos:

wget https://raw.githubusercontent.com/theonemule/simple-openvpn-server/master/openvpn.sh
chmod +x openvpn.sh
./openvpn.sh --adminpassword=TestVPN25

Una vez instalado simplemente tenemos que entrar mediante ip mediante https

Estos comandos lo he sacado de la página https://clouding.io/kb/instalar-openvpn-en-ubuntu/ . Te aconsejo visitarla ya que solo he puesto lo básico para instalar el VPN.

Una vez instalado el servidor OpenVPN he querido poder entrar al panel de control a través del subdominio vpn.informaticosmurcia.es para poder acceder de una forma sencilla y fácil de recordar.

Bueno antes de nada saber que el script de arriba instala el servidor web lighttpd para poder realizar la administración del servidor VPN. Yo de forma particular utilizo en mi servidor de pruebas el servidor web nginx.

Primero voy a mover los ficheros que el script de OpenVPN me ha generado en /var/www/ a una carpeta diferente para poder luego redirigir el trafico de la url vpn.informaticosmurcia.es a esa carpeta:

  • Creo un directorio dentro de /var/www/ llamado vpn.informaticosmurcia.es
  • Muevo los ficheros creados por el script de instalacion del OpenVPN
    • mv /var/www/download.sh /var/www/vpn.informaticosmurcia.es/download.sh
    • mv /var/www/index.sh /var/www/vpn.informaticosmurcia.es/index.sh
    • Editamos el fichero /lighttpd.conf y cambiamos el puerto por defecto y el directorio raiz por defecto
      server.document-root        = "/var/www/vpn.informaticosmurcia.es"
      server.port                 = 6969

      Una vez cambiado reiniciamos el servicio lighttpd.

       service lighttpd restart
    • Creamos el fichero de configuracion del subdominio en nginx.
      nano /etc/nginx/sites-available/vpn.informaticosmurcia.es

      Realizamos la configuración del fichero:

      server {
        listen          80;
        server_name     vpn.informaticosmurcia.es;
       
        location / {
              proxy_set_header X-Forwarded-Host $host;
              proxy_set_header X-Forwarded-Server $host;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_pass https://127.0.0.1:6969/;
        }
      
       
      }
      
      

      Lo que hace Nginx es que todo lo que provenga de la url vpn.informaticosmurcia.es lo vamos a rediriguir de forma tasparente a nuestro servidor lighttpd que esta en el puerto 6969 en nuestro servidor.

    • Habilitamos en el servidor nginx el dominio.
      sudo ln -s /etc/nginx/sites-available/vpn.informaticosmurcia.es /etc/nginx/sites-enabled/vpn.informaticosmurcia.es

      Y reiniciamos el servidor nginx

      sudo service nginx restart

      Una vez hecho ya podemos acceder de forma comoda a nuestro servidor OpenVPN a través de vpn.informaticosmurcia.es

  • —- Dejo el fichero de configuración por si os da algun error:
  • :/etc/openvpn$ cat server.conf
    port 1194
    proto udp
    dev tun
    sndbuf 0
    rcvbuf 0
    ca ca.crt
    cert server.crt
    key server.key
    dh dh.pem
    tls-auth ta.key 0
    topology subnet
    server 10.8.0.0 255.255.255.0
    ifconfig-pool-persist ipp.txt
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 8.8.8.8"
    push "dhcp-option DNS 8.8.4.4"
    keepalive 10 120
    cipher AES-256-CBC
    
    user nobody
    group nogroup
    persist-key
    persist-tun
    status openvpn-status.log
    verb 3
    crl-verify crl.pem

Edito: Me ha ocurrido que instalando el servidor VPN en una maquina virtual para hacer pruebas el cliente no podia navegar. La solución es la siguiente.

iptables -I FORWARD -i tun0 -o eth0 -s 10.7.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I POSTROUTING -o eth0 -s 10.7.0.0/24 -j MASQUERADE


tun0 es la interfaz que lan del servidor vpn
eth0 es la interfaz donde se va a redirigir el trafico hacia internet.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.