The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"PPPoE сервер и DHCP"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Др. сетевые сервисы / Linux)
Изначальное сообщение [ Отслеживать ]

"PPPoE сервер и DHCP"  +/
Сообщение от mr_tee (ok) on 14-Дек-11, 15:48 

Доброго и светлого))

Итак настроил PPPoE сервер на linux-e с авторизацией на RADIUS-е по этой статье http://www.opennet.ru/base/modem/pppoe_server_setup.txt.html

В настройках по умолчанию клиентам выдаются адреса из подсети 10.0.0.0, можно задать свою подсеть.

Вопрос, можно ли настроить pppoe-server так, чтобы адрес для клиента брался с DHCP сервера, установленного локально, или на другом компе в сети?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "PPPoE сервер и DHCP"  +/
Сообщение от Hawk (??) on 14-Дек-11, 19:06 
а зачем? демону pppd можно указать брать ip из пула.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "PPPoE сервер и DHCP"  +/
Сообщение от mr_tee (ok) on 15-Дек-11, 07:55 
> а зачем? демону pppd можно указать брать ip из пула.

DHCP сервер регистрирует записи PTR вида ip <--> <username>.pppoe на MS DNS
Для резервирования таких серверов два.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "PPPoE сервер и DHCP"  +/
Сообщение от mr_tee (ok) on 02-Окт-12, 08:14 
>> а зачем? демону pppd можно указать брать ip из пула.
> DHCP сервер регистрирует записи PTR вида ip <--> <username>.pppoe на MS DNS
> Для резервирования таких серверов два.

Сделано так:
ip берутся из пула, в папку /etc/ppp/ip-up.d/
установил скрипт, который перехватывает ip адрес и регистрирует его на DNS серверах, за одно добавляя нужные правила в iptables для нужного уровня доступа:


#!/bin/bash

LOGFILE=/var/log/squid/my_pppoe.log
IPT=/sbin/iptables
#DNS_SERVERS="dns1 dns2"
DNS_SERVERS="localhost"

exec 6>&1           # Связать дескр. #6 со stdout. Сохраняя stdout.
exec >> $LOGFILE    # stdout замещается файлом "logfile.txt".

filter=$(grep Filter-Id /var/run/radattr.$IFNAME | cut -d " " -f 2)

ip_reverse=$(echo $IPREMOTE | awk -F '.' '{print $4"."$3"."$2"."$1}').in-addr.arpa
dns_zone=${ip_reverse#*.}
dns_ptr=${PEERNAME##*\\}.$(echo $IPREMOTE | awk -F '.' '{print $3"-"$4}').pppoe

dns_delete="update delete $ip_reverse"
dns_update=""
if [[ ${0##*-} == "up" ]]; then
  dns_update="update add $ip_reverse 86400 ptr $dns_ptr"
  $IPT -D pppoe_packets -i $IFNAME -j $filter
  $IPT -A pppoe_packets -i $IFNAME -j $filter
else
  $IPT -D pppoe_packets -i $IFNAME -j $filter
fi

echo $IFNAME[$PPID] ${0##*-} $IPREMOTE $filter $PEERNAME

for dns in $DNS_SERVERS; do
  cat <<EOF | nsupdate
server $dns
zone $dns_zone
$dns_delete
$dns_update
send
EOF
  echo -- $dns update $ip_reverse PTR  $dns_ptr result=$?
done

exec 1>&6 6>&-

P.S.: Опубликовал для себя, чтобы через +100500 лет не сочинять снова © madixi

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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