Этот раздел охватывает несколько вопросов, которые могут возникнуть при использовании
PPP через модемные соединения. Например, предположим, что вам потребовалось узнать, какое
именно приглашение отображает система, до которой вы дозваниваетесь. Некоторые провайдеры
выдают приглашение ssword, другие password; если ppp скрипт не обрабатывает
такие приглашения, попытка входа завершится неудачно. Наиболее общий способ отладки
соединений ppp это подключение вручную. Ниже дана пошаговая
информация по подключению вручную.
Если вы пересобирали ядро, проверьте устройство sio. Если
вы не перенастраивали ядро, нет причин для беспокойства. Просто проверьте вывод dmesg для модемного устройства следующей командой:
#dmesg | grep sio
Вы должны получить информацию о устройствах sio. Это COM
порты, которые нам необходимы. Если ваш модем работает как стандартный последовательный
порт, вы увидите его на sio1, или COM2. Если это так, вам не требуется пересобирать ядро,
необходимо лишь создать последовательное устройство. Вы можете сделать это, зайдя в /dev и запустив скрипт MAKEDEV. Создайте
последовательные устройства:
# sh MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3
Если модем находится на sio1, или COM2 в DOS, модемным устройством будет /dev/cuaa1.
Подключение к интернет с контролированием ppp вручную это
быстрый, легкий и действенный способ отладки соединения или получения информации о
обслуживании провайдером клиентского соединения ppp. Запустите
PPP из командной строки. В примерах в качестве имени хоста мы
будем использовать example.
Запустите ppp, введя команду ppp:
# ppp
Теперь программа ppp запущена.
ppp ON example> set device /dev/cuaa1
Мы указали модемное устройство, в данном случае cuaa1.
ppp ON example> set speed 115200
Мы установили скорость подключения к модему, в данном случае 115,200 кбит/с.
ppp ON example> enable dns
Сообщает ppp настроить разрешение имен, добавив строки в /etc/resolv.conf. Если ppp не может
определить имя хоста, его можно настроить позже вручную.
ppp ON example> term
Переключение в ``терминальный'' режим для контроля модема вручную.
deflink: Entering terminal mode on /dev/cuaa1
type '~h' for help
at
OK
atdt123456789
Использование команды at для инициализации модема, а затем
atdt и номера провайдера для начала дозвона.
CONNECT
Подтверждение соединения, если есть проблемы с соединением, не вызванные проблемами в
оборудовании, здесь мы попытаемся решить их.
ISP Login:myusername
Здесь вам предлагается ввести имя пользователя в приглашение, выводимое сервером
провайдера.
ISP Pass:mypassword
Здесь предлагается ввести пароль, предоставленный провайдером. Как и при входе в
FreeBSD, пароль не отображается.
Shell or PPP:ppp
В зависимости от вашего провайдера, это приглашение может не появиться. Здесь задается
вопрос, хотите ли вы использовать оболочку на компьютере провайдера или запустить ppp. В этом примере мы выбрали ppp,
поскольку хотим соединиться с интернет.
Ppp ON example>
Обратите внимание, что в этом примере первая буква p
появилась в верхнем регистре. Это означает, что мы успешно подключились к провайдеру.
PPp ON example>
Мы успешно аутентифицировались у провайдера и ожидаем присвоения IP адреса.
PPP ON example>
Мы завершили согласование IP адресов, соединение
успешно установлено.
PPP ON example>add default HISADDR
Это маршрут по умолчанию, его необходимо настроить, чтобы сделать возможной связь с
внешним миром, поскольку на этот момент установлена связь только с удаленной стороной.
Если маршрут не устанавливается из-за уже существующего маршрута, добавьте символ ! перед add. Альтернативно вы можете
сделать настройку перед установкой соединения.
Если все прошло удачно, на данный момент должно работать соединение с интернет,
которое можно поместить в фоновый режим клавишами CTRL+z. Переход строки PPP в приглашении в нижний
регистр (ppp) означает, что соединение было разорвано. Таким
образом, символы P в верхнем регистре означают наличие соединения, а в нижнем -- потерю
соединения.
Если у вас выделенная линия и нет необходимости устанавливать соединение, выключите
контроль передачи данных CTS/RTS командой set ctsrts off. Это обычно необходимо при подключении к
поддерживающим PPP терминальным серверам, когда PPP прерывается при попытке записать данные в ваше соединение, и
ожидает сигнала CTS, или Clear To Send, который не
появляется. Если вы используете этот параметр, используйте также параметр set accmap, который может быть необходим для устранения зависимости
от оборудования путем пропускания определенных символов через соединение, обычно
XON/XOFF. Обратитесь к странице справочника ppp(8) за более
подробной информацией по этому параметру и его использованию.
Если у вас старый модем, может потребоваться использование set
parity even. Проверка четности по умолчанию отключена, но она используется для для
устранения ошибок (с серьезным увеличением объема трафика) на старых модемах и у
некоторых провайдеров.
PPP может не вернуться в командный режим, что обычно
вызвано ошибкой согласования, когда провайдер ждет от вас начала процесса согласования. В
этот момент использование команды ~p заставит ppp начать
отправку настроечной информации.
Если вы не получаете приглашения на вход, скорее всего вам требуется использование
аутентификации PAP или CHAP вместо UNIX® стиля как
в примерах выше. Для использования PAP или CHAP просто добавьте следующие параметры PPP перед переходом в терминальный режим:
ppp ON example> set authname myusername
Необходимо заменить myusername на имя пользователя,
выданное провайдером.
ppp ON example> set authkey mypassword
Где mypassword должен быть заменен на пароль, выданный
провайдером.
Если вы подключаетесь, не можете определить ни одно доменное имя, попробуйте
использовать ping(8) с каким-либо
IP адресом и просмотрите выводимую информацию. Если
100 процентов (100%) пакетов теряются, скорее всего не назначен маршрут по умолчанию.
Дважды проверьте, что параметр add default HISADDR установлен
во время соединения. Если вы можете подключиться к удаленному IP адресу, возможно, что адрес сервера имен не был добавлен в
/etc/resolv.conf. Этот файл должен выглядеть примерно так:
domain example.com
nameserver x.x.x.x
nameserver y.y.y.y
Где x.x.x.x и y.y.y.y
должны быть заменены на IP адреса DNS серверов
провайдера. Эта информация может предоставляться провайдером, вы можете выяснить это в
службе поддержки.
Вы можете также настроить syslog(3) для
протоколирования PPP соединения. Просто добавьте:
!ppp
*.* /var/log/ppp.log
в файл /etc/syslog.conf. В большинстве случаев эти строки
уже присутствуют.