Как настроить L2TP-клиент на Ubuntu 18.04?

Вопрос или проблема

Я настроил свою систему в соответствии с учебным пособием, которое нашел в Интернете.

В основном я установил необходимые зависимости:

sudo apt install network-manager 
sudo apt install network-manager-l2tp
sudo apt install network-manager-strongswan

И настроил их, применяя изменения в следующих файлах (VPN_SERVER_IP, VPN_IPSEC_PSK, VPN_USERNAME, VPN_PASSWORD заменяются реальными значениями; XXX.XXX.XXX.XXX в логах ниже — это IP-адрес VPN-сервера)

/etc/ipsec.conf:

conn %default
  ikelifetime=60m
  keylife=20m
  rekeymargin=3m
  keyingtries=1
  keyexchange=ikev1
  authby=secret
  ike=aes128-sha1-modp1024,3des-sha1-modp1024!
  esp=aes128-sha1-modp1024,3des-sha1-modp1024!

conn myvpn
  keyexchange=ikev1
  left=%defaultroute
  auto=add
  authby=secret
  type=transport
  leftprotoport=17/1701
  rightprotoport=17/1701
  right=$VPN_SERVER_IP

/etc/ipsec.secrets:

: PSK "$VPN_IPSEC_PSK"

/etc/xl2tpd/xl2tpd.conf:

[lac myvpn]
lns = $VPN_SERVER_IP
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes

/etc/ppp/options.l2tpd.client:

ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-chap
noccp
noauth
mtu 1280
mru 1280
noipdefault
defaultroute
usepeerdns
debug
lock
connect-delay 5000
name $VPN_USERNAME
password $VPN_PASSWORD

/etc/NetworkManager/NetworkManager.conf (по умолчанию, ничего не изменял):

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

Когда я хочу подключиться к VPN, я выполняю sudo /etc/init.d/network-manager start, в логах ничего необычного не появляется:

ifupdown configuration found.
<info>  [1559053123.4216] devices added (path: /sys/devices/virtual/net/lo, iface: lo)
<info>  [1559053123.4216] device added (path: /sys/devices/virtual/net/lo, iface: lo): no ifupdown configuration found.
<info>  [1559053123.4216] end _init.
<info>  [1559053123.4216] settings: loaded plugin ifupdown: (C) 2008 Canonical Ltd. To report bugs please use the NetworkManager mailing list. (/usr/lib/x86_64-linux-gnu/NetworkManager/libnm-settings-plugin-ifupdown.so)
<info>  [1559053123.4217] settings: loaded plugin keyfile: (c) 2007 - 2016 Red Hat, Inc. To report bugs please use the NetworkManager mailing list.
...

ipsec up myvpn также кажется успешным:

initiating Main Mode IKE_SA myvpn[1] to 82.161.237.247
generating ID_PROT request 0 [ SA V V V V V ]
sending packet: from 192.168.10.56[500] to 82.161.237.247[500] (212 bytes)
received packet: from 82.161.237.247[500] to 192.168.10.56[500] (136 bytes)
parsed ID_PROT response 0 [ SA V V V ]
received XAuth vendor ID
...
connection 'myvpn' established successfully

Таким образом, в целом, похоже, что ошибок нет, но я не могу подтвердить, действительно ли я подключился. Главная проблема в том, что устройство ppp0 не отображается, когда я выполняю ip link:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 6c:f0:49:70:55:16 brd ff:ff:ff:ff:ff:ff

Из-за этого я не могу определить, какой трафик должен проходить через сервер VPN. Как я могу гарантировать, что устройство ppp0 появляется и к нему IP-адрес назначается DHCP/VPN сервером?

echo "c myvpn" > /var/run/xl2tpd/l2tp-control

выполненная от имени root, должна создать интерфейс ppp0. Я внес некоторые изменения в конфигурационные файлы, и когда я выполнил эту команду, я увидел в логах жалобы о том, что опция lock в /etc/ppp/options.l2tpd.client неизвестна (в /var/log/syslog). Я убрал lock из конфигурационного файла, и теперь это работает.

Моя текущая конфигурация представлена ниже.

/etc/ipsec.conf:

config setup

conn %default
  ikelifetime=60m
  keylife=20m
  rekeymargin=3m
  keyingtries=1
  keyexchange=ikev1
  authby=secret
  ike=aes128-sha1-modp1024,3des-sha1-modp1024!
  esp=aes128-sha1-modp1024,3des-sha1-modp1024!

conn myvpn
  keyexchange=ikev1
  left=%defaultroute
  auto=add
  authby=secret
  rekey=no
  type=transport
  left=%any
  leftprotoport=17/1701
  rightprotoport=17/1701
  right=VPN_SERVER
  rightid=%any
  dpdaction=clear

/etc/xl2tpd/xl2tpd.conf:

[lac myvpn]
lns = VPN_SERVER
require chap = yes
refuse pap = yes
require authentication = yes
name = VPN_USER
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.client
length bit = yes

/etc/ppp/options.l2tpd.client:

ipcp-accept-local
ipcp-accept-remote
require-chap
#refuse-chap
refuse-eap
refuse-pap
require-mschap
require-mschap-v2
noccp
noauth
idle 1800
mtu 1410
mru 1410
nodefaultroute
usepeerdns
debug
connect-delay 5000
name VPN_USER
password VPN_USER_PASSWORD
remotename myvpn
ipparam myvpn

/etc/network/interfaces:

iface tunnel inet ppp
provider myvpn

Результат:

~# ifconfig
enp5s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.56  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::6ef0:49ff:fe70:5516  prefixlen 64  scopeid 0x20<link>
        ether 6c:f0:49:70:55:16  txqueuelen 1000  (Ethernet)
        RX packets 822593  bytes 135972174 (135.9 MB)
        RX errors 0  dropped 31185  overruns 0  frame 0
        TX packets 854688  bytes 150862324 (150.8 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 70050  bytes 5703649 (5.7 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 70050  bytes 5703649 (5.7 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1410
        inet 192.168.60.1  netmask 255.255.255.255  destination 10.255.255.0
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 3  bytes 54 (54.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3  bytes 54 (54.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Для Ubuntu 18.04 LTS для маршрутизатора Meraki я в основном следовал https://help.vpntunnel.com/support/solutions/articles/5000782608-vpntunnel-l2tp-installation-guide-for-ubuntu-18-04-

Обновите и очистите машину сначала:

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot
# Подождите перезагрузки, войдите обратно
sudo apt autoremove

Установите VPN-программное обеспечение:

sudo apt-get install strongswan xl2tpd net-tools
sudo apt-get install network-manager-l2tp network-manager-l2tp-gnome
sudo apt-get install network-manager-strongswan
sudo reboot

После перезагрузки остановите сервер L2TP, мы хотим только клиента:

sudo service xl2tpd stop
sudo systemctl disable xl2tpd 

Настройка VPN-инструкций:

Настройки -> Сеть -> VPN -> "+"
Детали:
Разрешить доступ другим пользователям, отметить (если необходимо)
Идентичность:
Имя: Сделайте описание
Шлюз: IP-адрес (или имя dyn dns со страницы meraki)
Имя пользователя: [email protected]
Пароль: Оставьте пустым, будет предложен
NT-домен: <пусто>
Настройки IPSec:
Включить туннель IpSec к L2TP-хосту: отметить
Предварительно поделенный ключ: Получите со страницы настройки meraki
Алгоритмы фаз 1: 3des-sha1-modp1024
Алгоритмы фаз 2: aes128-sha1
Принудительная обертка UDP: <не отмечено>
Настройки PPP: По умолчанию

А затем подключитесь в графическом интерфейсе.

Ответ или решение

Настройка L2TP-клиента на Ubuntu 18.04 может показаться сложной задачей, но следуя пошаговым инструкциям, вы сможете успешно выполнить эту задачу. Ниже представлено детальное руководство по настройке клиента L2TP на вашей системе Ubuntu 18.04.

Шаг 1: Обновление системы

Перед установкой необходимых пакетов рекомендуется обновить систему и очистить ненужные файлы:

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot
# После перезагрузки войдите заново
sudo apt autoremove

Шаг 2: Установка программного обеспечения VPN

Теперь стоит установить необходимые зависимости, включая strongswan, xl2tpd, и Network Manager с поддержкой L2TP:

sudo apt-get install strongswan xl2tpd net-tools
sudo apt-get install network-manager-l2tp network-manager-l2tp-gnome
sudo apt-get install network-manager-strongswan
sudo reboot

Шаг 3: Отключение L2TP-сервера

Поскольку вы настраиваете клиент, отключите службу xl2tpd:

sudo service xl2tpd stop
sudo systemctl disable xl2tpd

Шаг 4: Настройка конфигурационных файлов

Теперь вам нужно настроить несколько конфигурационных файлов для подключения к VPN-серверу. Убедитесь, что вы заменили параметры VPN_SERVER_IP, VPN_IPSEC_PSK, VPN_USERNAME, и VPN_PASSWORD на свои реальные данные.

  1. /etc/ipsec.conf:

    config setup
    
    conn %default
     ikelifetime=60m
     keylife=20m
     rekeymargin=3m
     keyingtries=1
     keyexchange=ikev1
     authby=secret
     ike=aes128-sha1-modp1024,3des-sha1-modp1024!
     esp=aes128-sha1-modp1024,3des-sha1-modp1024!
    
    conn myvpn
     keyexchange=ikev1
     left=%defaultroute
     auto=add
     authby=secret
     rekey=no
     type=transport
     leftprotoport=17/1701
     rightprotoport=17/1701
     right=VPN_SERVER_IP
  2. /etc/ipsec.secrets:

    : PSK "YOUR_IPSEC_PSK"
  3. /etc/xl2tpd/xl2tpd.conf:

    [lac myvpn]
    lns = VPN_SERVER_IP
    require chap = yes
    refuse pap = yes
    require authentication = yes
    name = VPN_USERNAME
    ppp debug = yes
    pppoptfile = /etc/ppp/options.l2tpd.client
    length bit = yes
  4. /etc/ppp/options.l2tpd.client:

    ipcp-accept-local
    ipcp-accept-remote
    require-chap
    refuse-eap
    require-mschap
    require-mschap-v2
    noccp
    noauth
    idle 1800
    mtu 1410
    mru 1410
    nodefaultroute
    usepeerdns
    debug
    name VPN_USERNAME
    password VPN_PASSWORD
    remotename myvpn
    ipparam myvpn
  5. /etc/network/interfaces:

    iface tunnel inet ppp
    provider myvpn

Шаг 5: Перезапуск служб

После того как все конфигурации будут установлены, перезапустите службы strongswan и xl2tpd:

sudo systemctl restart strongswan
sudo systemctl restart xl2tpd

Шаг 6: Проверка подключения к VPN

Теперь вы готовы к подключению. Используйте следующую команду для запуска подключения:

echo "c myvpn" > /var/run/xl2tpd/l2tp-control

Для проверки успешного подключения вы можете использовать команду ifconfig или ip link, чтобы просмотреть созданный интерфейс ppp0. Если настройка была выполнена правильно, интерфейс ppp0 должен появиться с назначенным IP-адресом, полученным от VPN-сервера.

Шаг 7: Устранение неполадок

Если интерфейс ppp0 не отображается, проверьте логи для xl2tpd и iptables, чтобы убедиться, что ваш запрос проходит успешно:

tail -f /var/log/syslog

Заключение

Настройка L2TP-клиента на Ubuntu 18.04 требует внимательности к деталям и правильной конфигурации. Пошаговое выполнение инструкций, представленных выше, поможет вам успешно подключиться к вашему VPN-серверу. Теперь вы сможете безопасно использовать интернет через свой VPN.

Оцените материал
Добавить комментарий

Капча загружается...