Как использовать VPN через вручную настроенный сетевой мост (с основным интерфейсом, не управляемым NetworkManager)?

Как использовать VPN через вручную настроенный сетевой мост (с основным интерфейсом, не управляемым NetworkManager)?

Я настроил сетевой мост, который использую для подключения виртуальных машин KVM на моем рабочем столе к домашней сети; я сделал это вручную, создав мост /etc/network/interfaces(так, как это делается по инструкции для лучшей производительности сети, и как мы используем на серверах виртуализации нашей компании).

Однако это означает, что NetworkManager больше не управляет интерфейсом eth0 и отказывается устанавливать VPN-подключения.

Это не беспокоило бы меня так сильно, если бы я мог найти приложение для подключения вместо NM. Но, увы, я ничего не нашел! Был какой-то пакет под названием kvpnc, описанный как GUI для VPN-клиентов, но он постоянно вылетал. Насколько я мог видеть, не было никакой альтернативной рабочей VPN GUI.

У других людей возникают похожие проблемы:сетевой мост - без разрушения сетевого менеджера но этот парень просто вернулся в Нью-Мексико и настроил маршрутизацию вместо моста, вместо того чтобы найти альтернативный VPN-клиент.

Есть идеи?

Редактировать: забыл упомянуть, что в данный момент я использую PPTP и в будущем мне может понадобиться OpenVPN.

решение1

Хорошо, вот как я это сделалвокругпроблема:

1. Удалить сетевой менеджер

sudo apt-get remove network-manager

примечание: прочитайте конец этого поста, чтобы узнать об отказе от ответственности

2. Настройте pptp в командной строке

Мы воспользуемся удобным инструментом, pptpsetupкоторый настроит все необходимые нам файлы конфигурации.

Бегать:
sudo pptpsetup --create $your-connection --server se.rv.er.ip --username $pptp-username --encrypt

заменять :
- $your-connection с коротким именем для нового соединения
- se.rv.er.ip на IP сервера, к которому вы хотите подключиться
- $pptp-username с именем подключающегося пользователя

Сначала вас попросят ввести пароль sudo, затем pptpsetup попросит вас ввести пароль для PPTP-подключения. Введите его, затем нажмите Enter. Будьте осторожны, не перепутайте их. Это создаст все необходимые файлы конфигурации. Если вы не хотите использовать маршрут по умолчанию, который вам проталкивает сервер, добавьте строку с nodefaultrouteуказанием /etc/ppp/peers/$connection-name.

3. Запуск и остановка соединения вручную

sudo pon your-connection
для подключения и

sudo poff your-connection
отключиться.

4. Если вы хотите автоматически добавлять и удалять пользовательские маршруты:

Создайте два скрипта, например:
(поместите их где-нибудь в вашей домашней папке, /root тоже подойдет, если вы не забыли сделать его резервную копию)

pptp-on.sh:

#!/bin/bash
# This script connects us using pre-configured PPTP VPN,
# and then adds all the routes we specify here.

pon your-connection
a=$?

sleep 5

# add routes
if [ $a == 0 ]; then
        # whatever routes you need
        route add -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
        echo "Connected"
fi

exit $a

pptp-off.sh:

#!/bin/bash

poff your-connection

a=$?

# delete routes
if [ $a == 0 ]; then
        #specify whatever routes you have here
        route del -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
        echo "Disconnected"
fi

exit $a

Они должны принадлежать пользователю root: sudo chown root:root pptp-on.sh pptp-off.sh. Сделайте их исполняемыми: sudo chmod +x pptp-on.sh pptp-off.sh
Назовите их так, как вам удобно, чтобы вы знали, для чего они нужны.

5. Создание настольных лаунчеров

Я хотел иметь лаунчеры рабочего стола, которые я мог бы просто нажать вместо того, чтобы запускать скрипты вручную каждый раз, когда я подключаюсь и отключаюсь. Для этого я создал два лаунчера рабочего стола, которые запускают gksudo /path/to/pptp-on.shи gksudo /path/to/pptp-off.shсоответственно. Я использовал Marian Lux-esСоздать лаунчердоступно в Центре программного обеспечения Ubuntu. Погуглите, как это сделать, я не буду писать об этом здесь (потому что я ленивый).

Вот и все. Вы можете иметь столько разных подключений, сколько захотите, все они легко включаются и выключаются с помощью лаунчеров. Просто повторите все шаги для каждого дополнительного подключения.

Но будьте осторожны, как уже было сказано, это не исправление, а решение. Исправление будет, когда NM получит встроенную поддержку сетевых мостов, что, если я правильно понял, уже сделано в 13.04. Это просто предназначено для людей вроде меня, которые планируют держаться за 12.04 как можно дольше (я пробовал 12.10, но у него были большие проблемы, такие как несовместимость с моей видеокартой ATI, множество ошибок и т. д.), или по крайней мере до следующего релиза LTS или перехода на новое/более новое оборудование.

Связанный контент