En vrac : configuration d'un Fortigate pour devenir serveur VPN IPSec Dialup avec DHCP relay over IPSec.

Source : http://cookbook.fortinet.com/ipsec-vpn-external-dhcp-service/

Config CLI : dans notre cas on considèrera que :

Créer un groupe “VPN-IPSec” et un utilisateur :

config user local
    edit "dude"
        set type password
        set email-to "dude@domaine.fr"
        set passwd ENC MASCARADE
    next
end
config user group
    edit "VPN-IPSec"
        set member "dude"
    next
end

Créer l'interface tunnel :

config vpn ipsec phase1-interface
    edit "forticli"
        set type dynamic
        set interface "wan1"
        set mode aggressive
        set peertype any
        set proposal aes128-sha1
        set dhgrp 14
        set xauthtype auto
        set authusrgrp "VPN-IPSec"
        set psksecret ENC XXXXXX
    next
end
config vpn ipsec phase2-interface
    edit "forticli"
        set phase1name "forticli"
        set proposal aes128-sha1
        set dhgrp 14
        set dhcp-ipsec enable
    next
end

Configurer le DHCP relaying :

# l'IP du tunnel du fortigate est 10.1.1.254, ça sera la passerelle des clients VPN
# on relaie vers 2 serveurs DHCPd : 10.0.0.100 et 10.0.0.101
    edit "forticli"
        set vdom "vpn"
        set dhcp-relay-service enable
        set ip 10.1.1.254 255.255.255.255
        set allowaccess ping
        set type tunnel
        set remote-ip 10.1.1.254
        set dhcp-relay-ip "10.0.0.100" "10.0.0.101"
        set dhcp-relay-type ipsec
        set interface "wan1"
    next
end

Créer les règles de trafic dans la politique de sécurité :

# net-LAN =      10.0.0.0/24
# net-forticli = 10.1.1.0/24
 
config firewall policy
    edit 1
        set name "dialup_to_lan"
        set srcintf "forticli"
        set dstintf "port1"
        set srcaddr "net-forticli"
        set dstaddr "net-LAN"
        set action accept
        set schedule "always"
        set service "ALL"
    next
    edit 2
        set name "lan_to_dialup"
        set srcintf "port1"
        set dstintf "forticli"
        set srcaddr "net-LAN"
        set dstaddr "net-forticli"
        set action accept
        set schedule "always"
        set service "ALL"
    next
end

Bonus : configuration du serveur DHCPD (ICS) :

# vi /etc/dhcp/dhcpd.conf
subnet 10.1.1.0 netmask 255.255.255.0 {
    option routers 10.1.1.254;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 10.1.1.254;
    range 10.1.1.1 10.1.1.250;
}
 
systemctl restart dhcpd
(ou : service dhcpd restart)

La configuration du Forticlient est assez intuitive ; il faut juste créer une nouvelle connexion de type VPN IPSec, préciser la “Passerelle Distante” = l'IP publique du Fortigate (celle de l'interface wan1) et bien cocher “DHCP over IPSec”