Регистрация Войти
Вход на сайт
Качественные бесплатные шаблоны dle скачать с сайта
» » » Настройка PPPoE соединения в FreeBSD

Настройка PPPoE соединения в FreeBSD

09-11-2010
Автор: synergix
Просмотров: 7 530
Комментариев: 0
Версия для печати
Настройка PPPoE соединения в FreeBSD Доступ в интернет у некоторых провайдеров, таких как Uznet, Belline, etc. осуществляется с помощью PPPoE (point-to-point over ethernet). В связи с этим возникает вопрос с настройкой подключения к сети посредством протокола PPPoE.

Во FreeBSD есть несколько возможностей такого подключения при помощи встроенного в систему ppp (на базе netgraph) или при помощи программного mpd (/usr/ports/net/mpd). Рассмотрим первый способ.

Конфигурационные файлы для процесса ppp хранятся в папке /etc/ppp/. При этом основным файлом (и единственным, который теперь используется) является /etc/ppp/ppp.conf Ранее (в более старых версиях FreeBSD) по умолчанию в данном каталоге хранились ещё несколько файлов (например, chap-secrets, где отдельно указывался пароль, используемый при подключении, и др.). На настоящий момент допускается применение нескольких файлов, но для удобства проще задать всю необходимую конфигурацию сразу в ppp.conf

Итак, по умолчанию файл ppp.conf выглядит примерно так.

#################################################################
# PPP Sample Configuration File
# Originally written by Toshiharu OHNO
# Simplified 5/14/1999 by wself@cdrom.com
#
# See /usr/share/examples/ppp/ for some examples
#
# $FreeBSD: src/etc/ppp/ppp.conf,v 1.8 2001/06/21 15:42:26 brian Exp $
#################################################################

default:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)

# Ensure that "device" references the correct serial port
# for your modem. (cuaa0 = COM1, cuaa1 = COM2)
#
set device /dev/cuaa1

set speed 115200
set dial "ABORT BUSY ABORT NOsCARRIER TIMEOUT 5 "" AT OK-AT-OK ATE1Q0 OK dATDTT TIMEOUT 40 CONNECT"
set timeout 180 # 3 minute idle timer (the default)
enable dns # request DNS info (for resolv.conf)

papchap:
#
# edit the next three lines and replace the items in caps with
# the values which have been assigned by your ISP.
#

set phone PHONE_NUM
set authname USERNAME
set authkey PASSWORD

set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR # Add a (sticky) default route

Дадим некоторые пояснения к правилам оформления файла.
Слово до символа ":" (default, papchap) означает начало блока с соответствующим именем, который содержит список параметров. Начало следующего блока говорит об окончании предыдущего. Так ключевое слово default говорит о том, какие данные будут использоваться в соединении по умолчанию при каждом запуске ppp и соответственно для всех указанных в файле типов соединений. Как правило каждый блок соответствует отдельному провайдеру. Так например при использовании разных провайдеров (различных ppp соединений) для одной машины может быть задан блок pppoe_conection (для соединения PPPoE) и блок modem_connection (для модемного соединения). При этом имя блока, естественно может быть любым и к примеру, совпадать с кличкой вашего любимого кота, который своим шипением так искусно подражает модему.
Блок papchap, отвечающий за авторизацию и её безопасность при установлении соединения вообще говоря не обязателен и как правило параметры из этого блока объединяются внутри единого блока для каждого конкретного соединения. Соответственно PAP и CHAP - это механизмы аутентификации, которые используются провайдером (серверная часть протокола PPP).
Если внимательно взглянуть на параметры, приводимые внутри блока, то смысл их станет понятен уже из названия. А если вы что-то не поняли, то всегда есть man ppp.
Итак, на базе конфигурационного файла по умолчанию составим свой.
#Начало файла
default:
set log Phase tun command

myisp:
set device PPPoE:rl0
set authname your_login
set authkey your_password
enable dns
add default HISADDR
#Конец файла

Сделаем некоторые пояснения.

Директива set говорит о том, что надо установить следующие после неё параметры.
log - включает ведение log-файла (по умолчанию все сообщения записываются в файл /var/log/ppp.log
Phase - поэтапный вывод сообщений в лог (соответствует этапам подключения), позволяет исключить малоинформативные сообщения
tun - виртуальное сетевое устройство, которое будет задействовано при соединении (в данном случае tun, т.к. протокол точка-точка)
command - производить запись в лог как команд, полученных с командной строки, так и тех, которые были считаны стартовым скриптом ppp из
конфигурационного файла
device - задаёт имя физического устройства, по которому осуществляется соединение (например, сетевая карта rl0 или модем на com порту /dev/cuaa1)
PPPoE - задаёт уточнение протокола (в рамках протоколов, поддерживающихся ppp)
authname - указывает на логин, используемый при подключении, обычно выдаётся провайдером (вместо your_login введите свой логин)
authkey - задаёт пароль, используемый при авторизации (при помощи механизмов PAP или CHAP), и обычно выдаваемый провайдером (вместо
your_password введите свой пароль)
enable dns - указывает, что данные о DNS сервере следует считывать из файла /etc/resolv.conf
add default - говорит о том, что не нужно использовать для посылки пакетов другой стороне PPP-соединения альтернативной записи о маршрутизации
HISSADR - отображать IP адрес присоединённой стороны

Таким образом, как зто следует из конфигурационного файла, осталось только прописать адрес DNS (лучше спросить у провайдера) в файле /etc/resolv.conf

У меня используется для ускорения загрузки страниц в браузере собственный кеширующий DNS сервер, запущенный на моей машине, который впрочем в качестве forwarders использует DNS сервер провайдера. Поэтому первой строкой впишем его, а уже потом провайдерский DNS сервер.


nameserver 127.0.0.1
nameserver xxx.xxx.xxx.xxx # смените на IP адрес DNS сервера вашего провайдера


Вот и всё, теперь можно попробовать подключиться. Сделать это можно при помощи команды запущенной от имени root
#ppp -ddial myisp

Она выдаст что-то похожее на
Working in ddial mode
Using interface: tun0


Теперь внесём соответствующие записи в /etc/rc.conf для того, чтобы соединение устанавливалось автоматически при старте системы.
Добавим следующие строки от имени root.
#echo 'ppp_enable="YES"'
#echo 'ppp_mode="ddial"'
#echo 'ppp_profile="myisp"'

На этом конфигурирование PPP можно считать оконченным.
Если требуется вручную разорвать соединение - то
/etc/rc.d/ppp stop
Теги: freebsd pppoe
Рейтинг статьи:
  • 0
  
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.