- Настройка VPN через PPTP
- Установка PPTP
- Запуск и остановка
- Содержание файла visconn :
- Содержание файла disconn :
- Установка маршрутов
- VPN на Slackware 13
- VPN на CRUX 2.6
- Автозапуск интернета
- Записки IT специалиста
- Настройка PPTP подключения в Ubuntu Server.
- Записки IT специалиста
- Настраиваем VPN сервер. Часть 3 — PPTP. Платформа Linux.
- Настройка сервера PPTP
- Настройка клиентских ПК
- Дополнительные материалы:
- HOWTO: PPTP: Ubuntu Client connect to Windows VPN Server
Настройка 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.
Для работы 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, поэтому мы не будем отвлекаться на вещи описанные нами в других статьях, таких как настройку сети и т.п. Если вы испытываете затруднения — предварительно изучите другие наши материалы.
Практическое знакомство с 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 перенос строки.
Наш сервер готов к работе.
Настройка клиентских ПК
В общем случае достаточно настроить 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.
- $ apt-get install network-manager-pptp
- $ sudo /etc/init.d/network-manager restart
- Click the NetworkManager Applet
- VPN Connection -> Configure VPN -> -> Add
- Choose
-> Create
, , and , KEEP ONLY and SELECTED.
Hope this HOWTO can save a tree and a kitten.