Тема: Настройка интернета от Комтек'а через VPN.
Итак приступим.
Для начала необходимо где-то достать (скачать например, или в большинстве дистрибутивов уже присутствует) пакет pptp-linux и установить его любым доступным способом
))
Затем надо поправить конфиги: /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
Успехов в освоении
)))