Linux pptp to windows

Настройка VPN через PPTP

Многие провайдеры используют технологию VPN для предоставления доступа в интернет. На сайтах провайдеров есть, как правило, настройки лишь для Windows. В связи с этим предлагается способ установки VPN-соединения под Linux с использованием pptp-клиента.

Установка PPTP

Для подключения к интернет с использованием PPTP, необходима поддержка протоколов на уровне ядра. А она есть у всех, кто здоров сам (не удалял её при пересборке ядра) и пользуется дистрибутивами, собранными психически здоровыми людьми.

В первую очередь необходимы пакеты ppp и pptp . Первый пакет, как правило, включён в состав дистрибутива, а второй необходимо скачать и установить. При отсутствии пакета pptp , собранного под определённый дистрибутив, можно скачать его с сервера SourceForge или скачать тарболл, а затем собрать программный пакет или выполнить установку « классическим » способом.
В файл /etc/ppp/chap-secrets дописывается строка:

Здесь указываем свои логин и пароль.

Редактируем файл (при отсутствии создаем его) /etc/ppp/peers/pptp :

Здесь указываем свой логин и адрес vpn-сервера.

Запуск и остановка

В /usr/local/sbin создаем файлы visconn и disconn :

Содержание файла visconn :

Содержание файла disconn :

IP серверов имён следует поменять на IP, выданные провайдером.

Устанавливаем права на файлы:

Теперь можно подключаться к интернет, запуская visconn , и отключаться, запуская disconn .

Установка маршрутов

Для того, чтобы при установке соединения не происходило зацикливания GRE пакетов, следует дописать необходимые маршруты в скрипт установки соединения или скрипт, исполняемый при старте системы ( rc.local ).

Здесь — адрес vpn-сервера.

В скрипт « автозапуска » rc.local (для установки маршрутов при загрузке компьютера) записываем все IP, полученные командой host (каждый с новой строки):

VPN на Slackware 13

В некоторых сетях возникают проблемы с выходом в локальную сеть. Решаются они довольно просто использованием пакета dhcpcd-2.0.8-i486-1 из Slackware 12.2.

VPN на CRUX 2.6

В CRUX для запуска сетевого соединения необходимо отредактировать файл /etc/rc.d/net (это описано в руководстве по установке):

В большинстве случаев опции и их значения -t 10 -h $HOSTNAME можно опустить.

Далее редактируем файл /etc/rc.conf , вписав запуск сценария net и dhcp для сетевой карты:

Последним «штрихом» будет вписывание в файл /etc/rc.local выше строк route add [адрес_который_вы_получили_командой_host] eth0 следующей строки:

Автозапуск интернета

Для автозапуска сетевого соединения при загрузке компьютера в файл rc.local дописываем последней строкой:

Для написания были использованы материалы форумов. Работа скриптов проверялась на дистрибутивах Slackware, Arch Linux, CRUX.

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Настройка PPTP подключения в Ubuntu Server.

Настройка PPTP подключения в Ubuntu Server.

Данной статьей мы продолжим тему настройки коммутируемых соединений в среде Ubuntu Server. Сегодня рассмотрим настройку PPTP подключений, которые могут использоваться как для подключения к интернету, так и для организации корпоративных сетей. Несмотря на то, что материал рассчитан в первую очередь на системных администраторов, он будет полезен всем пользователям Linux.

Читайте также:  Windows update assistant latest version

Для работы Ubuntu Server в качестве PPTP-клиента необходимо установить пакет pptp-linux:

Основные настройки пакета, применяемые ко всем PPTP соедниненям по умолчанию хранятся в /etc/ppp/options.pptp, в большинстве случаев менять их нет необходимости, однако вы можете добавить какие-то свои опции, общие для всех соединений.

Для настройки подключения создадим в /etc/ppp/peers файл настроек с его именем:

Откроем его и внесем следующее содержимое:

В нашем примере создано PPTP подключение для корпоративной сети, поэтому мы добавили опцию «не создавать маршрут по умолчанию», если вы настраиваете соединение для доступа в интернет, то нужно наоборот разрешить создание нулевого маршрута, для этого укажите опции:

Опция «включаем поддержку MPPE» не является обязательной и требуется только тогда, когда сервер использует этот тип шифрования. Номер ppp интрефейса создает для подключения всегда один и тот же сетевой интерфейс, в нашем случае это будет ppp12.

Отдельно стоит остановиться на наборе опций для автоматического переподключения. Мы настоятельно советуем ограничить количество попыток (0 — неограничено) разумным числом и не ставить слишком маленький промежуток времени. Это позволит ограничить нагрузку на VPN-сервер в случае проблем с подключением (например нет денег на балансе или изменились учетные данные).

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

Теперь укажем авторизационные данные для нашего пользователя, для этого в файл /etc/ppp/chap-secrets добавим следующую строку:

которая предусматривает использование указанных учетных данных, где vpnpassword -пароль соединения, для удаленного соеднинения TEST (это имя мы указали в опции remotename). Для доменного пользователя строка будет выглядеть так:

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

В консоли сервера также видим подключившегося клиента:

В дальнейшем управлять соединением можно при помощи команд pon и poff (подключить и отключить соответственно).

Чтобы автоматически поднимать соединение при запуске системы в файл /etc/network/interfaces добавим секцию:

Для доступа в корпоративную сеть может понадобиться добавление статических маршрутов, это тоже можно делать автоматически, для этого в конец созданой секции добавим строку:

Мы привели реальный маршрут используемый в нашем случае, вы должны указать здесь свои данные, если они не известны — уточните их у системного администратора.

Перезапустим сеть и убедимся что все работает правильно:

Для получения списка маршрутов воспользуйтесь командой route, также можно пропинговать какой-нибудь внутренний хост.

При подключении к сети интернет через PPTP бывают ситуации, когда, несмотря на указанные опции, нулевой маршрут через туннель не устанавливается. В этом случае можно в конец соответсвующей секции в /etc/network/interfaces добавить:

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • Настраиваем VPN сервер. Часть 3 — PPTP. Платформа Linux.

Настраиваем VPN сервер. Часть 3 — PPTP. Платформа Linux.

Рассмотрев в предыдущих частях теоретические вопросы перейдем к практической реализации. Сегодня мы рассмотрим создание VPN сервера PPTP на платформе Ubuntu Server. Данный материал рассчитан на читателей, имеющих навыки работы с Linux, поэтому мы не будем отвлекаться на вещи описанные нами в других статьях, таких как настройку сети и т.п. Если вы испытываете затруднения — предварительно изучите другие наши материалы.

Читайте также:  Top windows 10 сборок

Практическое знакомство с VPN мы начнем с PPTP, как наиболее простого в реализации. Однако следует помнить о том, что это слабозащищенный протокол и его не следует использовать для доступа к критически важным данным.

Рассмотрим схему, которую мы создали в нашей тестовой лаборатории для практического знакомства с данной технологией:


У нас имеется локальная сеть 10.0.0.0/24 с сервером терминалов 10.0.0.2 и роутером10.0.0.1, который будет выполнять функции VPN сервера, для VPN мы зарезервировали сеть 10.0.1.0/24. Внешний интерфейс сервера имеет условный выделенный IP адрес X.X.X.X. Наша цель — предоставить удаленным клиентам доступ к терминальному серверу и общим ресурсам на нем.

Настройка сервера PPTP

Установим пакет pptpd реализующий функционал PPTP VPN:

Теперь откроем файл /etc/pptpd.conf и зададим основные настройки VPN сервера. Перейдем в самый конец файла, где укажем адрес сервера в VPN сети:

И диапазон адресов для выдачи клиентам:

Адресов нужно выделить не меньше, чем возможных одновременных соединений, лучше с небольшим запасом, так как их увеличение без перезапуска pptpd невозможно. Также находим и раскомментируем строку:

Это позволит передавать VPN клиентам широковещательные пакеты внутренней сети.

Также можно использовать опции listen и speed, первая позволяет указать IP адрес локального интерфейса для прослушивания входящих PPTP соединений, второй указать скорость VPN соединений в бит/с. Например разрешим серверу принимать PPTP соединения только с внешнего интерфейса:

Более тонкие настройки находятся в файле /etc/ppp/pptpd-options. Настройки по умолчанию вполне соответствуют нашим требованиям, однако кратко рассмотрим некоторые из них, чтобы вы имели представление о их назначении.

Секция #Encryption отвечает за шифрование данных и проверку подлинности. Данные опции запрещают использование устаревших и небезопасных протоколов PAP, CHAP и MS-CHAP:

Далее предписывается использовать безопасный протокол проверки подлинности MS-CHAP v2 и 128-битное шифрование MPPE-128:

Следующая секция #Network and Routing, здесь следует обратить внимание на опцию ms-dns, которая позволяет использовать DNS сервер во внутренней сети. Это может быть полезно при доменной структуре сети или наличия в ней DNS сервера который содержит имена всех ПК сети, что дает возможность обращаться к компьютерам по их именам, а не только по IP. В нашем случае данная опция бесполезна и закомментирована. Подобным образом можно задать и адрес WINS сервера опцией ms-wins.

Здесь же находится опция proxyarp, включающая, как несложно догадаться из названия, поддержку сервером Proxy ARP.

В секции #Miscellaneous содержится опция lock, которая ограничивает клиента одним подключением.

На этом настройку сервера можно считать законченной, осталось создать пользователей. Для этого внесем необходимые записи в /etc/ppp/chap-secrets. Записи должны иметь вид:

Первая запись позволяет подключаться к серверу пользователю ivanov c паролем 123 и присваивает ему произвольный IP адрес, вторая создает пользователя petrov с паролем 456, которому при подключении будет присваиваться постоянный адрес 10.0.1.201.

Важное замечание! Если pptpd не хочет перезапускаться, зависая на старте, а в /var/log/syslog добавляя строку long config file line ignored обязательно добавьте в конец файла /etc/pptpd.conf перенос строки.

Читайте также:  Mac os terminal alternatives

Наш сервер готов к работе.

Настройка клиентских ПК

В общем случае достаточно настроить VPN соединение с опциями по умолчанию. Однако мы советуем явно указать тип соединения и отключить лишние протоколы шифрования.

Далее, в зависимости от структуры сети, необходимо указать статические маршруты и основной шлюз. Эти вопросы подробно разбирались в предыдущих частях.

Устанавливаем VPN соединение и пробуем пропинговать какой либо ПК в локальной сети, мы без каких либо затруднений получили доступ к терминальному серверу:

Теперь еще одно важное дополнение. В большинстве случаев доступ к компьютерам локальной сети будет возможен только по IP адресам, т.е. путь \\10.0.0.2 будет работать, а \\SERVER — нет. Это может оказаться неудобным и непривычным для пользователей. Существует несколько способов решения данной проблемы.

Если локальная сеть имеет доменную структуру, достаточно указать DNS сервером для VPN подключения DNS сервер контроллера домена. Воспользуйтесь опцией ms-dns в /etc/ppp/pptpd-options сервера и данные настройки будут получены клиентом автоматически.

Если DNS сервер в локальной сети отсутствует, то можно создать и использовать WINS сервер, информацию о нем также можно автоматически передавать клиентам при помощи опции ms-wins. И наконец, если удаленных клиентов немного, использовать на клиентских ПК файлы hosts (C:\Windows\System32\drivers\etc\hosts), куда следует добавить строки вида:

По одной для каждого ПК в локальной сети к ресурсам которого требуется доступ.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

HOWTO: PPTP: Ubuntu Client connect to Windows VPN Server

The company I work for just starting to use Windows ISA Server (or whatever) in some places.
And also, they use the Windows server to be a VPN server.
As Micro$oft doesn’t officially support OpenVPN, and we don’t consider IPsec to be used for end users, they decide to use the fu*king insecure PPTP, which I would definitely never wanna try.
That’s where my Nightmare starts.

After some tries, I can use the VPN on my Android phones, and it seems works fine on iPhone, too.
But I just can’t get it work on my Ubuntu boxes. The VPN connection just cannot established and I got error in my /var/log/syslog like this:

No matter what, I got it work in the end, finally.
And these are the steps how to get it work.

  1. $ apt-get install network-manager-pptp
  2. $ sudo /etc/init.d/network-manager restart
  3. Click the NetworkManager Applet
  4. VPN Connection -> Configure VPN -> -> Add
  5. Choose

-> Create

  • Fill out those neccessary informations and click Advanced
  • In Authentication section, CANCEL

    , , and , KEEP ONLY and SELECTED.

  • In Security and Compression section, SELECT , and choose Security to be
  • OK -> Accept -> Close
  • Now click the NetworkManager Applet
  • Click VPN Connection and click the profile you just created.
  • Wait for few seconds till it get connected.
  • Done.
  • Hope this HOWTO can save a tree and a kitten.

    Оцените статью