---
# System prepended metadata

title: Практика №6. IPSec over L2TP

---

# Практика №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
```

Генерируем общий пароль:

![](https://hackmd.io/_uploads/SyCwpFIDn.jpg)

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

![](https://hackmd.io/_uploads/BJs36FLv3.jpg)

Далее настраиваем 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 зададим учетную запись клиента:
![](https://hackmd.io/_uploads/HkGay5Uvn.jpg)

На ферволе прописываем правила, которые позволят ходить трафику:
![](https://hackmd.io/_uploads/Skvrx5LDn.jpg)

**Настройка клиента**

Также устанавливаем необходимые модули:
```
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
```