# Практика №6. IPSec over L2TP
## Выполнила Валеева Рената
## Группа ББСО-02-20
# Описание практический работы:
**Целью практической работы является:**
- Научиться работать с протоколом IPsec over L2TP
- Научиться настраивать работу VPN протокола IPsec over L2TP на операционной системе Linux (в качестве сервера)
# Описание практический работы:
**Целью практической работы является:**
- Научиться работать с протоколом IPsec over L2TP
- Научиться настраивать работу VPN протокола IPsec over L2TP на операционной системе Linux (в качестве сервера)
# Настройка
**Настройка сервера**
Установим модуль strongswan для IPsec:
```
apt install strongswan
```
В файл настроек /etc/ipsec.conf добавим две области, первая отвечает за общие настройки(фрагментация IKE и обнаружение мертвых узлов - DPD), вторая - за l2tp соединения(задает IPsec транспортным режимом, указывает проведение аутентификации по общему ключу и задает шифры):
```
conn rw-base
fragmentation=yes
dpdaction=clear
dpdtimeout=90s
dpddelay=30s
conn l2tp-vpn
also=rw-base
ike=aes128-sha256-modp3072
esp=aes128-sha256-modp3072
leftsubnet=%dynamic[/1701]
rightsubnet=%dynamic
leftauth=psk
rightauth=psk
type=transport
auto=add
```
Генерируем общий пароль:

В файле /etc/ipsec.secrets указываем сгенерированный общий пароль:

Далее настраиваем L2TP. Для начала устанавливаем необходимый модуль:
```
apt install xl2tpd
```
В файле /etc/xl2tpd/xl2tpd.conf произведем настройки:
```
[global]
port = 1701
auth file = /etc/ppp/chap-secrets
access control = no
ipsec saref = yes
force userspace = yes
[lns default]
exclusive = no
ip range = 10.2.2.100-10.2.2.199
hidden bit = no
local ip = 10.2.2.1
length bit = yes
require authentication = yes
name = l2tp-vpn
pppoptfile = /etc/ppp/options.xl2tpd
flow bit = yes
```
Далее настроим PPP в файле /etc/ppp/options.xl2tpd (предаварительно скопировав стандартный файл настроек):
```
asyncmap 0
auth
crtscts
lock
hide-password
modem
mtu 1460
lcp-echo-interval 30
lcp-echo-failure 4
noipx
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
multilink
mppe-stateful
```
В /etc/ppp/chap-secrets зададим учетную запись клиента:

На ферволе прописываем правила, которые позволят ходить трафику:

**Настройка клиента**
Также устанавливаем необходимые модули:
```
apt-get install strongswan xl2tpd net-tools
```
Настраиваем ipsec.conf:
```
cat > /etc/ipsec.conf
conn l2tp-vpn
auto=add
keyexchange=ikev1
authby=secret
type=transport
left=%defaultroute
leftprotoport=17/1701
rightprotoport=17/1701
right= здесь указываем wan фаервола
ike=aes128-sha1-modp2048
esp=aes128-sha1
```
Добавляем ранее сгенерированный PSK:
```
cat > /etc/ipsec.secrets
: PSK "сгенерированный PSK на сервере"
```
Далее настраиваем l2tp:
```
cat > /etc/xl2tpd/xl2tpd.conf
[lac l2tp-vpn]
lns = здесь указываем wan фаервола
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes
```
Редактируем файл настроек PPP:
```
cat > /etc/ppp/options.l2tpd.client
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-chap
noccp
noauth
mtu 1280
mru 1280
noipdefault
defaultroute
usepeerdns
connect-delay 5000
name "имя, указанное на сервере"
password "пароль, указанный на сервере"
```
Далее запускаем IPsec:
```
ipsec up l2tp-vpn
```
И L2TP:
```
echo "c l2tp-vpn" > /var/run/xl2tpd/l2tp-control
```