huzoaaz
Usuari@ ADSLzone
- Mensajes
- 2,866
Hola a todos. Os quiero poner un pequeño manual para montar la VPN Wireguard en un linux server. Espero que os valga:
WireGuard es una VPN punto a punto que se puede utilizar de diferentes maneras. Aquí, nos referimos a una VPN como RoadWarrior: el cliente remoto se conecta y quiere reenviar todo su tráfico a través de un túnel encriptado al servidor. El servidor aplicará NAT al tráfico del cliente así que aparecerá como si el cliente está navegando por la web con la IP del servidor. El script soporta tanto IPv4 como IPv6
En mi caso está montado en una VM que corre un NAS Synology DS218+, y funciona perfectamente.
Debian 10
Fedora
CentOS
Arch Linux
Descarga y ejecuta el script. Después de correr el
Opciones del script:
IPv4 or IPv6 public address: aqui tenemos que poner la ip fija, dominio DDNS o lo que tengamos para que se vea desde fuera el servidor.
El resto, dejamos todo tal cual lo que nos ofrezca, salvó si queremos cambiar el número de puerto (acordarse que hay que crear una regla en el router que redirija el puerto creado a la ip del servidor, el puerto es UDP)
En DNS, si disponemos de Pi-hole, pondremos de dns primera, la de pi-hole y dns segunda, la de nuestro router. Y si no, poner las dns que más
os gusten: las de google, por ejemplo. Por último, pondrá press key to continue, y empezará la magia.
Una vez terminada la parte del servidor, empezaremos con la parte del peer:
cliente name: el nombre que queramos para identificar el archivo de configuración (pepito, juan, o lo que queramos)
cliente ipv4: veremos que ha cogido el .2, lo dejamos tal cual o especificamos la dirección IP que prefiramos, dentro de ese segmento.
Si todo va bien, nos saldrá un código QR y la ruta donde ha guardado el fichero de configuración del cliente. Si tenemos el móvil con la aplicación Wireguard descargada, simplemente apuntamos al código QR y se descargará el fichero de configuración y ya sólo quedaría probarlo, pero si se han seguido bien los pasos, debería de funcionar perfectamente.
Para crear nuevos peer, simplemente entrar en Putty, ejecutar el comando
Espero que os animéis y os sirva igual que me sirvió a mí...
Un saludo
WireGuard es una VPN punto a punto que se puede utilizar de diferentes maneras. Aquí, nos referimos a una VPN como RoadWarrior: el cliente remoto se conecta y quiere reenviar todo su tráfico a través de un túnel encriptado al servidor. El servidor aplicará NAT al tráfico del cliente así que aparecerá como si el cliente está navegando por la web con la IP del servidor. El script soporta tanto IPv4 como IPv6
En mi caso está montado en una VM que corre un NAS Synology DS218+, y funciona perfectamente.
*** Distribuciones soportadas ***
Ubuntu >= 16.04Debian 10
Fedora
CentOS
Arch Linux
*** Uso *** (probado y funcionando en Ubuntu Server 20.04.1)
Para crear acceso con clave SSH (hacerlo antes de meter el script) ( no es necesario este paso, pero si muy recomendable por seguridad)- Abrimos el programa Puttygen (se instala al instalar el programa Putty, imprescindible para realizar todo el proceso) para generar una clave pública y una privada (incluido al instalar Putty) Tipo RSA con 2048 bytes suficiente. En la clave privada, se le puede añadir una clave de acceso, aunque eso es cuestión de gustos.
- Descargamos las claves generadas en una ubicación a buen recaudo (ponerle un nombre "sencillo")
- Entramos en Putty al servidor Ubuntu, con usuario y contraseña. Creamos el directorio con el comando
mkdir .ssh
, para guardar la clave pública en nuestra carpeta de usuario, damos enter y después escribimostouch ~/.ssh/authorized_keys
, y volvemos apulsar enter. Con esto crea una carpeta oculta en la raiz del servidor llamada "ssh" y un fichero "authorized_keys" dentro de ella.
- Ahora, a través de Filezilla (si no lo tenemos, lo instalamos), abrimos una conexión sftp al servidor Ubuntu a través del puerto 22. Por otro lado, abrimos con un editor de texto la clave PUBLICA generada en puttygen. Copiamos de es archivo
todo lo que queda dentro de los delimitadores de —-BEGING SSH2 PUBLIC KEY—- y —-END SSH2 PUBLIC KEY—
- En Filezilla, editamos el fichero "authorized_keys", que estará vacio y escribimos: ssh-rsa TEXTO COPIADO DE LA CLAVE PUBLICA (importante dejar espacio entre "rsa" y el texto) Importante: al copiar la clave, tiene que estar todo seguido y en una linea. la damos a guardar y eso fichero queda en la ruta .ssh/authorized_keys de la carpeta home.
- Para comprobar que el paso está bien dado, abrimos Putty y ejecutamos
cat ~/.ssh/authorized_keys
y, si
todo está bien, debería de aparecer el contenido del fichero con la clave pública. Una vez comprobado, cerramos sesión en Putty.
- Abrimos de nuevo Putty, y nos vamos a la configuración. Apartado Connection - SSH - Auth. En private key file auth, seleccionamos el archivo de clave privada creado en Puttygen. Después nos vamos al apartado Conenection - Data - autologin
username y ponemos el nombre de usuario creado en el servidor. Y ya quedaría crear una nueva conexión, poniendo la ip del servidor, y puerto 22 (yo, antes de conectar, le daría a Save poniendo un nombre de sesión, para que guarde toda la configuración). Una vez hecho esto, entraremos en el servidor a través de SSH, para comprobar que el acceso funciona sin necesidad de meter ninguna contraseña, autenticando por pareja de clave pública/privada.
- Ya sólo quedaría meter el script
Descarga y ejecuta el script. Después de correr el
wireguard-install.sh
, contestar las preguntas formuladas, y el script se encargará del resto:
Código:
cd $HOME
curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
chmod +x wireguard-install.sh
sudo ./wireguard-install.sh
Opciones del script:
IPv4 or IPv6 public address: aqui tenemos que poner la ip fija, dominio DDNS o lo que tengamos para que se vea desde fuera el servidor.
El resto, dejamos todo tal cual lo que nos ofrezca, salvó si queremos cambiar el número de puerto (acordarse que hay que crear una regla en el router que redirija el puerto creado a la ip del servidor, el puerto es UDP)
En DNS, si disponemos de Pi-hole, pondremos de dns primera, la de pi-hole y dns segunda, la de nuestro router. Y si no, poner las dns que más
os gusten: las de google, por ejemplo. Por último, pondrá press key to continue, y empezará la magia.
Una vez terminada la parte del servidor, empezaremos con la parte del peer:
cliente name: el nombre que queramos para identificar el archivo de configuración (pepito, juan, o lo que queramos)
cliente ipv4: veremos que ha cogido el .2, lo dejamos tal cual o especificamos la dirección IP que prefiramos, dentro de ese segmento.
Si todo va bien, nos saldrá un código QR y la ruta donde ha guardado el fichero de configuración del cliente. Si tenemos el móvil con la aplicación Wireguard descargada, simplemente apuntamos al código QR y se descargará el fichero de configuración y ya sólo quedaría probarlo, pero si se han seguido bien los pasos, debería de funcionar perfectamente.
Para crear nuevos peer, simplemente entrar en Putty, ejecutar el comando
sudo ./wireguard-install.sh
y al detectar que ya está instalado, os dirá que queréis hacer, y entre las opciones tendréis la opción de añadir otro peer, creandose otro archivo de configuración con la configuración del nuevo cliente.Espero que os animéis y os sirva igual que me sirvió a mí...
Un saludo
Última edición por un moderador: