Документация по ОС FreeBSD Четверг, 25.04.2024, 11:26
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » РРР

Пару слов о настройке PPPoE соединения во FreeBSD

Очень многие небольшие домашние сети в настоящее время по ряду причин  (в основном связанных с безопасностью) осуществляют перевод  пользователей с VPN (Virtual Private Network) на PPPoE (point-to-point  other 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 NO\\sCARRIER TIMEOUT 5 \"\" AT OK-AT-OK
 ATE1Q0 OK \\dATDT\\T 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 можно считать оконченным. Теперь можете запустить аську и рассказать своим друзьям, что несмотря на козни вашего провайдера у вас по-прежнему работает интернет на FreeBSD =)

 

 И ещё несколько слов о том, как происходит запуск ppp при старте системы.

 

 Как известно, стартовые скрипты располагаются в каталоге /etc/rc.d (куда с лёгкостью можно добавить какой-нибудь свой, однако, чтобы не мешать пользовательские скрипты с системными, свои лучше помечать в /usr/local/etc/rc.d).

 

 При этом за общий запуск всех сетевых соединений указанных в /etc/rc.conf отвечает скрипт /etc/netstart, в котором фактически просто перечислены некоторые скрипты из /etc/rc.d За старт ppp отвечает скрипт /etc/rc.d/ppp-user, который фактически представляет простенький скрипт, формирующий команду для запуска ppp на базе соответствующих строк в файлах /etc/rc.conf и /etc/ppp/ppp.conf, а также синхронизирует ipfilter с ppp. Поэтому в случае необходимости всегда можно внести свои дополнения в этот файл.

 

 P.S. При подготовке данной заметки использовались man ppp.



Источник: http://azzzazelo.livejournal.com/1199.html
Категория: РРР | Добавил: oleg (08.01.2008) | Автор: azzzazelo
Просмотров: 1976 | Рейтинг: 5.0/2 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024