Este artigo describirá en detalle como configurar Wireguard VPN no teu servidor. Pode ser un servidor virtual ou privado - non importa tanto.
Esta guía de configuración de VPN Wireguard está deseñada para usuarios que non teñen moita experiencia, polo que todos os pasos serán bastante detallados e seguidos de capturas de pantalla.
O tráfico que pasa polo noso túnel cifrarase e Internet mostrará o enderezo IP do noso servidor VPN, non o enderezo do provedor a través do cal accedemos á rede.
Suponse que xa tes un VPS. Se non, podes orde de nós.
Instalaremos o sistema operativo Ubuntu 22.04 no noso servidor. Se tes un servidor cun sistema operativo diferente, podes reinstalalo facilmente seguindo o instrucións.
Entón, o servidor con Ubuntu 22.04 OS listo, agora conectámonos a el a través de SSH. Se de súpeto non atopou este protocolo antes, entón un artigo no que este proceso se describe en detalle axudarache. O segundo parágrafo do artigo é para o sistema operativo Linux, o terceiro é para o sistema operativo Windows.
Configura o servidor Wireguard
Despois dunha conexión exitosa, escribirei algúns comandos e unha descrición do que producen para comprender o proceso:
Actualizamos a lista de paquetes nos repositorios
apt update
Renovación dos propios paquetes
apt upgrade -y
Instale o paquete wireguard
apt install -y wireguard
A nosa configuración almacenarase no directorio /etc/wireguard/, necesitamos entrar no directorio:
cd /etc/wireguard/
Necesitaremos unha clave pública e privada para o noso servidor. Xerarémolos despois de configurar os dereitos correctos ao crear ficheiros e directorios con comandos:
umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey
Agora establecemos os dereitos para a chave privada:
chmod 600 privatekey
Antes de crear o ficheiro de configuración, necesitamos o nome da nosa interface de rede. Para descubrilo, use o comando:
ip a
Necesitamos a interface co enderezo IP que se utiliza para a conexión actual. Probablemente se chamará ens3 no teu caso, pero pode haber outro nome.
Tamén necesitaremos unha clave pública e privada. Para mostralos uso cola
tail privatekey publickey
Parece así:
Para editar, podes usar calquera Editor de textos Linux. Vou usar nano. Para instalalo, cómpre executar o comando:
apt install -y nano
Editamos o ficheiro de configuración:
nano /etc/wireguard/wg0.conf
Nota
para gardar o ficheiro usamos a combinación de botóns ctrl+o
para saír - ctrl+x
Debería ter o seguinte aspecto:
[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE
No meu caso parécese así
Activamos o reenvío de ip
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
Lanzamento do servizo wireguard:
systemctl start [email protected]
Se queremos que o servizo se inicie despois de reiniciar o servidor, facemos o seguinte:
systemctl enable [email protected]
Para ver o estado do servizo:
systemctl status [email protected]
O estado debería estar activo como na captura de pantalla:
Se seguiches coidadosamente as nosas instrucións, nesta fase tes todo o que necesitas para que o servidor de VPN Wireguard funcione.
Configurando o cliente Wireguard
O único que queda é configurar a parte cliente. Por exemplo e sinxeleza, xerarei claves para a parte cliente tamén no servidor. Pero por motivos de seguridade, sería máis correcto xerar claves no lado do cliente. Eu uso comandos para a xeración:
wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey
Tamén xerarei claves para usar a VPN no teléfono:
wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey
Cómpre sinalar que todo isto é obrigatorio facelo estando no catálogo
/etc/wireguard/
Tamén se pode executar noutro catálogo. Pero para simplificar, executamos as instrucións en /etc/wireguard/
Usamos o comando ls para listar os ficheiros nun directorio. Eu o teño así:
Imos amosar as claves públicas na pantalla. Precisarémolos para engadir nodos á nosa rede:
tail mypc_publickey myphone_publickey
Para min paréceme así:
Imos editar o noso ficheiro de configuración:
nano wg0.conf
Engade as seguintes liñas:
[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32
[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32
Agora o ficheiro de configuración ten o seguinte aspecto:
Garda o ficheiro e reinicia o noso servizo:
systemctl restart wg-quick@wg0
Comprobamos que todo foi exitoso:
systemctl status wg-quick@wg0
O estado debe estar activo
É necesario volver cargar o servizo cada vez despois de editar o ficheiro de configuración do servidor (wg0.conf)
A continuación, crearemos configuracións para os clientes (no meu caso, o meu PC e o meu teléfono). Farei o mesmo no servidor.
nano mypc.conf
[Interface]
PrivateKey = [mypc_privatekey private key]
Address = 10.30.0.2/32
DNS = 8.8.8.8
[Peer]
PublicKey = [publickey server publc key]
Endpoint =[ server ip address]:51928
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20
No campo Endpoint, podes ver o enderezo IP do servidor: este é o enderezo IP que utilizamos para conectarnos a través de SSH. Para ver as interfaces e enderezos, pode usar o comando ip a.
Configura Wireguard para móbiles
Creamos unha configuración similar para o noso teléfono. Só hai que cambiar o enderezo. Para o PC era 10.30.0.2/32, e na configuración do teléfono faremos 10.30.0.3/32. Ademais, se queremos usar VPN noutros dispositivos, deberíamos engadir outros enderezos ao campo Enderezo dos ficheiros de configuración e ao ficheiro de configuración do servidor wg0.conf, o campo AllowedIPs ao crear configuracións.
Os ficheiros parecen no meu caso:
mypc.conf
o meu teléfono.conf
Para a conexión, instalamos o cliente wireguard https://www.wireguard.com/install/
Na aplicación de Windows, engadimos un novo túnel e introducimos a configuración creada no ficheiro mypc.conf
Lanzamos o túnel e imos ao navegador ao sitio web que mostra o noso enderezo
Para engadir convenientemente unha VPN ao teu teléfono, instala un programa para xerar códigos qr no servidor:
apt install -y qrencode
Estando no directorio de configuración, faga o seguinte paso:
qrencode -t ansiutf8 -r myphone.conf
Despois entramos na aplicación Wireguard do teléfono, prememos + para crear un novo túnel, seleccionamos escanear o código QR, escanealo, acendemos a VPN. A continuación, comprobaremos que estamos a mostrar o enderezo do noso servidor mediante calquera recurso que mostre o enderezo IP de saída.
Fixéchelo!