Поиск (ключи):

ПРОГРАММЫ

СТАТЬИ

СОВЕТЫ

ФОРУМ

WIKI

НОВОСТИ (+)

MAN'ы

ДОКУМЕНТАЦИЯ

ХОТИТЕ СОЗДАТЬ «РАБОТАЮЩИЙ» САЙТ...
Внимание! Всё ниже сказанное относится к сети Cinet города Королёва
применительно
к
дистрибутиву
Slackware 11.0 (ядро 2.6....
Здесь может быть и ip-адрес, но это неудачное решение - а если
провайдер его сменит? Раз провайдер даёт имя серверу, лучше...
-pap
nobsdcomp
nodeflate
defaultroute
#persist

Теперь что касается сохранения маршрута к локальным адресам. В моём
случае...
служат для запуска и остановки разных служб при старте и выключении
системы. Разве у нас не тот случай? Для поддержания ра...
}
stop() { # закрытие соединения с vpn-сервером
echo -n "Stopping VPN connection... "
echo -e "nStopping at `date`n$LINE" ...
start
;;
'boot')
# при загрузке системы нужно очистить флаг соединения
# на тот случай если перед этим система была заверш...
# ждём 5 минут прежде чем проверять соединение снова
sleep 300
done

Ещё
я
добавил
установку
соединения
при
загрузке. В фа...
* Несколько веток о настройке VPN в разных дистрибутивах, в
частности: Настройка VPN клиента в linux, есть предложение
сде...
Новые материалы на IBM developerWorks

Дистрибутивы Linux на USB накопителе (USB
flash 8Gb)

Вступай в сообщество профессио...
Upcoming SlideShare
Loading in …5
×

Net2

180 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
180
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Net2

  1. 1. Поиск (ключи): ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ ХОТИТЕ СОЗДАТЬ «РАБОТАЮЩИЙ» САЙТ? ГОТОВЫЕ CMS С БЕСПЛАТНЫМ РАЗМЕЩЕНИЕМ КУПИТЬ БЕЗЛИМИТНЫЙ ХОСТИНГ Настройка PPTP клиента в Linux (pptp vpn linux ppp) << Предыдущая ИНДЕКС Ключевые слова: pptp, vpn, linux, ppp, Исправить (найти похожие документы) From: vadim303 <http://vadim303.wordpress.com>; Date: Sun, 29 Feb 2008 17:02:14 +0000 (UTC) Subject: Настройка PPTP клиента в Linux Оригинал: http://vadim303.wordpress.com/linux/linux-vpn/ Мой провайдер предоставляет доступ в интернет посредством VPN. В истории этого протокола я не разбирался, но сложилось впечатление, что к созданию приложило руку Microsoft. Как бы то ни было, но Linux в плане настройки изначально сильно не дружил с VPN. Но времена меняются и рецептов для соединения Linux-станции с VPN-сервером в сети появилось предостаточно, в том числе и на русском. Но одни у меня не заработали, другие были не слишком удобны в использовании, третьи... вобщем пришлось для себя собирать рецепт по кусочкам из разных мест. src / Печать Следующая >>
  2. 2. Внимание! Всё ниже сказанное относится к сети Cinet города Королёва применительно к дистрибутиву Slackware 11.0 (ядро 2.6.17.13). Настройки для вашего провайдера могут отличаться. Пытайте админов. :) Итак, вот что у меня в результате получилось: Во первых нам понадобятся установленные пакеты: пакет из дистрибутива Slackware ppp-2.4.4-i486-1.tgz (путь: /дистрибутив/slackware/n/) и пакет PPTP Client (домашняя страница). Для Slackware специально подготовленного пакета pptp не было, так что я взял исходник pptp-1.7.1.tar.gz. Далее стандартная комбинация: $ $ $ $ tar -xvvzf pptp-1.7.1.tar.gz cd pptp-1.7.1 make sudo make install Замечу, что установка PPTP Client предполагает что pppd установлен в /usr/sbin.Если это не так - читайте INSTALL. Далее, создаём файл /etc/ppp/peers/имя_соединения (я соединение назвал cinet) со следующим содержимым: name ваш_логин remotename PPTP debug lock deflate 0 defaultroute pty "pptp адрес_vpn_сервера --nolaunchpppd" Свой логин я не скажу :) а vpn сервер в моём случае это vpn.cinet.lan.
  3. 3. Здесь может быть и ip-адрес, но это неудачное решение - а если провайдер его сменит? Раз провайдер даёт имя серверу, лучше пользовать именно его. Только одно но: важно, чтобы при установке соединения не потерялся маршрут к локальному dns (если кто забыл, например я :) , то адрес dns прописывается в /etc/resolv.conf). Указание debug можно всегда удалить, но если что-то не работает, то эта опция включает подробный вывод ошибок в лог, который обычно помогает определить в чём проблема. Указание defaultroute при установке соединения, как и положено, перенаправляет весь трафик на шлюз vpn. Но при этом у меня становятся недоступны адреса в локальной сети, в т.ч. и dns-сервер. Как это обойти читаем чуть дальше. Пароль для соединения строкой вида: прописывается в файле /etc/ppp/chap-secrets ваш_логин * "ваш_пароль" * В файле /etc/ppp/options.pptp идут настройки характерные для моего провайддера. У вас они могут быть и другие. В частности, бывает нужно включать шифрование - тогда смотрите опции mppe, в добавок должна быть поддержа mppe ядром (включена начиная с 2.6.15. Если у вас ниже читайте страницу PPTP Client-а). Если не знаете параметры mtu и mru , то их обычно можно поставить 1000. Ещё вычитал про параметр persist он заставляет пересоединяться при потери соединения. Пока я его работу не проверял, так что в конфиге он закомментирован. Когда с ним поэкспериментирую - расскажу. Но это всё лирика, а вот и содержимое моего файла /etc/ppp/options.pptp : lock mtu 1490 mru 1490 deflate 0 auth +chap
  4. 4. -pap nobsdcomp nodeflate defaultroute #persist Теперь что касается сохранения маршрута к локальным адресам. В моём случае все локальные адреса удовлетворяют маске 10.*.*.*. Поэтому можно перед соединением с vpn удалить маршрут по умолчанию (он будет установлен на vpn-шлюз по ходу установки соединения) и добавить маршрут к адресам локальной сети: # route del default # route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.0.50 здесь 10.0.0.0 - адрес локальной сети, 255.0.0.0 - её маска удовлетворяющая вышеописанному случаю, ну и 10.0.0.50 - адрес шлюза в моей локальной подсетке. В принципе теперь достаточно дать команду # pppd call имя_соединения и весь интернет в наших руках. Лишь бы денег хватило :) Но во-первых это надо делать с правами рута, а во-вторых слишком много каждый раз набирать. Конечно в таких случаях пишется скрипт и прописываются права на его исполнение с помощью команды sudo обычному пользователю (права пишутся в файле /etc/sudoers). Я поначалу так и сделал. Но потом возникла необходимость в отключении соединения или его рестарте, а также автоматическом запуске соединения при загрузке системы. Вобщем в результате был написан скрипт похожий на те, что лежат в /etc/rc.d и
  5. 5. служат для запуска и остановки разных служб при старте и выключении системы. Разве у нас не тот случай? Для поддержания работы соединения, сама команда соединения была обрамлена циклом и вынесена в отдельный скрипт. Итак, собственно скрипты: Файл /etc/rc.d/rc.vpn: #!/bin/sh GATEWAY="10.0.0.50" LINE="--------------------------------------------" VPNFLAG="/tmp/vpn-connected" export VPNFLAG VPNLOG="/var/log/vpn.log" export VPNLOG start() { # установка соединения с vpn-сервером echo -n "Starting VPN connection... " # проверяем: включено ли уже соединение if [ ! -f $VPNFLAG ]; then # не включено - включаем echo -e "n$LINEnStarting at `date`" >> $VPNLOG # устанавливаем флаг необходимости переподключения echo `date` > $VPNFLAG # подготавливаем маршруты к поднятию нового интерфейса route del default 2>/dev/null route add -net 10.0.0.0 netmask 255.0.0.0 gw $GATEWAY 2>/dev/null # запускаем цикл проверки и установки соединения в фоне /sbin/vpn.sh & echo "done." else # уже включено - ничего не делаем echo "already been stated." fi
  6. 6. } stop() { # закрытие соединения с vpn-сервером echo -n "Stopping VPN connection... " echo -e "nStopping at `date`n$LINE" >> $VPNLOG # удаляем флаг необходимости переподключения if [ -f $VPNFLAG ]; then rm -f $VPNFLAG fi # проверяем запущен ли pptp pptp_num=`ps axw | grep "pptp:" | wc -l` # считаем число процессов содержащих строку pptp: if [ $pptp_num -gt 1 ]; then # если больше 1 (вместе с фильтром grep "pptp:"), то убиваем соединения killall pppd 2>/dev/null # восстанавливаем маршруты route del default 2>/dev/null route add default dev eth0 2>/dev/null echo "done." else echo "VPN not started." fi } case "$1" in 'start') # установка соединения с vpn-сервером start ;; 'stop') # закрытие соединения с vpn-сервером stop ;; 'restart') # перезапуск соединения с vpn-сервером stop sleep 3
  7. 7. start ;; 'boot') # при загрузке системы нужно очистить флаг соединения # на тот случай если перед этим система была завершена некорректно if [ -f $VPNFLAG ]; then rm -f $VPNFLAG fi start ;; *) # вывод информации об использовании скрипта echo -e "Usage: `basename $0` {start|stop|restart}" esac Файл /sbin/vpn.sh: #!/bin/sh # пока включён флаг нужно поддерживать включённым соединение с VPN: while [ -f $VPNFLAG ]; do pptp_num=`ps axw | grep "pptp:" | wc -l` # считаем число процессов содержащих строку pptp: # должно быть 3 (вместе с фильтром grep "pptp:"): if [ $pptp_num -lt 3 ]; then # меньше 3-х. значит что-то не так с соединением. echo "let's go:" >> $VPNLOG # на всякий случай убиваем все оставшиеся процессы: killall pptp 2>/dev/null sleep 3 # стартуем pptp pppd call cinet >> $VPNLOG echo -e "run at `date`" >> $VPNLOG fi
  8. 8. # ждём 5 минут прежде чем проверять соединение снова sleep 300 done Ещё я добавил установку соединения при загрузке. В файле /etc/rc.d/rc.M, сразу после строк запуска /etc/rc.d/rc.inet2 добавил строки: # Start VPN if [ -x /etc/rc.d/rc.vpn ]; then . /etc/rc.d/rc.vpn boot fi Ну и разрыв соединения при перезагрузке ситемы. Для этого в файле /etc/rc.d/rc.6 непосредственно перед убийством процессов pppd (# Try to shutdown pppd) добавляем строки: # Stop VPN if [ -x /etc/rc.d/rc.vpn ]; then /etc/rc.d/rc.vpn stop fi Вот вроде пока это всё, что касается настройки VPN на моей машине. Использованные материалы при создании всего этого: * прежде всего информация по параметрам соединения предоставленная провайдером - без неё никак. Разве что методом тыка, но тыкать можно долго :) ;
  9. 9. * Несколько веток о настройке VPN в разных дистрибутивах, в частности: Настройка VPN клиента в linux, есть предложение сделать универсальный скрипт , [HOWTO] Настройка VPN в Debian GNU/Linux , [HOWTO] Настройка VPN в ALT Linux 2.4 Master, Полная и рабочая инструкция << Предыдущая ИНДЕКС Ваш комментарий Имя: E-Mail: Заголовок: Настройка PPTP клиента в Linux (pptp vpn linux Текст: Отправить Исправить src / Печать Следующая >>
  10. 10. Новые материалы на IBM developerWorks Дистрибутивы Linux на USB накопителе (USB flash 8Gb) Вступай в сообщество профессионалов IBM! Нас уже более 15000 только в России. Закладки на сайте Проследить за страницей Флеш-накопитель содержит полноценный дистрибутив Linux Mint или Ubuntu, который может быть использован для повседневной работы. Все внесённые пользователем изменения, такие как установленные обновления, сохранённые документы, персональные настройки и т.п. будут сохраняться при перезагрузке, при этом на локальный диск записи не производится. На флеш диске содержится и обычный установочный образ дистрибутива. Created 1996-2014 by Maxim Chirkov Добавить, Реклама, Вебмастеру, ГИД

×