PPPoE Setup with pppd (Русский)

From ArchWiki

Jump to: navigation, search


i18n
English
Русский

Здесь мы объясним, как настроить PPPoE соединение используя пакет pppd и входящий в него модуль ядра rp-pppoe.so. Заметьте, нам не понадобится пакет rp-pppoe. Также, предлагаемый способ обеспечивает большую гибкость, настройки, по сравнению с rp-pppoe, давая возможность использовать несколько соединений одновременно.

Конфигурирование

  • Проверяем, установлен ли пакет ppp, и скомпилировано ли ядро с поддержкой PPPoE
$ pacman -Q ppp 
ppp 2.4.4-6
$ zgrep CONFIG_PPPOE /proc/config.gz 
CONFIG_PPPOE=m
  • Создаём конфигурационный файл соединения /etc/ppp/peers/pppoe:
# /etc/ppp/peers/pppoe
 
plugin rp-pppoe.so
# rp_pppoe_ac 'your ac name'
# rp_pppoe_service 'your service name'
 
# network interface
eth0
# login name
name "someloginname"
usepeerdns
persist
# Uncomment this if you want to enable dial on demand
#demand
#idle 180
defaultroute
hide-password
noauth

Для получения значений параметров rp_pppoe_ac и rp_pppoe_service можно воспользоваться командой pppoe-discovery. Информацию о необходимости указания этих параметров можно получить у вашего провайдера.

Если Вы хотите чтоб usepeerdns работал, Вам следует изменить Ваш /etc/ppp/ip-up и скопировать /etc/ppp/resolv.conf в etc/resolv.conf.

  • В зависимости от типа используемой аутентификации (PAP/CHAP) редактируем /etc/ppp/pap-secrets или /etc/ppp/chap-secrets. Эти файлы содержат логины и пароли, используемые при соединении:


  1. "ваш_логин" "имя_сервера" "ваш_пароль" "если dhcp ставим *"


Предпочтительно также отредактировать файл /etc/ppp/options, указав используемые и неиспользуемые типы аутентификации. Например:

# Don't agree to authenticate using PAP.
-pap
 
# Require the peer to authenticate itself using CHAP [Cryptographic
# Handshake Authentication Protocol] authentication.
+chap

Теперь можно установить соединение, используя команду

pppd call pppoe

Так же можно использовать

pon pppoe

Для создания соединения используемого по умолчанию, просто создайте ссылку с именем provider. Например

ln -s pppoe /etc/ppp/peers/provider

Теперь установить соединение можно командой

pon

Для завершения соединения используйте команду

poff pppoe

или, если есть ссылка provider

poff

Установка соединения при запуске системы

  • Если не создали ранее, то создайте ссылку /etc/ppp/peers/provider
ln -s pppoe /etc/ppp/peers/provider
  • Если поддержка ppp сокмпилирована в виде модуля ядра, отредактируйте /etc/rc.conf, указав загружать модуль ppp_generic при старте:
MODULES=(... ppp-generic ...)
  • Редактируем /etc/rc.conf, добавляя ppp к используемым демонам:
DAEMONS=(... ppp ...)

Неполадки

Если у Вас есть стандартные подготовленные маршруты(routes) то, перед стартом pppd сохраните их.Заодно загляните в /var/log/errors.log и если у Вас что-то наподобие:

pppd[nnnn]: not replacing existing default route via xx.xx.xx.xx

и xx.xx.xx.xx неверный маршрут, то

  • создайте новый скрипт /etc/ppp/ip-pre-up
$ chmod +x /etc/ppp/ip-pre-up

Наполненный к примеру так:

#!/bin/sh
/sbin/route del default
  • Перезапустите pppd:
$ /etc/rc.d/ppp restart
Personal tools