Cara setting vpn l2tp/ipsec di centos 8

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 :

create file /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 di /etc/ipsec.d/my.secrets

192.168.10.100 %any: PSK "kodesecretanda"

silahkan ganti ip 192.168.10.100 dengan ip server anda.

kemudian edit file /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]

jika sudah mari kita lanjutkan untuk melakukan konfigurasi l2tp nya. edit file /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

setelah itu edit file /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 di /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

# 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

kemudian edit credential di network connection

kemudian pilih allow these protocol dan mencentang chap dan ms-chap v2

dan kemudian lakukan koneksi ke vpn tersebut.

berikut tampilan jika berhasil connect menggunakan windows.

jangan lupa agar pada waktu reboot service ipsec dan xl2tpd auto start

# systemctl enable ipsec
# systemctl enable xl2tpd

Cara menambahkan motd saat login ke ssh di centos 8

ketika login ke ssh centos maka tampilan nya polos sekali hanya tampilan pesan last login saja.

untuk menambahan tampilan pesan setelah login ke ssh maka anda dapat merubah file seperti dibawah ini:

nano /etc/motd

kemudian isi file tersebut sesuai dengan keinginan kita misalnya.

The CentOS Project is a community-driven free software effort focused on delivering a robust open source ecosystem around a Linux platform.

We offer two Linux distros:

– CentOS Linux is a consistent, manageable platform that suits a wide variety of deployments. For some open source communities, it is a solid, predictable base to build upon.

– The new CentOS Stream is a rolling-release distro that tracks just ahead of Red Hat Enterprise Linux (RHEL) development, positioned as a midstream between Fedora Linux and RHEL. For anyone interested in participating and collaborating in the RHEL ecosystem, CentOS Stream is your reliable platform for innovation.

tampilan setelah login

atau anda juga bisa menambahkan script shell dengan membuat suatu file yang berada di

nano /etc/profile.d/motd.sh

kemudian diisi dengan

#!/bin/bash
/usr/bin/neofetch

jangan lupa untuk chmod +x

chmod +x /etc/profile.d/motd.sh

pada contoh diatas menggunakan neofetch sebagai tampilan informasi os.

install neofetch

yum install neofetch

tampilan setelah login