The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Настройка PPPoE соединения во FreeBSD (pppoe freebsd ppp ethernet)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: pppoe, freebsd, ppp, ethernet,  (найти похожие документы)
From: azzzazelo <http://azzzazelo.livejournal.com>; Date: Mon, 26 Nov 2007 18:21:07 +0000 (UTC) Subject: Настройка PPPoE соединения во FreeBSD Оригинал: http://azzzazelo.livejournal.com/1199.html Пару слов о настройке 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.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1.1, sdm (??), 11:14, 21/02/2008 [ответить]  
  • +/
    >Добавим следующие строки от имени root.
    >
    >           #echo 'ppp_enable="YES"'
    >           #echo 'ppp_mode="ddial"'
    >           #echo 'ppp_profile="myisp"'

    может так?

    #echo 'ppp_enable="YES"' >> /etc/rc.conf
    #echo 'ppp_mode="ddial"' >> /etc/rc.conf
    #echo 'ppp_profile="myisp"' >> /etc/rc.conf

     
  • 1.2, cpuuuh (ok), 10:49, 23/04/2008 [ответить]  
  • +/
    Может кто-нибудь и для netbsd 4 скажет как настраивать?
    В моей только что установленной системе просто нет
    /etc/ppp
    странно что и на liveCD netbsd 4 его нет так же. В инет получается ходить только из локалки напрямую никак.
     
  • 1.3, SSH (?), 11:58, 28/07/2008 [ответить]  
  • +/
    Надо бы пофиксить
    PPPoE - Point-to-point OVER Ethernet.
     
  • 1.4, razvedcheg (?), 12:19, 24/06/2009 [ответить]  
  • +/
    Ошибка:
    enable  dns - директива, которая указывает не считывать из resolv.conf, а набоборот _записывать_ в него данные о DNS серверах, предоставляемые в ходе ppp подключения. Соответственно если у вас прописан свой DNS, типа 127.0.0.1 - то эту опцию нужно закомментить, иначе при подключении DNS resolv.conf будет перезаписан.

    Цитата из хендбука:
    "В этом документе предполагается, что у вас есть следующее:
    ...
    * IP адреса одного или нескольких серверов имен. Обычно провайдер дает для этих целей два IP адреса. Если нет ни одного, вы можете использовать команду enable dns в ppp.conf и ppp настроит список серверов имен. Эта возможность зависит от наличия поддержки согласования DNS в реализации PPP провайдера."

     
  • 1.5, GeoSha (?), 23:17, 24/03/2010 [ответить]  
  • +/
    Огромное спасибо автору и всем кто принял участие в обсуждении!!! Только благодаря этой статье настроил инет в РУС-BSD.
     
  • 1.6, skyb (?), 14:28, 09/11/2010 [ответить]  
  • +/
    а как раздать pppoe в локалку?
    ppp_nat="YES"
    что эта строчка значит то??
     

    лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    MIRhosting
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру