Вопрос или проблема
Я настроил свою систему в соответствии с учебным пособием, которое нашел в Интернете.
В основном я установил необходимые зависимости:
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
на свои реальные данные.
-
/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
-
/etc/ipsec.secrets
:: PSK "YOUR_IPSEC_PSK"
-
/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
-
/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
-
/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.