Cara setting vpn l2tp/ipsec di centos 8

2022-06-23 15:1300

Ada beberapa protokol vpn di antara nya pptp, openvpn, sstp, l2tp dan wireguard. kali ini kita akan bahas untuk protokol l2tp dengan kombinasi ipsec. dengan ada nya kombinasi ipsec ini maka protokol l2tp nya akan di enkripsi.

pertama install dulu package nya.

yum install libreswan xl2tpd

kemudian buatlah sebuah configurasi untuk penamaan bebas, disini saya akan mencoba membuat config dengan nama :

/etc/ipsec.d/l2tp_psk.conf
conn L2TP-PSK-NAT
     rightsubnet=vhost:%priv
     also=L2TP-PSK-noNAT
	 
conn L2TP-PSK-noNAT
     authby=secret
     pfs=no
     auto=add
     keyingtries=3
     dpddelay=30
     dpdtimeout=120
     dpdaction=clear
     rekey=yes
     ikelifetime=8h
     keylife=1h
     type=transport 
     left=%defaultroute
     leftprotoport=17/1701
     right=%any
     rightprotoport=17/%any
     ikev2=never
	 ike=aes128-sha1-modp1024,aes256-sha1-modp2048
     esp=aes128-sha1,aes256-sha1-modp4096

setelah itu tambahkan pre share key

/etc/ipsec.d/my.secrets
192.168.10.100 %any: PSK "kodesecretanda"

silahkan ganti ip 192.168.10.100 dengan ip server anda.

/etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.rp_filter= 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.default.rp_filter= 0

setelah itu jalankan perintah untuk melakukan reload sysctl

sysctl -p

sampai disini jalankan service ipsec nya

 service ipsec start

kemudian untuk mengecek apakah ipsec ini sudah berhasil atau tidak nya

ipsec verify

seharusnya keluar tampilan output seperti dibawah ini

Verifying installed system and configuration files

Version check and ipsec on-path                         [OK]
Libreswan 3.29 (netkey) on 4.18.0-193.14.2.el8_2.x86_64
Checking for IPsec support in kernel                    [OK]
 NETKEY: Testing XFRM related proc values
         ICMP default/send_redirects                    [OK]
         ICMP default/accept_redirects                  [OK]
         XFRM larval drop                               [OK]
Pluto ipsec.conf syntax                                 [OK]
Checking rp_filter                                      [OK]
Checking that pluto is running                          [OK]
 Pluto listening for IKE on udp 500                     [OK]
 Pluto listening for IKE/NAT-T on udp 4500              [OK]
 Pluto ipsec.secret syntax                              [OK]
Checking 'ip' command                                   [OK]
Checking 'iptables' command                             [OK]
Checking 'prelink' command does not interfere with FIPS [OK]
Checking for obsolete ipsec.conf options                [OK]
/etc/xl2tpd/xl2tpd.conf
[global]

ipsec saref = yes

[lns default]
ip range = 10.11.11.2-10.11.11.100
local ip = 10.11.11.1
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
/etc/ppp/options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
ms-dns  8.8.8.8
ms-dns  4.2.2.4
noccp
auth
crtscts
idle 1800
mtu 1450
mru 1450
nodefaultroute
debug
lock
proxyarp
connect-delay 5000

kemudian edit credential username dan password

/etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client	server	secret			IP addresses
uservpn * passwordvpn *

setelah itu coba jalankan service xl2tpd nya :

service xl2tpd start

jangan lupa untuk allow protocol dan port di firewall nya, disini kita menggunakan firewalld di centos 8 / rocky linux

firewall-cmd --permanent --zone=public --add-service=ipsec
firewall-cmd --permanent --zone=public --add-port={4500,500}/udp
firewall-cmd --permanent --zone=public --add-protocol={50,51}
firewall-cmd --permanent --zone=public --add-port=1701/udp
firewall-cmd --permanent --zone=public --add-masquerade
firewall-cmd --reload

setelah itu mari kita coba testing menggunakan windows