4. Servidor vpn

Note

Servicio de VPN - WIREGUARD

Manual para instalar y configurar un servidor VPN con una implementación wireguard.

1dnf -y install wireguard-tools
2setenforce 0
3sestatus
4reboot

Directorio de trabajo: /etc/wireguard

La clave pública del servidor se usará para configurar todos los clientes.
La clave pública de cada unos de los clientes se usará para configurar el servidor.
  1. Crear una contraseña segura.

    La clave privada estará en el fichero server.key
    La clave privada estará en el fichero server.pub
    1wg genkey | tee /etc/wireguard/server.key
    2chmod 0400 /etc/wireguard/server.key
    3cat /etc/wireguard/server.key | wg pubkey | tee /etc/wireguard/server.pub
    
  2. Crear el fichero de configuración wg0.conf [Nuevo fichero]

     1[Interface]
     2Address = 172.17.1.1
     3
     4# Una sola línea
     5| PostUp = firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i wg0 -o ens18 -j ACCEPT;
     6| firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o ens18 -j MASQUERADE;
     7
     8# Una sola línea
     9| PostDown = firewall-cmd --direct --remove-rule ipv4 filter FORWARD 0 -i wg0 -o ens18 -j ACCEPT;
    10| firewall-cmd --direct --remove-rule ipv4 nat POSTROUTING 0 -o ens18 -j MASQUERADE;
    11
    12ListenPort = 51820
    13PrivateKey = xxXXxxXXxxXXxxXXxxXXxxXXxxXXxxXX
    14
    15[Peer] #Portatil
    16PublicKey = xxXXxxXXxxXXxxXXxxXXxxXXxxXXxxXX
    17AllowedIPs = 172.17.1.2
    18
    19[Peer] #MiniMac
    20PublicKey = xxXXxxXXxxXXxxXXxxXXxxXXxxXXxxXX
    21AllowedIPs = 172.17.1.3
    22
    23[Peer] #Realme8
    24PublicKey = xxXXxxXXxxXXxxXXxxXXxxXXxxXXxxXX
    25AllowedIPs = 172.17.1.4
    

    Note

    Atención con el firewall

    • firewall-cmd –add-port=51820/udp –permanent

    • firewall-cmd –add-masquerade –permanent

    • firewall-cmd –reload

  3. Iniciar el servicio manual

    1wg-quick up wg0
    
  4. Iniciar al inicio des sistema

    1systemctl enable wg-quick@wg0
    2systemctl status wg-quick@wg0
    
  5. Configuración de un cliente en una red LAN con la configuración Endpoint = 192…

     1[Interface]
     2PrivateKey = xxXXxxXXxxXXxxXXxxXXxxXXxxXXxxXX
     3Address = 172.17.1.2/32
     4DNS = 192.168.4.7
     5
     6[Peer]
     7PublicKey = xxXXxxXXxxXXxxXXxxXXxxXXxxXXxxXX
     8AllowedIPs = 172.16.1.0/27
     9Endpoint = 192.168.4.10:51820
    10PersistentKeepalive = 25
    
  6. Configuración de un cliente en una red WAN con la configuración Endpoint = dtremino…

     1[Interface]
     2PrivateKey = xxXXxxXXxxXXxxXXxxXXxxXXxxXXxxXX
     3Address = 172.17.1.2/32
     4DNS = 192.168.4.7
     5
     6[Peer]
     7PublicKey = xxXXxxXXxxXXxxXXxxXXxxXXxxXXxxXX
     8AllowedIPs = 172.16.1.0/27
     9Endpoint = dtremino.duckdns.org:51820
    10PersistentKeepalive = 25
    

CERT