Установка сервера L2TP на CentOS 8

Материал из sysadm
Перейти к навигации Перейти к поиску

Ссылки по теме:

Установка

dnf install epel-release
dnf update

dnf install xl2tpd

Настройка

cp /etc/xl2tpd/xl2tpd.conf /etc/xl2tpd/xl2tpd.conf.default
cat /etc/xl2tpd/xl2tpd.conf.default | grep -v ^\; > /etc/xl2tpd/xl2tpd.conf
vi /etc/xl2tpd/xl2tpd.conf
[global]
port = 1701
access control = no
ipsec saref = no
force userspace = yes
auth file = /etc/ppp/chap-secrets

[lns default]
ip range = 10.9.0.10-10.9.0.200
local ip = 10.9.0.1

require authentication = yes
refuse pap = yes

name = LinuxVPNserver
pass peer = yes
ppp debug = no
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

[global]

  • port — порт UDP, на котором работает VPN. По умолчанию, 1701.
  • access control — принимать или нет запросы только от клиентов с определенными IP, перечисленными в настройках клиентов.
  • ipsec saref — указывает использовать или нет ipsec Security Association, позволяющий отслеживать несколько клиентов с одинаковыми IP-адресами.
  • auth file — путь к файлу аутентификации.

Под вопросом, в man нет описания данного параметра

  • force userspace — повышает производительность за счет декапсуляции пакетов L2TP.


[lns default]

  • ip range — диапазон адресов, которые назначаются подключенным клиентам.
  • local ip — IP-адрес сервера в сети VPN.
  • name — имя сервера для процесса согласования.
  • pppoptfile — путь к файлу с настройкой pppd.
  • flow bit — позволяет добавлять в пакеты порядковые номера.
  • exclusive — если поставить в yes, сервер разрешит только одно соединение с клиентом.
  • hidden bit — скрывать или нет AVP.
  • length bit — использовать ли бит длины, указывающий полезную нагрузку.
  • require authentication — требовать ли аутентификацию.
  • require chap — требовать ли аутентификацию PPP по протоколу CHAP.
  • refuse pap — отказывать ли авторизацию пирам, использующим PAP.
  • exclusive — запрет множественных подключений между двумя пирами
vi /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client        server          secret                  IP addresses
user1           *               mypass1                 10.9.0.10
user2           *               mypass2                 *
user3           l2tpserver      mypass3                 *
mv /etc/ppp/options.xl2tpd /etc/ppp/options.xl2tpd.default
cat /etc/ppp/options.xl2tpd.default | grep -v ^# > /etc/ppp/options.xl2tpd

Опции pppd man pppd

vi /etc/ppp/options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
auth
idle 1800
mtu 1200
mru 1200
nodefaultroute
lock
proxyarp
connect-delay 5000
name l2tpd
login
ms-dns 77.88.8.8
ms-dns 8.8.8.8
require-mschap-v2

Доступ на локальном файрволе

firewall-cmd --permanent --zone=public  --add-port=1701/{tcp,udp}
firewall-cmd --reload

Или так

vi /usr/lib/firewalld/services/l2tp.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>l2tp</short>
  <description>VPN Servr L2TP</description>
  <port protocol="tcp" port="1701"/>
  <port protocol="udp" port="1701"/>
</service>
firewall-cmd --reload
firewall-cmd --get-services | grep l2tp
firewall-cmd --info-service=l2tp

firewall-cmd --permanent --zone=public  --add-service=l2tp
firewall-cmd --reload

Доступ для клиентов VPN

firewall-cmd --permanent --zone=trusted --add-interface=ppp0
firewall-cmd --reload


Запуск сервиса

systemctl enable xl2tpd
systemctl start xl2tpd