1 default: 2 set log Phase Chat LCP IPCP CCP tun command 3 ident user-ppp VERSION 4 set device /dev/cuau0 5 set speed 115200 6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ 7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" 8 set timeout 180 9 enable dns 10 11 provider: 12 set phone "(123) 456 7890" 13 set authname foo 14 set authkey bar 15 set timeout 300 16 set ifaddr x.x.x.x/0 y.y.y.y/0 255.255.255.255 0.0.0.0 17 add default HISADDR
Глава 30. PPP
Этот перевод может быть устаревшим. Для того, чтобы помочь с переводом, пожалуйста, обратитесь к Сервер переводов FreeBSD.
Содержание
30.1. Обзор
FreeBSD поддерживает протокол Point-to-Point (PPP), который может использоваться для установки сетевого или интернет-соединения с помощью модема. В этой главе описывается, как настроить услуги связи на основе модема в FreeBSD.
Прочитав эту главу, вы будете знать:
Как настроить, использовать и устранять неполадки PPP-подключения.
Как настроить PPP over Ethernet (PPPoE).
Как настроить PPP over ATM (PPPoA).
Прежде чем читать эту главу, вы должны:
Знать основные термины и понятия сетевых технологий.
Понимать основы и назначение коммутируемого соединения и PPP.
30.2. Настройка PPP
FreeBSD предоставляет встроенную поддержку для управления коммутируемыми PPP-соединениями с помощью ppp(8). Стандартное ядро FreeBSD поддерживает tun, который используется для взаимодействия с модемным оборудованием. Настройка выполняется путём редактирования как минимум одного конфигурационного файла, и предоставляются примеры таких файлов. Наконец, ppp
используется для запуска и управления соединениями.
Для использования PPP-соединения необходимы следующие компоненты:
Учетная запись для коммутируемого доступа у поставщика интернет-услуг (Internet Service Provider — ISP).
Модем для коммутируемого доступа.
Номер телефона для дозвона к ISP.
Имя пользователя и пароль, назначенные ISP.
IP-адрес одного или нескольких DNS-серверов. Обычно эти адреса предоставляет интернет-провайдер. Если он этого не сделал, FreeBSD можно настроить на использование согласования DNS.
Если отсутствует какая-либо необходимая информация, обратитесь к интернет-провайдеру.
Следующая информация может быть предоставлена интернет-провайдером, но не является обязательной:
IP-адрес шлюза по умолчанию. Если эта информация неизвестна, интернет-провайдер автоматически предоставит правильное значение во время настройки соединения. При настройке PPP в FreeBSD этот адрес обозначается как
HISADDR
.Маска подсети. Если провайдер не предоставил ее, в конфигурационном файле ppp(8) будет использовано значение
255.255.255.255
. *Если интернет-провайдер выделил статический IP-адрес и имя хоста, их следует указать в файле конфигурации. В противном случае эта информация будет автоматически предоставлена при настройке соединения.
Оставшаяся часть этого раздела демонстрирует, как настроить FreeBSD для распространённых сценариев PPP-подключения. Необходимый конфигурационный файл — это /etc/ppp/ppp.conf, а дополнительные файлы и примеры доступны в /usr/share/examples/ppp/.
На протяжении всего этого раздела во многих примерах файлов указаны номера строк. Эти номера добавлены для удобства обсуждения и не предназначены для включения в фактический файл. При редактировании конфигурационного файла важно соблюдать правильные отступы. Строки, заканчивающиеся на |
30.2.1. Базовая конфигурация
Для настройки PPP-соединения сначала отредактируйте файл /etc/ppp/ppp.conf, указав данные для подключения к интернет-провайдеру. Этот файл описывается следующим образом:
- Строка 1
Определяет запись
default
. Команды в этой записи (строки со 2 по 9) выполняются автоматически при запускеppp
.- Строка 2
Включает подробные параметры журналирования для тестирования соединения. Как только конфигурация начнёт работать удовлетворительно, эту строку следует сократить до:
set log phase tun
- Строка 3
Отображает версию ppp(8) для PPP-программного обеспечения, работающего на другой стороне соединения.
- Строка 4
Определяет устройство, к которому подключен модем, где COM1 соответствует /dev/cuau0, а COM2 соответствует /dev/cuau1.
- Строка 5
Устанавливает скорость соединения. Если
115200
не работает на старом модеме, попробуйте38400
.- Строки 6 и 7
Строка набора, записанная в синтаксисе expect-send. Дополнительную информацию смотрите в chat(8).
Обратите внимание, что эта команда продолжается на следующей строке для удобства чтения. Любая команда в ppp.conf может быть записана таким образом, если последним символом в строке является
\
.- Строка 8
Устанавливает время ожидания бездействия соединения в секундах.
- Строка 9
Указывает узлу подтвердить настройки DNS. Если в локальной сети работает собственный DNS-сервер, эту строку следует закомментировать, добавив
#
в начале строки, или удалить.- Строка 10
Пустая строка для удобочитаемости. Пустые строки игнорируются ppp(8).
- Строка 11
Определяет запись с именем
provider
. Это имя можно изменить на название ISP, чтобы использовать командуload ISP
для установки соединения.- Строка 12
Используйте номер телефона вашего ISP. Несколько номеров можно указать, используя в качестве разделителя символ двоеточия (
:
) или вертикальной черты (|
). Для перебора номеров используйте двоеточие. Чтобы всегда сначала пытаться дозвониться по первому номеру и пробовать другие номера только в случае неудачи с первым, используйте символ вертикальной черты. Всегда заключайте весь набор номеров в кавычки ("
), чтобы избежать сбоев при наборе.- Строки 13 и 14
Используйте имя пользователя и пароль для ISP.
- Строка 15
Устанавливает таймаут неактивности по умолчанию для соединения в секундах. В данном примере соединение будет автоматически закрыто после 300 секунд бездействия. Чтобы отключить таймаут, установите значение в ноль.
- Строка 16
Устанавливает адреса интерфейсов. Используемые значения зависят от того, получен ли статический IP-адрес от провайдера или он динамически назначается при подключении.
Если интернет-провайдер выделил статический IP-адрес и шлюз по умолчанию, замените x.x.x.x на статический IP-адрес, а y.y.y.y — на IP-адрес шлюза по умолчанию. Если провайдер предоставил только статический IP-адрес без адреса шлюза, замените y.y.y.y на
10.0.0.2/0
.Если IP-адрес изменяется при каждом подключении, измените эту строку на следующее значение. Это указывает ppp(8) использовать протокол IP Configuration Protocol (IPCP) для согласования динамического IP-адреса:
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0
- Line 17
Оставьте эту строку как есть, так как она добавляет маршрут по умолчанию к шлюзу.
HISADDR
будет автоматически заменён на адрес шлюза, указанный в строке 16. Важно, чтобы эта строка располагалась после строки 16.
В зависимости от того, запускается ли ppp(8) вручную или автоматически, может потребоваться создать файл /etc/ppp/ppp.linkup со следующим содержимым. Этот файл необходим при запуске ppp
в режиме -auto
. Он используется после установки соединения. На этом этапе IP-адрес уже будет назначен, и можно добавить записи в таблицу маршрутизации. При создании этого файла убедитесь, что значение provider совпадает с указанным в строке 11 файла ppp.conf.
provider: add default HISADDR
Этот файл также необходим, когда адрес шлюза по умолчанию "угадывается" в конфигурации статического IP-адреса. В этом случае удалите строку 17 из ppp.conf и создайте файл /etc/ppp/ppp.linkup с указанными двумя строками. Дополнительные примеры для этого файла можно найти в /usr/share/examples/ppp/.
По умолчанию ppp
должен запускаться от имени root
. Чтобы изменить это поведение, добавьте учётную запись пользователя, который должен запускать ppp
, в группу network
в файле /etc/group.
Затем предоставьте пользователю доступ к одной или нескольким записям в /etc/ppp/ppp.conf с помощью allow
. Например, чтобы дать fred
и mary
разрешение только на запись provider:
, добавьте следующую строку в раздел provider:
:
allow users fred mary
Чтобы предоставить указанным пользователям доступ ко всем записям, поместите эту строку в раздел default
вместо этого.
30.2.2. Расширенная Настройка
Возможно настроить PPP для предоставления адресов DNS- и NetBIOS-серверов по запросу.
Для включения этих расширений в PPP версии 1.x можно добавить следующие строки в соответствующую секцию файла /etc/ppp/ppp.conf.
enable msext set ns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
А для PPP версии 2 и выше:
accept dns set dns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
Это сообщит клиентам адреса основного и дополнительного серверов имен, а также хост сервера имен NetBIOS.
В версии 2 и выше, если строка set dns
опущена, PPP будет использовать значения, указанные в /etc/resolv.conf.
30.2.2.1. Проверка подлинности (аутентификация) PAP и CHAP
Некоторые интернет-провайдеры настраивают свои системы таким образом, что проверка подлинности пользователя при подключении выполняется с использованием механизмов PAP или CHAP. В таком случае провайдер не будет выводить приглашение login:
при соединении, а сразу начнёт работу по протоколу PPP.
PAP менее безопасен, чем CHAP, но безопасность обычно не является проблемой, так как пароли, хотя и передаются в открытом виде с PAP, передаются только по последовательной линии. У взломщиков мало возможностей для "прослушивания".
Необходимо внести следующие изменения:
13 set authname MyUserName 14 set authkey MyPassword 15 set login
- Line 13
Эта строка указывает имя пользователя PAP/CHAP. Вставьте правильное значение для MyUserName.
- Line 14
Эта строка указывает пароль PAP/CHAP. Вставьте правильное значение вместо MyPassword. Возможно, вы захотите добавить дополнительную строку, например:
16 accept PAP
или
16 accept CHAP
чтобы сделать это намерение очевидным, но PAP и CHAP по умолчанию принимаются оба.
- Строка 15
Поставщик интернет-услуг обычно не требует входа на сервер при использовании PAP или CHAP. Поэтому отключите строку
set login
.
30.2.2.2. Использование возможности трансляции сетевых адресов (NAT) в PPP
PPP обладает возможностью использовать внутренний NAT без функций перенаправления ядра. Эту функциональность можно включить следующей строкой в /etc/ppp/ppp.conf:
nat enable yes
Альтернативно, NAT может быть включён с помощью параметра командной строки -nat
. Также существует параметр /etc/rc.conf с именем ppp_nat
, который включён по умолчанию.
При использовании этой функции может быть полезно включить следующие параметры в файле /etc/ppp/ppp.conf для переадресации входящих соединений:
nat port tcp 10.0.0.2:ftp ftp nat port tcp 10.0.0.2:http http
или вообще не доверять внешнему миру
nat deny_incoming yes
30.2.3. Окончательная конфигурация системы
В то время как ppp
уже настроен, некоторые изменения всё ещё необходимо внести в /etc/rc.conf.
Посмотрев файл с начала до конца, убедитесь, что строка hostname=
установлена:
hostname="foo.example.com"
Если интернет-провайдер предоставил статический IP-адрес и имя, используйте это имя в качестве имени хоста.
Прповерьте переменную network_interfaces
. Чтобы настроить систему для дозвона к интернет-провайдеру по требованию, убедитесь, что устройство tun0 добавлено в список, в противном случае удалите его.
network_interfaces="lo0 tun0" ifconfig_tun0=
Переменная ppp -auto mysystem Этот скрипт выполняется во время настройки сети, запуская демон ppp в автоматическом режиме. Если данный компьютер выступает в качестве шлюза, рекомендуется включить опцию |
Убедитесь, что программа маршрутизатора отключена, проверив, что в /etc/rc.conf следующая строка установлена в NO
:
router_enable="NO"
Важно, чтобы демон routed
не запускался, так как routed
имеет тенденцию удалять записи по умолчанию из таблицы маршрутизации , созданные ppp
.
Вероятно, стоит убедиться, что строка sendmail_flags
не содержит опцию -q
, иначе sendmail
будет периодически пытаться выполнить сетевой запрос, что может привести к нежелательному дозвону. Можно попробовать:
sendmail_flags="-bd"
Недостаток в том, что sendmail
вынужден повторно проверять очередь почты каждый раз при установке ppp-соединения. Для автоматизации этого процесса добавьте !bg
в файл ppp.linkup:
1 provider: 2 delete ALL 3 add 0 0 HISADDR 4 !bg sendmail -bd -q30m
Альтернативный вариант — настроить "dfilter" для блокировки SMTP-трафика. Дополнительные сведения см. в примерных файлах.
30.2.4. Использование ppp
Осталось только перезагрузить машину. После перезагрузки введите:
# ppp
затем dial provider
для запуска сеанса PPP или, чтобы настроить ppp
для автоматического установления сеансов при наличии исходящего трафика и отсутствии файла start_if.tun0, введите:
# ppp -auto provider
Возможно общаться с программой ppp
, пока она работает в фоновом режиме, но только если настроен соответствующий диагностический порт. Для этого добавьте следующую строку в конфигурацию:
set server /var/run/ppp-tun%d DiagnosticPassword 0177
Это заставит PPP прослушивать указанный сокет домена UNIX®, запрашивая у клиентов указанный пароль перед предоставлением доступа. Символ %d
в имени заменяется на номер устройства tun, который используется.
После настройки сокета программа pppctl(8) может использоваться в скриптах для управления работающим приложением.
30.2.5. Настройка сервисов для входящих звонков
Входящие соединения по модему предоставляет хорошее описание настройки услуг дозвона с использованием getty(8).
Альтернативой getty
является порт comms/mgetty+sendfax, более интеллектуальная версия getty
, разработанная для работы с коммутируемыми линиями.
Преимущество использования mgetty
заключается в том, что он активно общается с модемами, то есть если порт выключен в /etc/ttys, то модем не будет отвечать на звонки.
Поздние версии mgetty
(начиная с 0.99beta) также поддерживают автоматическое определение PPP-потоков, что позволяет клиентам получать доступ к серверу без использования скриптов.
См. http://mgetty.greenie.net/doc/mgetty_toc.html для получения дополнительной информации о mgetty
.
По умолчанию порт comms/mgetty+sendfax поставляется с включённой опцией AUTO_PPP
, которая позволяет mgetty
обнаруживать фазу LCP PPP-соединений и автоматически запускать оболочку ppp. Однако, поскольку стандартная последовательность ввода логина и пароля не выполняется, необходимо аутентифицировать пользователей с помощью PAP или CHAP.
Этот раздел предполагает, что пользователь успешно скомпилировал и установил порт comms/mgetty+sendfax в своей системе.
Убедитесь, что в файле /usr/local/etc/mgetty+sendfax/login.config присутствует следующее:
/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
Это указывает mgetty
запускать ppp-pap-dialup для обнаруженных PPP-соединений.
Создайте исполняемый файл с именем /etc/ppp/ppp-pap-dialup, содержащий следующее:
#!/bin/sh exec /usr/sbin/ppp -direct pap$IDENT
Для каждой включенной коммутируемой линии в /etc/ttys создайте соответствующую запись в /etc/ppp/ppp.conf. Это будет прекрасно сосуществовать с определениями, созданными ранее.
pap: enable pap set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy
Каждый пользователь, входящий в систему этим методом, должен иметь имя пользователя и пароль в /etc/ppp/ppp.secret. Альтернативно можно добавить следующую опцию для аутентификации пользователей через PAP из /etc/passwd.
enable passwdauth
Для назначения статического IP-адреса некоторым пользователям укажите этот адрес в качестве третьего аргумента в /etc/ppp/ppp.secret. Примеры можно найти в /usr/share/examples/ppp/ppp.secret.sample.
30.3. Устранение неполадок PPP-подключений
В этом разделе рассматриваются некоторые проблемы, которые могут возникнуть при использовании PPP через модемное соединение. Некоторые интернет-провайдеры выводят приглашение ssword
, тогда как другие используют password
. Если скрипт ppp
не настроен соответствующим образом, попытка входа завершится неудачей. Наиболее распространённый способ отладки соединений ppp
— это ручное подключение, как описано в данном разделе.
30.3.1. Проверьте файлы устройств
При использовании собственного ядра убедитесь, что в конфигурационном файле ядра присутствует следующая строка:
device uart
Устройство uart уже включено в ядро GENERIC
, поэтому в этом случае дополнительные действия не требуются. Просто проверьте вывод dmesg
на наличие модема с помощью:
# dmesg | grep uart
Это должно вывести некоторую важную информацию об устройствах uart. Это COM-порты, которые нам нужны. Если модем работает как стандартный последовательный порт, он должен быть указан как uart1 или COM2. Если это так, пересборка ядра не требуется. При сопоставлении, если модем находится на uart1, устройство модема будет /dev/cuau1.
30.3.2. Подключение вручную
Подключение к Интернету с ручным управлением ppp
выполняется быстро, просто и является отличным способом для отладки соединения или получения информации о том, как ISP взаимодействует с клиентами ppp
. Давайте запустим PPP из командной строки. Обратите внимание, что во всех наших примерах мы будем использовать example в качестве имени хоста машины, на которой работает PPP. Для запуска ppp
:
# ppp
ppp ON example> set device /dev/cuau1
Эта вторая команда устанавливает модемное устройство в cuau1.
ppp ON example> set speed 115200
Это устанавливает скорость соединения на 115 200 Кбит/с.
ppp ON example> enable dns
Это указывает ppp
настроить резолвер и добавить строки nameserver в /etc/resolv.conf. Если ppp
не может определить имя хоста, его можно задать вручную позже.
ppp ON example> term
Это переключает в "терминальный" режим для ручного управления модемом.
deflink: Entering terminal mode on /dev/cuau1 type '~h' for help
at
OK
atdt123456789
Используйте at
для инициализации модема, затем используйте atdt
и номер провайдера для начала процесса дозвона.
CONNECT
Подтверждение подключения: если у нас возникнут проблемы с соединением, не связанные с оборудованием, здесь мы попытаемся их устранить.
ISP Login:myusername
На этом приглашении введите имя пользователя, предоставленное ISP.
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 обозначают подключение к ISP, а строчные p показывают, что соединение потеряно.
30.3.3. Отладка
Если соединение не может быть установлено, отключите аппаратный поток CTS/RTS с помощью set ctsrts off
. Это в основном происходит при подключении к некоторым терминальным серверам с поддержкой PPP, где PPP зависает при попытке записи данных в линию связи и ожидает сигнала Clear To Send (CTS), который может никогда не поступить. При использовании этой опции включите set accmap
, так как может потребоваться обойти аппаратную зависимость от передачи определённых символов от конца к концу, чаще всего XON/XOFF. Дополнительную информацию об этой опции и её использовании см. в ppp(8).
Старый модем может потребовать set parity even
. По умолчанию четность отключена, но она используется для проверки ошибок с значительным увеличением трафика на старых модемах.
PPP может не вернуться в командный режим, что обычно является ошибкой согласования, когда ISP ожидает начала процесса согласования. В этом случае использование ~p
заставит ppp начать отправку информации о конфигурации.
Если приглашение на вход никогда не появляется, скорее всего, требуется аутентификация PAP или CHAP. Чтобы использовать PAP или CHAP, добавьте следующие параметры в PPP перед переходом в терминальный режим:
ppp ON example> set authname myusername
Где myusername следует заменить на имя пользователя, предоставленное провайдером интернет-услуг.
ppp ON example> set authkey mypassword
Где mypassword следует заменить на пароль, назначенный провайдером.
Если соединение установлено, но не удается найти доменное имя, попробуйте выполнить ping(8)
для IP-адреса. Если наблюдается 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-подключения убедитесь, что следующая строка присутствует в /etc/syslog.conf:
!ppp *.* /var/log/ppp.log
30.4. Использование PPP через Ethernet (PPPoE)
Этот раздел описывает, как настроить PPP через Ethernet (PPPoE).
Вот пример рабочего ppp.conf:
default: set log Phase tun command # you can add more detailed logging if you wish set ifaddr 10.0.0.1/0 10.0.0.2/0 name_of_service_provider: set device PPPoE:xl1 # replace xl1 with your Ethernet device set authname YOURLOGINNAME set authkey YOURPASSWORD set dial set login add default HISADDR
Как root
, выполните:
# ppp -ddial name_of_service_provider
Добавьте следующее в /etc/rc.conf:
ppp_enable="YES" ppp_mode="ddial" ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO ppp_profile="name_of_service_provider"
30.4.1. Использование тега сервиса PPPoE
Иногда для установки соединения может потребоваться использовать тег сервиса. Теги сервиса используются для различения разных серверов PPPoE, подключённых к определённой сети.
Любая необходимая информация о теге сервиса должна быть указана в документации, предоставляемой интернет-провайдером (ISP).
В крайнем случае можно попробовать установить пакет или порт net/rr-pppoe. Однако учтите, что это может перепрограммировать ваш модем и сделать его бесполезным, поэтому хорошо подумайте перед этим. Просто установите программу, поставляемую с модемом. Затем откройте меню System в программе. Имя профиля должно быть указано там. Обычно это ISP.
Имя профиля (тег сервиса) будет использоваться в записи конфигурации PPPoE в файле ppp.conf как часть провайдера для set device
. Подробности смотрите в ppp(8). Это должно выглядеть так:
set device PPPoE:xl1:ISP
Не забудьте изменить xl1 на соответствующее имя устройства вашей Ethernet-карты.
Не забудьте изменить ISP на профиль, определенный вами ранее.
Для получения дополнительной информации обратитесь к более дешёвому широкополосному доступу с FreeBSD через DSL от Renaud Waldura.
30.4.2. PPPoE с модемом 3Com® HomeConnect™ ADSL Modem Dual Link
Этот модем не соответствует спецификации PPPoE, определённой в RFC 2516.
Чтобы FreeBSD мог взаимодействовать с этим устройством, необходимо установить sysctl. Это можно сделать автоматически при загрузке, изменив файл /etc/sysctl.conf:
net.graph.nonstandard_pppoe=1
или может быть выполнено сразу с помощью команды:
# sysctl net.graph.nonstandard_pppoe=1
К сожалению, поскольку это общесистемная настройка, невозможно одновременно работать с обычным клиентом или сервером PPPoE и модемом 3Com® HomeConnect™ ADSL.
30.5. Использование PPP через ATM (PPPoA)
Следующее описание объясняет, как настроить PPP через ATM (PPPoA). PPPoA — популярный выбор среди европейских провайдеров DSL.
30.5.1. Использование mpd
Приложение mpd можно использовать для подключения к различным сервисам, в частности к PPTP-сервисам. Его можно установить с помощью пакета net/mpd5 или порта. Многие ADSL-модемы требуют создания PPTP-туннеля между модемом и компьютером.
После установки настройте mpd в соответствии с параметрами провайдера. Порт предоставляет набор примеров конфигурационных файлов, которые хорошо документированы в /usr/local/etc/mpd/. Полное руководство по настройке mpd доступно в формате HTML в /usr/ports/shared/doc/mpd/. Вот пример конфигурации для подключения к ADSL-сервису с помощью mpd. Конфигурация разделена на два файла, первый — mpd.conf:
Этот пример mpd.conf работает только с mpd 4.x. |
default: load adsl adsl: new -i ng0 adsl adsl set bundle authname username (1) set bundle password password (2) set bundle disable multilink set link no pap acfcomp protocomp set link disable chap set link accept chap set link keep-alive 30 10 set ipcp no vjcomp set ipcp ranges 0.0.0.0/0 0.0.0.0/0 set iface route default set iface disable on-demand set iface enable proxy-arp set iface idle 0 open
1 | Имя пользователя для аутентификации у вашего провайдера. |
2 | Пароль, используемый для аутентификации у вашего провайдера. |
Информация о соединении или соединениях, которые необходимо установить, находится в файле mpd.links. Пример файла mpd.links, соответствующий приведенному выше примеру, представлен ниже:
adsl: set link type pptp set pptp mode active set pptp enable originate outcall set pptp self 10.0.0.1 (1) set pptp peer 10.0.0.138 (2)
1 | IP-адрес компьютера FreeBSD, на котором работает mpd. |
2 | IP-адрес модема ADSL. По умолчанию для Alcatel SpeedTouch™ Home используется 10.0.0.138 . |
Возможно легко инициализировать соединение, выполнив следующую команду от имени root
:
# mpd -b adsl
Для просмотра состояния соединения:
% ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff
Использование mpd
является рекомендуемым способом подключения к услуге ADSL в FreeBSD.
30.5.2. Использование pptpclient
Также возможно использовать FreeBSD для подключения к другим сервисам PPPoA с помощью net/pptpclient.
Для подключения к DSL-сервису с помощью net/pptpclient установите порт или пакет, затем отредактируйте файл /etc/ppp/ppp.conf. Пример раздела ppp.conf приведен ниже. Дополнительные сведения о параметрах ppp.conf можно найти в ppp(8).
adsl: set log phase chat lcp ipcp ccp tun command set timeout 0 enable dns set authname username (1) set authkey password (2) set ifaddr 0 0 add default HISADDR
1 | Имя пользователя для провайдера DSL. |
2 | Пароль для вашей учетной записи. |
Поскольку пароль учетной записи добавляется в ppp.conf в открытом виде, убедитесь, что никто не может прочитать содержимое этого файла:
|
Это откроет туннель для PPP-сессии к DSL-маршрутизатору. Ethernet DSL-модемы имеют предварительно настроенный LAN IP-адрес для подключения. В случае Alcatel SpeedTouch™ Home этот адрес 10.0.0.138
. В документации маршрутизатора должен быть указан используемый устройством адрес. Чтобы открыть туннель и начать PPP-сессию:
# pptp address adsl
Если в конец этой команды добавить амперсанд ("&"), pptp вернёт приглашение командной строки. |
Будет создано виртуальное туннельное устройство tun для взаимодействия между процессами pptp и ppp. Как только вернется приглашение или процесс pptp подтвердит соединение, проверьте туннель:
% ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
Opened by PID 918
Если соединение не удалось, проверьте настройки маршрутизатора, который обычно доступен через веб-браузер. Также изучите вывод pptp
и содержимое файла журнала /var/log/ppp.log для поиска подсказок.
Изменено: 20 октября 2025 г. by Vladlen Popolitov