пятница, 14 января 2022 г.

Centos 7 L2TP xl2tpd strongswan

С Centos 7 есть проблема с настройкой впн подключения с помощью NetworkManager, т.к. он использует libreswan, а тот, в свою очередь, перестал поддерживать устаревшие алгоритмы шифрования: 3des, modp1024. Можно настроить постоянное подключение по l2tp как это сделать текст ниже:


# yum -y install epel-release

# yum -y install strongswan xl2tpd

# systemctl enable strongswan xl2tpd


VPN_SERVER='vpn.dom.ru' # адрес сервера

VPN_IPSEC_PSK='larhe4rtdfkjgh8340' # общий l2tp секрет

VPN_USER='user1' # имя пользователя

VPN_PASSWORD='P@ssword1' # пароль пользователя

VPN_CONN='dom' # имя подключения


cat > /etc/strongswan/ipsec.conf <<EOF

# ipsec.conf - strongSwan IPsec configuration file

conn %default

  ikelifetime=60m

  keylife=20m

  rekeymargin=3m

  keyingtries=0

  keyexchange=ikev1

  authby=secret

  ike=3des-sha1-modp1024,aes128-sha1-modp1024!

  esp=3des-sha1-modp1024,aes128-sha1-modp1024!


conn $VPN_CONN

  auto=start

  type=transport

  left=%defaultroute

  rightprotoport=17/1701

  right=$VPN_SERVER

  rightid=%any

  ike=3des-sha1-modp1024!

  esp=3des-sha1!

EOF


cat > /etc/strongswan/ipsec.secrets <<EOF

: PSK "$VPN_IPSEC_PSK"

EOF

chmod 600 /etc/strongswan/ipsec.secrets


cat > /etc/xl2tpd/xl2tpd.conf <<EOF

[lac $VPN_CONN]

lns = $VPN_SERVER

ppp debug = no

pppoptfile = /etc/ppp/options.l2tpd.client

length bit = yes

redial = yes

autodial = yes

EOF


cat > /etc/ppp/options.l2tpd.client <<EOF

ipparam $VPN_CONN

ipcp-accept-local

ipcp-accept-remote

refuse-eap

require-chap

noccp

noauth

mtu 1280

mru 1280

noipdefault

usepeerdns

connect-delay 5000

name "$VPN_USER"

password "$VPN_PASSWORD"

EOF

chmod 600 /etc/ppp/options.l2tpd.client


cat > /etc/ppp/ip-up.local << EOF

#!/bin/bash

PATH=/sbin:/usr/sbin:/bin:/usr/bin

export PATH

LOG=/tmp/ip-up.local.log

DSTNETS="10.4.108.0/24 10.32.0.0/16 10.33.70.0/24 10.70.1.0/24 10.80.0.0/16 10.88.0.0/16 10.89.0.0/16 10.90.0.0/24 10.91.0.0/16 10.208.1.0/24 10.254.0.0/16"

DEV=\$1

TTY=\$2

SPEED=\$3

LOCALIP=\$4

REMOTEIP=\$5

IPPARAM=\$6


f_$VPN_CONN () {

  for i in \$DSTNETS; do

  ip route add \$i dev \$DEV

  done

}

case \$IPPARAM in

"$VPN_CONN")

  f_$VPN_CONN

  ;;

"*")

  ;;

esac

exit 0

EOF

chmod a+x /etc/ppp/ip-up.local


systemctl restart strongswan xl2tpd


Ратнер Арсений, arsenyratner@gmail.com, 7 985 273 2090