1

Тема: Настройка интернета от Комтек'а через VPN.

Итак приступим.

Для начала необходимо где-то достать (скачать например, или в большинстве дистрибутивов уже присутствует) пакет pptp-linux и установить его любым доступным способом smile))

Затем надо поправить конфиги: /etc/ppp/options и /etc/ppp/options.pptp. (Приведу параметров по минимуму, в конце статьи приведу полный список).

Содержимое файла /etc/ppp/options должно быть таким:

lock
noauth
defaultroute
usepeerdns

Содержимое файла /etc/ppp/options.pptpd должно быть таким:

lock
noauth
nobsdcomp
nodeflate

В консоли набираем:
# pptp-command setup
запустится скрипт настройки туннеля на экране появится список выбора вариантов настройки:

1.) Manage CHAP secrets
2.) Manage PAP secrets
3.) List PPTP Tunnels
4.) Add a NEW PPTP Tunnel
5.) Delete a PPTP Tunnel
6.) Configure resolv.conf
7.) Select a default tunnel
8.) Quit
?:
<вводим 1 и жмём enter>

Появится:
1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) Quit
?:
<вводим 2 и жмём enter>

Появится:
Add a NEW CHAP secret.

NOTE: Any backslashes (\) must be doubled (\\).

Local Name:

This is the 'local' identifier for CHAP authentication.

NOTE: If the server is a Windows NT machine, the local name
          should be your Windows NT username including domain.
          For example:

                  domain\\username

Local Name: <вводим ваш логин для подключения к инету и жмём enter>

Появится:
Remote Name:

This is the 'remote' identifier for CHAP authentication.
In most cases, this can be left as the default. It must be
set if you have multiple CHAP secrets with the same local name
and different passwords. Just press ENTER to keep the default.

Remote Name [PPTP]: <просто жмём enter, нам подходит параметр по умолчанию, тобиш PPTP>

Появится:
Password:

This is the password or CHAP secret for the account specified. The
password will not be echoed.

Password: <Вводим пароль для подключения к инету и жмём enter>

Появится:
Adding secret qwe PPTP password *

1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) Quit
?:
<вводим 4 и жмём enter>

Появится самый первый список:
1.) Manage CHAP secrets
2.) Manage PAP secrets
3.) List PPTP Tunnels
4.) Add a NEW PPTP Tunnel
5.) Delete a PPTP Tunnel
6.) Configure resolv.conf
7.) Select a default tunnel
8.) Quit
?:
<вводим 4 и жмём enter>

Появится:
Add a NEW PPTP Tunnel.

1.) Other
Which configuration would you like to use?:
<Вводим какую конфигурацию хотим использовать в данном случае вводим 1, так как другой не дано и жмём enter>

Появится:
Tunnel Name: <вводим имя туннеля который хотим создать (может быть любым если туннеля с именем которое вводится не существует) и жмём enter>

Появится:
Server IP: <нада вввести IP сервера к которому будет осуществлятся подключение, в нашем случае мы подключаемся к комтек'у и нада ввести 192.168.1.1 и нажать enter>

Появится:
What route(s) would you like to add when the tunnel comes up?
This is usually a route to your internal network behind the PPTP server.
You can use substitution keywords as in /etc/pptp.d/ config file
- TUNNEL_DEV is the tunnel interface.
- DEF_GW is the existing default gateway.
- IPLOCAL is the local IP address.
- IPREMOTE is the remote IP address.
The syntax to use is the same as the route(8) command.
Enter a blank line to stop.
route:
<Здесь нас спрашивают какие маршруты мы хотим добавить после того как будет осуществлено подключение. Нам ничего ненадо, так что просто жмём enter>

Появится:
Local Name and Remote Name should match a configured CHAP or PAP secret.
Local Name is probably your NT domain\username.
NOTE: Any backslashes (\) must be doubled (\\).

Local Name: <Здесь вводим логин для подключения к инету>

Появится:
Remote Name [PPTP]: <опять жмём enter, PPTP нас устраивает>

Появится изначальное меню, набираем 8 и жмём enter, скрипт настройки завершится мы попадём обратно в командную строку.

Теперь необходимо прописать маршрут до сервера, для этого в консоли набираем:
# route add -host 192.168.1.1 gw 172.19.12.126 (помоему такой шлюз)
# route del default (удаляем маршрут поумолчанию)

Далее запускаем:
# pptp-command start
Нас спросят какой туннель мы хотим использовать, вводим номер туннеля из списка и жмём enter.
В случае успешного соединения на экране появятся ваши IP адреса и сообщение что сеть была поднята на интерфейсе ppp*.

Вот и вся настройка. Занимает 2 минуты времени. Чтобы отключиться от интернета и восстановить доступ к сети набираем:
# pptp-command stop
# route add default gw 172.19.12.126

Как и обещал список доступных опций:
# async карта символов -- 32-bit hex; каждый бит - символ, который надо
  # представить в виде escape-последовательности, чтобы pppd мог его принять.
  # 0x00000001 - это маска для '\x01', а 0x80000000 - маска для '\x1f'.
  #asyncmap 0

  # Требование для удаленной стороны назвать себя перед тем как начнется обмен
  # пакетами.
  #auth

  # Использовать аппаратное управление потоком данных (напр., RTS/CTS), чтобы
  # управлять потоком данных на последовательном порту
  #crtscts

  # Использовать программное управление потоком данных  (напр., XON/XOFF), чтобы
  # управлять потоком данных на последовательном порту
  #xonxoff

  # Добавить маршрут по умолчанию в системную таблицу маршрутизации,
  # используя удаленную сторону как шлюз, когда договоренность IPCP успешно
  # достигнута.  Эта запись удаляется при завершении связи
  #defaultroute

  # Определяет, что некоторые символы должны быть за'escape'лены при передаче
  # (Независимо от того, просила ли удаленная сторона их escape'ить своей
  # async картой управляющих символов). Символы, которые надо escape'ить
  # указываются в виде списка шестнадцатиричных чисел, разделенных запятыми.
  # Заметьте, что для опции escape могут быть указаны почти все символы, в
  # отличие от опции asyncmap, которая позволяет указывать только управляющие
  # символы. Символы, которых нельзя escape'ить - это 0x20 - 0x3f или 0x5e.
  #escape 11,13,ff

  # не использовать линии управления модемом.
  #local

  # Указывает, что pppd должен использовать lock в стиле UUCP на
  # последовательное устройство, чтобы исключить одновременый доступ к
  # устройству
  #lock

  # Использовать линии управления модемом. На Ultrix эта опция означает
  # управление потоком данных, как опция crtscts.  (Эта опция не полностью
  # выполняется)
  #modem

  # Установаить значение MRU [Maximum Receive Unit] в <n> при договренности.
  # pppd запросит удаленную сторону отправлять пакеты не более, чем по <n> байт.
  # Минимальное значение MRU 128. Значение MRU по умолчанию 1500. Для
  # медленных линков рекомендуется 296 (40 байт для заголовка TCP/IP + 256 байт
  # данных).
  #mru 542

  # Установить сетевую маску интерфейса в <n>, 32-битная сетевая маска в
  # "десятично-точечной" нотации (напр., 255.255.255.0).
  #netmask 255.255.255.0

  # Запретить поведение по умолчанию, когда не указан локальный IP адрес,
  # которое определяет (если возможно) локальный IP адрес по имени хоста
  # С этой опцией удаленная сторона должна будет обеспечить локальный IP
  # адрес в течение IPCP преговоров (если она не определена явно в командной
  # строке или в файле options).
  #noipdefault

  # Разрешить опцию "passive" в LCP.  С этой опцией pppd будет пытаться
  # инициировать соединение; если ответ от другой стороны не принят, то
  # pppd будет пассивно ожидать правильный LCP пакет от другой стороны
  # (вместо выхода, как делается без этой опции).
  #passive

  # С этой опцией pppd не будет передавать LCP пакеты для инициации соединения
  # пока не придет правильный LCP пакет от другой стороны (как опция "passive"
  # в старых версиях pppd).
  #silent

  # Не требовать или не разрешать договариваться о любых опциях LCP и IPCP
  # (использовать значения по умолчанию).
  #-all

  # Запретить договариваться о сжатии адреса/управления (используется
  # по умолчанию, т.е. адресные/управляющие поля запрещены).
  #-ac

  # Запретить договариваться о asyncmap (используется asyncmap по умолчанию, т.е.
  # escape все управляющие символы).
  #-am

  # Не переходить в фоновый режим (иначе pppd бдет делать так, если
  # последовательной устройство указано).
  #-detach

  # Запретить договариваться о IP адресе (С этой опцией удаленный IP
  # адрес должен указываться опцией командной строки или в файле options)
  #-ip

  # Запретить договариваться о магических числах. С этой опцией pppd не может
  # определить looped-back линию.
  #-mn

  # Запретить договариваться о MRU [Maximum Receive Unit]
  # (используется по умолчанию, т.е. 1500).
  #-mru

  # Запретить договариваться о сжатии полей протокола (используется по
  # умолчанию, т.е. сжатие полей протокола запрещено).
  #-pc

  # Требует, чтобы другая сторона назвала себя используя PAP.
  # Это требует ДВУНАПРАВЛЕННОЙ аутентификации - НЕ используйте эту
  # опцию для стандартной аутентификации PAP на ISP, так как при этом требуется,
  # чтобы машина ISP аутентифицировала себя на вашей машине (а она это не сможет
  # сделать)
  #+pap

  # Не соглашаться с аутентификацией PAP.
  #-pap

  # Требует, чтобы другая сторона назвала себя используя CHAP [Cryptographic
  # Handshake Authentication Protocol].
  # Это требует ДВУНАПРАВЛЕННОЙ аутентификации - НЕ используйте эту опцию
  # для стандартной аутентификации CHAP на ISP, так как при этом требуется,
  # чтобы машина ISP аутентифицировала себя на вашей машине (а она это не сможет
  # сделать)
  #+chap

  # Не соглашаться с аутентификацией CHAP.
  #-chap

  # Запретить обсуждение сжатия IP заголовков в стиле Van Jacobson
  # (используется по умолчанию, т.е. сжатия нет)
  #-vj

  # Увеличить уровень отладки (то же что -d). Если эта опция есть, pppd
  # бедет записывать в журнал все прибывшие и отправленные пакеты в читабельной
  # форме. Пакеты регистрируются в лог-файлах через syslog со средством daemon
  # и уровнем отладки. Эта информация может быть перенаправлена в файл
  # соответствующей установкой /etc/syslog.conf (см. syslog.conf(5)).  (Если
  # pppd скомпилирован с разрешенной extra отладкой, он будет записывать
  # сообщения в журнал, используя средство local2 вместо daemon).
  #debug

  # Добавить имя домена <d> к локальному имени хоста для целей аутентификации.
  # Например, если gethostname() возвращает имя porsche, но FQDN -
  # porsche.Quotron.COM, то вы должны установить эту опцию, чтобы имя домена
  # было Quotron.COM.
  #domain <d>

  # Разрешить отладочный код в PPP драйвере на уровне ядра.  Аргумент n
  # это число-комбинация следующих значений: 1 - разрешить общие отладочные
  # сообщения, 2 - запросить, надо ли печатать содержимое принимаемых пакетов
  # и 4 - запросить, надо ли печатать содержимое отправляемых пакетов
  #kdebug n

  # Установть значение MTU [Maximum Transmit Unit] в <n>. Пока другая сторона
  # на попросит меньшее значение при договоре о MRU, pppd будет требовать у
  # сетевого кода ядра отправлять пакеты данных не более, чем по n байт
  # через сетевой интерфейс PPP.
  #mtu <n>

  # Установить имя локальной системы для аутентификационных целей в <n>.
  # Возможно, ее надо будет установить в ваше имя на вашем ISP,
  # если используется PAP/CHAP.
  #name <n>

  # Установить имя пользователя для аутентификации этой машины на другой стороне
  # используя PAP, в значение <u>.
  # НЕ использовать, если вы использовали опцию 'name'!
  #user <u>

  # Заставить использовать имя хоста как имя локальной системы для
  # аутентификационных целей  (перекрывает опцию name).
  #usehostname

  # Установить имя удаленной системы для аутентификационных целей в <n>.
  #remotename <n>

  # Добавить запись для этой системы в таблицу ARP [Address Resolution Protocol]
  # с IP адресом удаленной системы и Ethernet адресом этой системы
  #proxyarp

  # Использовать базу данных паролей для идентификации удаленной стороны
  # используя PAP.
  #login

  # Если эта опция назначена, pppd будет отправлять кадр LCP echo-request
  # удаленной стороне каждые n секунд. Под Linux, echo-request отправляется
  # когда пакеты не принимаются от удаленной стороны n секунд. Обычно
  # удаленная сторона должна отвечать на echo-request отправкой echo-reply.
  # Эта опция может быть использована с опцией lcp-echo-failure для
  # определения что удаленная сторона больше не соединена.
  #lcp-echo-interval <n>

  # Если эта опция задана, pppd будет считать, что связи с peer нет, если n
  # LCP echo-requests отправлены без приема правильных LCP echo-reply.
  # Если это случилось, pppd завершит связь. Использование этой опции
  # требует ненулевого значения для параметра lcp-echo-interval.
  # Эта опция может быть использована, чтобы разрешить pppd завершать связь,
  # если физическое соединение отсутствует (напр, модем бросил трубку) в
  # ситуациях, когда доступны линии управления модемом.
  #lcp-echo-failure <n>

  # Установить интервал рестарта LCP (пауза возобновления передачи) в <n> секунд
  # (по умолчанию 3).
  #lcp-restart <n>

  # Установить максимальное число передач LCP terminate-request в <n>
  # (по умолчанию 3).
  #lcp-max-terminate <n>

  # Установить максимальное число передач LCP configure-request в <n>
  # (по умолчанию 10).
  # Некоторые PPP сервера долго стартуют. Вам может понадобиться увеличть эту
  # величину, если вы получаете ошибки 'serial line looped back' и вы УВЕРЕНЫ,
  # что корректно регистрируетесь и PPP должен запускаться на сервере.
  #lcp-max-configure <n>

  # Установить максимальное число LCP configure-NAKs, возвращенных перед началом
  # отправки вместо configure-Rejects, в <n> (по умолчанию 10).
  #lcp-max-failure <n>

  # Установить интервал рестарта IPCP (пауза возобновления передачи) в <n>
  # секунд (по умолчанию 3).
  #ipcp-restart <n>

  # Установить максимальное число передач IPCP terminate-request в <n>
  # (по умолчанию 3).
  #ipcp-max-terminate <n>

  # Установить максимальное число передач IPCP configure-request в <n>
  # (по умолчанию 10).
  #ipcp-max-configure <n>

  # Установить максимальное число IPCP configure-NAKs, возвращенных перед началом
  # отправки вместо configure-Rejects, в <n> (по умолчанию 10).
  #ipcp-max-failure <n>

  # Установить интервал рестарта PAP (пауза возобновления передачи) в <n> секунд
  # (по умолчанию 3).
  #pap-restart <n>

  # Установить максимальное число передач PAP authenticate-request в
  # <n> (по умолчанию 10).
  #pap-max-authreq <n>

  # Установить интервал рестарта CHAP (пауза возобновления передач
  # challenges) в <n> секунд (по умолчанию 3).
  #chap-restart <n>

  # Установить максимальное число передач CHAP challenge в <n>
  # (по умолчанию 10).
  #chap-max-challenge

  # С этой опцией pppd будет re-challenge удаленную сторону каждые <n>
  # секунд.
  #chap-interval <n>

  # С этой опцией pppd будет принимать предложение peer о нашем локальном IP
  # адресе, даже если локальный IP адрес был указан в опциях.
  #ipcp-accept-local

  # С этой опцией pppd будет принимать предложение peer о его (удаленном) IP
  # адресе, даже если удаленный IP адрес был указан в опциях.
  #ipcp-accept-remote

Успехов в освоении smile)))

2

Re: Настройка интернета от Комтек'а через VPN.

Хорошая статья.
Как я понял, 192.168.1.1 -- шлюз в инет, а 172.19.12.126 -- AD, верно?

В /etc/profile добавить:
alias inet_start="route add -host 192.168.1.1 gw 172.19.12.126 && route del default && pptp-command start"
alias inet_stop="pptp-command stop &&  route add default gw 172.19.12.126"

И на рабочий стол скриптик с иконкой от браузера.

Скриптик примерно такой:

#!/bin/bash
inet_start && exec /usr/bin/seamonkey || inet_stop
inet_stop

Скрипт ужасен, я даже почти уверен в том, что он не заработает:)
Но проверить сейчас нет возможности, т.ч. допиливайте:D

Любите систему, и она ответит взаимностью;)

3

Re: Настройка интернета от Комтек'а через VPN.

чота както странно товарищи
во первых не прописывай дефолтным маршрутом свой гейт - распинай маршрутики руками и тогда получишь возможность пользовать и сеть и инет одновременно:

подсеть 172.18.0.0 маска 255,254,0,0
подсеть 192.168.0.0 маска 255.255.0.0
гейт для них - твой гейт
< тут еще пачка сервисных маршрутов для всевозможной халявки, см. в папке с маршрутными батниками на ftp://192.168.55.2/net wink >
при подъеме инета - route add default dev ppp0
вуаля. и лохалка и инетодновременно

во вторых на форуме комтека наличествует инструкция без всяких pptp-command правкой конфигов вручную. хотел скопипастить да на форум снаружи так и не пробился)

# Добавить маршрут по умолчанию в системную таблицу маршрутизации,
  # используя удаленную сторону как шлюз, когда договоренность IPCP успешно
  # достигнута.  Эта запись удаляется при завершении связи
  #defaultroute

толи лыжи не едут толи я не совсем адекватен но опция не работает smile

Отредактировано nwr (2008-02-22 10:12:19)

4

Re: Настройка интернета от Комтек'а через VPN.

Как-то всё сложно...  Набросаю, как у меня устроено подключение к Технодизайну.  У них тоже PPTP используется.  Дистрибутив -- Дебиан.

Сетевые интерфейсы описываются в /etc/network/interfaces:

auto eth0 ppp2 # поднимать автоматически

iface eth0 inet static
        address 192.168.28.60
        netmask 255.255.255.0
        up route add -net 192.168.26.0/24 gw 192.168.28.1

iface ppp2 inet ppp
        provider technodesign

Параметры подключения через PPP хранятся в /etc/ppp/peers/technodesign:

local
noauth
persist
defaultroute
unit 2                              # это чтобы получился ppp2, а не какой-нибудь ещё
pty "/usr/sbin/pptp 192.168.28.1 --nolaunchpppd" # куда там надо по PPTP цепляться?
maxfail 3
user penguin
require-mppe                                                 # у ТД используется MPPE

Пароль хранится в /etc/ppp/chap-secrets:

penguin         *           secret      *

Если надо, чтоб локальная сеть работала, прописываем маршрутизацию на неё в /etc/network/interfaces, как уже прописано для 192.168.26.0/24.  В итоге всё есть всегда: и локальная сеть, и интернет.  Не надо запускать что-либо, чтобы что-то появилось, не надо вводить номер подключения, пароль и так далее.

Ещё по крону раз в минуту проверяется, есть ли связь.  Если нет, то ppp2 опускается и поднимается снова.

Если у вас не PPTP, а PPPoE, то в параметре pty для pppd нужно вызывать не pptp, а pppoe.  Например так: pty "pppoe -S td-net".

5

Re: Настройка интернета от Комтек'а через VPN.

Чтобы и сетка и нет работали нада:

# route add -net 192.168.0.0 netmask 255.254.0.0 gw 172.19.12.126 <ваш интерфейс>
# route add -net 172.18.0.0 netmask 255.254.0.0 gw 172.19.12.126 <ваш интерфейс>
# route add -host 192.168.1.1 gw 172.19.12.126
# route del default

Дальше мона и к нету подключаться и сетку юзать wink)))))

Отредактировано WeX (2008-05-06 17:33:24)

Re: Настройка интернета от Комтек'а через VPN.

напишите плиз как создать подключение к интернету (VPN) комтека на дистрибутиве Убунту 8.04 (зеркало ведь именно под этот дистриб действует:)). то что выше объясняют для меня слишком сложно! конкретно мой ip 172.18.9.71

7

Re: Настройка интернета от Комтек'а через VPN.

Дмитрий пишет:

напишите плиз как создать подключение к интернету (VPN) комтека на дистрибутиве Убунту 8.04 (зеркало ведь именно под этот дистриб действует:)). то что выше объясняют для меня слишком сложно! конкретно мой ip 172.18.9.71

brain@home:~$ sudo aptitude install  pptp-linux

cat /etc/ppp/peers/kmsnet

remotename kmsnet
linkname kmsnet
ipparam kmsnet
pty "/usr/sbin/pptp --loglevel 1 192.168.1.1 --nolaunchpppd"
name "kmsnet************"  #--твой логин
require-mppe
nomppe-stateful
nomppe-128
replacedefaultroute
defaultroute
usepeerdns
noauth
lock
mtu 1460
persist
maxfail 0


cat /etc/ppp/chap-secrets

# Secrets for authentication using CHAP
# client                                         server    secret            IP addresses
kmsnet***** --твой логин      kmsnet     Твой_пароль                *


sudo pon kmsnet - влючаем
sudo poff kmsnet - выключаем

Только для начало нужно прописать все статические маршруты
У меня сделано так, это если сеть руками прописывал.

iface eth0 inet static
    address 172.20.64.130
    netmask 255.255.255.192
    gateway 172.20.64.190
    post-up /sbin/route add -net 172.16.0.0/12  gw 172.20.64.190 # --- Тут твой шлюз
    post-up /sbin/route add -net 192.168.0.0/16 gw 172.20.64.190 #--- Тут твой шлюз
    post-up /usr/bin/pon kmsnet

"Есть в демократии что-то такое,
до чего неприятно касаться рукою."
----------------------------------------------------------------------------------------------------------------
"Когда в обществе нет цветовой дифференциации штанов — то нет цели! А когда нет цели…"

8

Re: Настройка интернета от Комтек'а через VPN.

Доброго времени суток! Поставил недавно себе ubuntu-9.10, никак не могу настроить интернет соединение (комтек) Установил пакеты network-manager-pptp и pptp-linux_1.7.0-1ubuntu1_i386. можно ли настроить все через настройки VPN?  Судя по всему то что написано выше на нынешнее время не подойдет т.к. сейчас адреса выдаются автоматически? Объясните пожалуйста для чайника как и что. На форуме комтека информация вся в разноброс толком ничего не понятно. Спасибо!

9

Re: Настройка интернета от Комтек'а через VPN.

В настройках VPN прописал шлюз VPN1.kmsnet.ru логин и пароль.  при попытке подключится вышло сообщение не удалось запустить службу VPN. Что нужно сделать еще?

10

Re: Настройка интернета от Комтек'а через VPN.

Сделай все как написано выше.
И все будет работать.

"Есть в демократии что-то такое,
до чего неприятно касаться рукою."
----------------------------------------------------------------------------------------------------------------
"Когда в обществе нет цветовой дифференциации штанов — то нет цели! А когда нет цели…"

11

Re: Настройка интернета от Комтек'а через VPN.

Для меня наверно это темный лес ))
Например мне не понятно что означает: поправить конфиги: /etc/ppp/options и /etc/ppp/options.pptp ??? Что это? Где эти конфиги? Пытался вставить в адресную строку но пишет что нет такого пути ((.  Я хоть и с компом на ты,  но все же линукс поставил первый раз, и некоторые вещи непонятны в корне.
Так же в терминале вставил:

madman@madman-laptop:~$ # pptp-command setup
madman@madman-laptop:~$

Ничего не произошло. 
Кстати Убунту стоит на ноуте, мож это как то влияет?

12

Re: Настройка интернета от Комтек'а через VPN.

Не могу внести изменения в файле /etc/ppp/options и /etc/ppp/options.pptp. Стоит режим только для чтения. В администрировании поставил все галочки, разрешил все что только можно, но ничего не меняется.   Уважаемые форумчане помогите пожалуйста новичку! Уже поставил 10.04 но с интернетом никак не могу разобраться!