Verbinden eines Linux mit einem Fortigate IPSEC VPN

In diesem Dokument werden wir versuchen, alle Schritte zu beschreiben, die wir benötigen, um eine Linux-Maschine mit einem VPN zu verbinden, das Fortigate anbietet, in diesem Fall ein VPN vom Typ IPSEC. Ein Beitrag, von dem ich hoffe, dass er nicht viel Geheimnisvolles enthält.

Este post lo baso en una máquina linux con Ubuntu, si estás usando otro SO no basado en Debian, entiendo que excepto la instalación, los demás pasos serán iguales, y la instalación similar, gehen. Que la máquina la tenemos actualizada, con un nombre, un direcciona miento IP… gesamt, que empezamos! Instalaremos el cliente de VPN StrongSwan:

sudo apt install strongswan -y
sudo apt install charon-systemd -y

Si queremos permitir el reenvío de paquetes a través de nosotros a la VPN, das heißt, para otros equipos de la red del linux que se puedan conectar a la red de la VPN, wir bearbeiten ‚sudo nano /etc/sysctl.confy descomentamos las líneas siguientes, sein:

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

Editamos el fichero de configuración de StrongSwansudo nano /etc/ipsec.confy creamos la configuración de la VPN en base a la definición que haya en el lado de la VPN IPSEC en el Fortigate, quedando algo como esto (obviamente es posible que tengáis que cambiar algún valor, dependerá si os habéis salido de las configuraciones standard, así como aportar algunos direccionamientos):

config setup
   charondebug = "dmn 1, mgr 1, ike 2, chd 1, Job 1, cfg 3, knl 2, Netz 2, Was Sie erhalten, ist ein VMware ESXi-ISO-Image 1"
   nat_traversal = yes
conn "FORTI_VPN"
        type=tunnel
        dpdaction=restart
        keyexchange=ikev1
        ikelifetime=1440m
        keylife=60m
        aggressive=yes
        ike=aes128-sha1-modp1536
        esp=aes128-sha1-modp1536
        xauth=client
        #leftid=LOCAL_ID #Si tenemos Local ID.
        left=%defaultroute
        leftsourceip=%config
        leftauth=psk
        rightid=%any
        rightauth=psk
        leftauth2=xauth
        right=IP_PUBLICA_FORTIGATE
        rightsubnet=RED_LADO_VPN/MASCARA
        xauth_identity=NOMBRE_DE_USUARIO
        auto=add

Creamos el fichero de secretossudo nano /etc/ipsec.secrets‘ und mit dem folgenden Format fügen wir unsere Daten hinzu und ändern sie:

IP_PUBLICA_FORTIGATE : PSK "SECRETO_PRESHARED_KEY"
NUTZERNAME : XAUTH "BENUTZER-PASSWORT"

Wir laden neu und versuchen, das VPN zu verbinden…

sudo systemctl starte strongswan neu
Sudo-IPsec-Update
sudo ipsec neu laden
sudo ipsec up FORTI_VPN

Da alles gut gelaufen sein wird 😉 ist es an der Zeit, ein Skript zu erstellen, das automatisch ausgeführt wird, wenn der Computer startet, Verbinden Sie das VPN und auch, wenn die VPN-Verbindung unterbrochen wird, Versuchen Sie erneut, eine Verbindung herzustellen, ‚nano /home/usuario/inicia_vpn.sh‘ Sein etwas wie:

#!/bin/bash

während :
Tun
  Sudo IPSec-Status |grep "GEGRÜNDET"
  RET=$?
  ob [ ! $RET -eq 0 ];Dann
      Echo "[!] Es gibt keinen erhöhten Tunnel, Wiederverbinden..."
      sudo systemctl starte strongswan neu
      Sudo-IPsec-Update
      sudo ipsec neu laden
      sudo ipsec up FORTI_VPN
  fi
  schlafen 5
erledigt

Wir machen das Skript ausführbar mit ‚chmod +x /home/usuario/inicia_vpn.sh‘ und wir haben es in den Cron eingefügt, damit es sich beim Start des Linux-Rechners selbst verbindet, durch ‚crontab-‘:

# m h dom mon dow-Befehl
@Reboot Sleep 30 && sudo /home/usuario/inicia_vpn.sh

Und fertig! Wir hätten bereits eine Linux-Maschine, die über das IPSEC VPN eines Fortigate verbunden wäre, sowie ein kleines Skript, das die Konnektivität steuert! Wie würde Arguiñano sagen?… Einfach, einfach und für die ganze Familie! aber, Viel Glück, Ich schicke dir eine Umarmung!!

Hector Herrero
Letzte Artikel von Hector Herrero (Alle anzeigen)