Вопрос или проблема
Я только что установил Ubuntu 14.04 на VirtualBox и пытаюсь настроить клиент VPN. Я настроил его с теми же параметрами, которые использую на Mac, и могу подключиться оттуда без проблем.
Когда я нажимаю на подключения VPN, я вижу следующее сообщение после небольшой задержки:
Подключение VPN не удалось.
Я искал решение, но безуспешно. Я не опытен в таких делах. Я предоставил лог в надежде, что это поможет.
Заранее благодарю.
Feb 17 20:31:05 ubuntu NetworkManager[856]: <info> Starting VPN service 'pptp'...
Feb 17 20:31:05 ubuntu NetworkManager[856]: <info> VPN service 'pptp' started (org.freedesktop.NetworkManager.pptp), PID 3629
Feb 17 20:31:05 ubuntu NetworkManager[856]: <info> VPN service 'pptp' appeared; activating connections
Feb 17 20:31:05 ubuntu NetworkManager[856]: <info> VPN plugin state changed: init (1)
Feb 17 20:31:05 ubuntu NetworkManager[856]: <info> VPN plugin state changed: starting (3)
Feb 17 20:31:05 ubuntu NetworkManager[856]: <info> VPN connection 'Bioxydyn' (Connect) reply received.
Feb 17 20:31:05 ubuntu pppd[3633]: Plugin /usr/lib/pppd/2.4.5/nm-pptp-pppd-plugin.so loaded.
Feb 17 20:31:05 ubuntu pppd[3633]: pppd 2.4.5 started by root, uid 0
Feb 17 20:31:05 ubuntu pppd[3633]: Using interface ppp0
Feb 17 20:31:05 ubuntu pppd[3633]: Connect: ppp0 <--> /dev/pts/0
Feb 17 20:31:05 ubuntu pptp[3636]: nm-pptp-service-3629 log[main:pptp.c:314]: The synchronous pptp option is NOT activated
Feb 17 20:31:05 ubuntu NetworkManager[856]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Feb 17 20:31:05 ubuntu NetworkManager[856]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/ppp0, iface: ppp0): no ifupdown configuration found.
Feb 17 20:31:05 ubuntu NetworkManager[856]: <warn> /sys/devices/virtual/net/ppp0: couldn't determine device driver; ignoring...
Feb 17 20:31:05 ubuntu pptp[3653]: nm-pptp-service-3629 log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Control-Connection-Request'
Feb 17 20:31:05 ubuntu pptp[3653]: nm-pptp-service-3629 log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply
Feb 17 20:31:05 ubuntu pptp[3653]: nm-pptp-service-3629 log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established.
Feb 17 20:31:06 ubuntu pptp[3653]: nm-pptp-service-3629 log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
Feb 17 20:31:06 ubuntu pptp[3653]: nm-pptp-service-3629 log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply.
Feb 17 20:31:06 ubuntu pptp[3653]: nm-pptp-service-3629 log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer's call ID 10009).
Feb 17 20:31:36 ubuntu pppd[3633]: LCP: timeout sending Config-Requests
Feb 17 20:31:36 ubuntu pppd[3633]: Connection terminated.
Feb 17 20:31:36 ubuntu NetworkManager[856]: <warn> VPN plugin failed: 1
Feb 17 20:31:36 ubuntu avahi-daemon[661]: Withdrawing workstation service for ppp0.
Feb 17 20:31:36 ubuntu NetworkManager[856]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Feb 17 20:31:36 ubuntu pppd[3633]: Modem hangup
Feb 17 20:31:36 ubuntu pptp[3636]: nm-pptp-service-3629 warn[decaps_hdlc:pptp_gre.c:204]: short read (-1): Input/output error
Feb 17 20:31:36 ubuntu pptp[3636]: nm-pptp-service-3629 warn[decaps_hdlc:pptp_gre.c:216]: pppd may have shutdown, see pppd log
Feb 17 20:31:36 ubuntu pppd[3633]: Exit.
Feb 17 20:31:36 ubuntu pptp[3653]: nm-pptp-service-3629 log[callmgr_main:pptp_callmgr.c:234]: Closing connection (unhandled)
Feb 17 20:31:36 ubuntu NetworkManager[856]: <warn> VPN plugin failed: 1
Feb 17 20:31:36 ubuntu NetworkManager[856]: <info> VPN plugin state changed: stopped (6)
Feb 17 20:31:36 ubuntu NetworkManager[856]: <info> VPN plugin state change reason: 0
Feb 17 20:31:36 ubuntu NetworkManager[856]: <info> Policy set 'Wired connection 1' (eth0) as default for IPv4 routing and DNS.
Feb 17 20:31:36 ubuntu pptp[3653]: nm-pptp-service-3629 log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 12 'Call-Clear-Request'
Feb 17 20:31:36 ubuntu pptp[3653]: nm-pptp-service-3629 log[call_callback:pptp_callmgr.c:79]: Closing connection (call state)
Feb 17 20:31:36 ubuntu NetworkManager[856]: <warn> error disconnecting VPN: Could not process the request because no VPN connection was active.
Feb 17 20:31:41 ubuntu NetworkManager[856]: <info> VPN service 'pptp' disappeared
У меня была такая же проблема, и я решил ее следующим образом:
- Войти как root или выполнить su или
sudo su
. touch /etc/modules-load.d/netfilter.conf
- Редактировать
/etc/modules-load.d/netfilter.conf
netfilter.conf:
nf_nat_pptp
nf_conntrack_pptp
nf_conntrack_proto_gre
- Сохранить файл и перезагрузиться.
Просто возрождаю это, потому что это было частью моего поиска на прошлой неделе, но предложенное решение не помогло.
Фокс Малдер прав в отношении причины проблемы – пакеты gre/pptp неправильно маршрутизируются, но проблема в данном случае в виртуальных сетевых интерфейсах VirtualBox.
Используя сетевой интерфейс NAT, вы не можете маршрутизировать pptp или gre корректно.
Отредактируйте конфигурацию VBox, чтобы использовать мостовое подключение, и все должно работать нормально (при условии, что ваша хостовая ОС и все другие сетевые устройства в цепочке правильно передают трафик gre и pptp).
Ответ или решение
Для решения проблемы с установлением PPTP VPN соединения на Ubuntu, установленной на VirtualBox, нужно учесть несколько факторов и выполнить ряд шагов. Прежде всего, необходимо понять, что PPTP (Point-to-Point Tunneling Protocol) требует специальной настройки для правильной маршрутизации и работы в среде виртуализации.
Теория
Основной проблемой при работе с PPTP является маршрутизация GRE (Generic Routing Encapsulation) пакетов. PPTP использует GRE для туннелирования данных, и если GRE пакеты не могут быть корректно маршрутизированы, соединение VPN не удаётся установить. VirtualBox по умолчанию использует сетевую карту с типом NAT, что не поддерживает передачу GRE пакетов должным образом.
Пример
Согласно предоставленным логам, VPN соединение пытается установиться, однако завершается с ошибкой из-за таймаута в отправке LCP (Link Control Protocol) запросов. Это указывает на то, что сервер не отвечает по каналу GRE. Подобные проблемы возникают, когда NAT блокирует GRE трафик. В этом случае решение заключается в изменении типа сетевой карты виртуальной машины.
Применение
-
Изменение сетевых настроек VirtualBox:
- Откройте настройки вашей виртуальной машины в VirtualBox.
- Перейдите в раздел "Сеть".
- Убедитесь, что вместо NAT используется "Сетевой мост" (Bridged Adapter). Это позволит виртуальной машине получать доступ к сети как обычное физическое устройство, что обеспечивает правильную маршрутизацию GRE пакетов.
-
Настройка модулей ядра Ubuntu для поддержки PPTP:
- Выполните вход под пользователем root или воспользуйтесь командой
sudo su
. - Создайте файл конфигурации для загрузки необходимых модулей:
touch /etc/modules-load.d/netfilter.conf
- Отредактируйте этот файл и добавьте следующие строки:
nf_nat_pptp nf_conntrack_pptp nf_conntrack_proto_gre
- Сохраните изменения и выполните перезагрузку системы:
reboot
- Выполните вход под пользователем root или воспользуйтесь командой
Эти модули гарантируют, что pptp пакеты будут корректно отслеживаться и маршрутизироваться через вашу систему. После перезагрузки попытайтесь снова установить VPN соединение.
Дальнейшие действия
Если после выполнения указанных шагов проблема сохраняется, стоит убедиться, что на всех сетевых устройствах, через которые проходит трафик, разрешена передача GRE и PPTP пакетов. Это может включать настройки межсетевых экранов и маршрутизаторов. Также убедитесь, что PPTP сервер правильно настроен и доступен из вашей сети.
Резюме
Правильная настройка PPTP VPN в виртуальной среде требует учета особенностей работы GRE пакетов и сетевой конфигурации. Применение "Сетевого моста" для виртуальной машины, наряду с загрузкой необходимых модулей ядра в Ubuntu, должны решить проблему подключения. Эти шаги помогут обеспечить стабильное и безопасное VPN соединение.