Перейти к содержимому
Калькуляторы

PPPoE и VLANs Объединение VLAN-подсетей

Кошмар оО

Что Вы этим хотите сказать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...

echo "Starting PPPoE Server daemon: /usr/sbin/pppoe-server"

/usr/sbin/pppoe-server -k -I eth1 -C pppoe-NAS2 -S pppoe-NAS2 -L 192.168.64.1 -p /etc/ppp/pppoe-pool

/usr/sbin/pppoe-server -k -I eth1.99 -C pppoe-NAS2 -S pppoe-NAS2 -L 192.168.64.1 -p /etc/ppp/pppoe-pool

/usr/sbin/pppoe-server -k -I eth1.100 -C pppoe-NAS2 -S pppoe-NAS2 -L 192.168.64.1 -p /etc/ppp/pppoe-pool

/usr/sbin/pppoe-server -k -I eth1.101 -C pppoe-NAS2 -S pppoe-NAS2 -L 192.168.64.1 -p /etc/ppp/pppoe-pool

/usr/sbin/pppoe-server -k -I eth1.102 -C pppoe-NAS2 -S pppoe-NAS2 -L 192.168.64.1 -p /etc/ppp/pppoe-pool

/usr/sbin/pppoe-server -k -I eth1.103 -C pppoe-NAS2 -S pppoe-NAS2 -L 192.168.64.1 -p /etc/ppp/pppoe-pool

...

[/code]

Разрешите поинтересоваться, а почему не одним процессом
/usr/sbin/pppoe-server -k -I eth1.100 -I eth1.101 -I eth1.102 -I eth1.103 (и т.д.) -C pppoe-NAS2 -S pppoe-NAS2 -L 192.168.64.1 -p /etc/ppp/pppoe-pool

?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разрешите поинтересоваться, а почему не одним процессом
думаю ответ на ваш вопрос тут

 

У меня киска загружается дольше чем сервер интеловый под линухом с кучей виланов. и на каждом вилане своя подсеть, DHCP и PPPoE))))

А для добавления нового вилана и навешивания на него PPPoE сервера сам сервак перегружать не нужно!)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разрешите поинтересоваться, а почему не одним процессом
думаю ответ на ваш вопрос тут

 

У меня киска загружается дольше чем сервер интеловый под линухом с кучей виланов. и на каждом вилане своя подсеть, DHCP и PPPoE))))

А для добавления нового вилана и навешивания на него PPPoE сервера сам сервак перегружать не нужно!)

Ну если принять во внимание, что перезапуск ppp-сервера не кладет клиентские сессии и занимает секунду, то разницы я пока не вижу. Кому как удобнее, видимо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если будете делать на базе linux - поднимайте по pppoe-server на каждый vlan.

 

У нас такое решение работает не один год. Используем debian.

Скорость загрузки машины с 50+ vlan почти не отличается от загрузки без vlan. Перезапуск интерфейсов и pppoe серверов тоже мгновенный. Так что такое решение стабильно. Ну и, понятное дело, pppoe-server пересобран с поддержкой kernel-mode, нагрузка падает в разы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну если принять во внимание, что перезапуск ppp-сервера не кладет клиентские сессии и занимает секунду, то разницы я пока не вижу.
У меня на моих брасах запуск PPPoE демона килял все активные PPPoE сессии. От того - держу несколько доп. вланов на сервере, а сам демон рестартую ночью при необходимости добавить новые вланы.

 

Если будете делать на базе linux - поднимайте по pppoe-server на каждый vlan.
В чем преимущество по сравнению с запуском N демонов, каждый из которых слушает до 64-х вланов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня на моих брасах запуск PPPoE демона килял все активные PPPoE сессии. От того - держу несколько доп. вланов на сервере, а сам демон рестартую ночью при необходимости добавить новые вланы.

На моих брасах MPD, так я вообще никогда не рестартую, для добавления VLAN-ов этого не требуется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На моих брасах MPD, так я вообще никогда не рестартую, для добавления VLAN-ов этого не требуется.

Заинтриговали..

Вопрос - как Вы в mpd добавляете динамически vlan интерфейс?

telnet-ом? Ручками? Скриптом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В чём смысл добавлять вланы по мере необходимости? Что мешает запустить pppoe сервер заранее в большом кол-ве вланов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На моих брасах MPD, так я вообще никогда не рестартую, для добавления VLAN-ов этого не требуется.

Заинтриговали..

Вопрос - как Вы в mpd добавляете динамически vlan интерфейс?

telnet-ом? Ручками? Скриптом?

я добавляю скриптм. Который создает vlan в самой системе и затем в лезет в mpd через telnet, ну и в конфиг mpd.conf и rc.conf .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я добавляю скриптм. Который создает vlan в самой системе и затем в лезет в mpd через telnet, ну и в конфиг mpd.conf и rc.conf .

Т.е. в mpd скриптом выполняете команды telnet

    create link template vlan4 PPPoE
   set pppoe iface vlan4
   set link enable incoming

C mpd.conf и rc.conf понятно.

В чём смысл добавлять вланы по мере необходимости? Что мешает запустить pppoe сервер заранее в большом кол-ве вланов?

Их (vlan) _ФИЗИЧЕСКОЕ_ отсутствие на "данный момент".

 

P.S. roysbike, а можно на скрипт взглянуть?

Особенно интересен "блок", где telnet с mpd.

Изменено пользователем AlKov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

PPPoe-Relay на линуксе и проблемма решается минут за 30 с установкой сервака в стойку и накаткой ОС

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С помощью "vlan translation" можно все 200 вланов загнать в 1. свич extreme например это умеет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я добавляю скриптм. Который создает vlan в самой системе и затем в лезет в mpd через telnet, ну и в конфиг mpd.conf и rc.conf .

Т.е. в mpd скриптом выполняете команды telnet

    create link template vlan4 PPPoE
   set pppoe iface vlan4
   set link enable incoming

C mpd.conf и rc.conf понятно.

В чём смысл добавлять вланы по мере необходимости? Что мешает запустить pppoe сервер заранее в большом кол-ве вланов?

Их (vlan) _ФИЗИЧЕСКОЕ_ отсутствие на "данный момент".

 

P.S. roysbike, а можно на скрипт взглянуть?

Особенно интересен "блок", где telnet с mpd.

Конгфик mpd . Шаблон с название common

pppoe_server

   create bundle template PP
   set iface idle 0
   set iface enable tcpmssfix
   set iface enable proxy-arp
   set ipcp no vjcomp
   set ipcp dns 172.30.0.14 1.2.3.4
   set ipcp ranges 172.30.0.1/32 172.30.0.0/16

   create link template common pppoe
   load radius
   set link disable multilink
   set link action bundle PP
   set link yes acfcomp protocomp
   set link no pap eap chap-msv1 chap-msv2
   set link enable chap-md5
   set link keep-alive 10 80
   set pppoe service "*"

да все прозрачно

 

Добавляем vlan в mpd через телнет, чтобы его не рестартовать

 

#!/bin/sh

MPORT="5005"
mpduser="admin"
mpdpass="masterkey"

#Хосты ваших mpd
# например добавим vlan2
#запускаем скрипт ./create_vlan 2
host="	
pppoe1.domain.ru
       pppoe2.domain.ru
       pppoe3.domain.ru
       pppoe4.domain.ru
";
for x in $host;

do
printf "$mpduser\r$mpdpass\rcreate link template vlan$1 common\rset pppoe iface vlan$1\rset link enable incoming\rexit\r" | /usr/local/bin/netcat -w 1 $x $MPORT

done

#ну и копируем в mpd.conf

#create link template vlan2 common
#set pppoe iface vlan2
#set link enable incoming


Изменено пользователем roysbike

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно собрать все валны в мост, в котором запретить форвардинг (иначе смысл вланов ? :)) и повесить на него 1 экземпляр пппое-сервера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавляем vlan в mpd через телнет, чтобы его не рестартовать

Здесь всё более-менее понятно и как бы проблем особых нет.

А вот с vlan на FreeBSD есть один неясный момент - как их (vlan-ы) ВСЕ протащить через ядро к NAS-ам?

ВСЕ навешивать на коммутаторе ядра? А если vlan-per-user и vlan-ов 5000 и более?

QinQ FreeBSD вроде как и умеет, но как-то через задний проход похоже. Или я ошибаюсь?

Я было хотел сделать QinQ на агрегации и в ядро протащить "обёрнутый" vlan, но наткнулся на проблему, как "распаковать" vlan-ы на FreeBSD.

В Linux сиё без проблем, а вот во фре всё очень туманно..

 

P.S. В принципе vlan-per-user я делать не собираюсь, но "влан на дом" (коммутатор) хотелось бы реализовать.

При этом получается порядка 400 vlan. Вроде как и не особо много. Но разруливать в ядре даже такую небольшую кучку совсем не айс..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А вот с vlan на FreeBSD есть один неясный момент - как их (vlan-ы) ВСЕ протащить через ядро к NAS-ам?

ВСЕ навешивать на коммутаторе ядра? А если vlan-per-user и vlan-ов 5000 и более?

а не проще разбить на мелкие и упростить задачу.

я сделал PPPoE relay.

 

как-то так если поможет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я было хотел сделать QinQ на агрегации и в ядро протащить "обёрнутый" vlan, но наткнулся на проблему, как "распаковать" vlan-ы на FreeBSD.

Распаковать можно используя последний ng_vlan, я там переписывал чтобы можно было указывать ethernet_type = код отличный от того что всегда в вланах используется.

На выходе там получилась бы цепочка: ng_vlan(ext) - ng_vlan(int)(много) - ng_ether(много).

Тут на русском: http://www.netlab.linkpc.net/forum/index.php?topic=781.0

 

Либо можно if_vlan юзать, но там мелкий патчик нужен, чтобы они друг на дружку стекировались:

sys/net/if_vlan.c

#define VLAN_LOCK_INIT() mtx_init(&ifv_mtx, "vlan_global", NULL, MTX_DEF)

меняем MTX_DEF на MTX_RECURSE

и закомментариваем две строчки:

if (p->if_type != IFT_ETHER)

return (EPROTONOSUPPORT);

 

Есть ещё один вариант - можно написать ноду которая будет запоминать из какого влана пришёл пакет с каким маком, снимать влан тэг и отдавать ядру, и потом обратно пакеты на этот мак будет тэгировать.

Тут вообще не потребуется городить тыщи интерфейсов, но есть косяк с дублирующимися маками.

Типа ассиметрик влан от длинка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нафига вообще топикстартеру столько vlan-ов если PPPoE будет.

Один на агрегирующий узел и всё, а дальше нарезать изоляцией портов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Либо можно if_vlan юзать, но там мелкий патчик нужен, чтобы они друг на дружку стекировались:

sys/net/if_vlan.c

#define VLAN_LOCK_INIT() mtx_init(&ifv_mtx, "vlan_global", NULL, MTX_DEF)

меняем MTX_DEF на MTX_RECURSE

и закомментариваем две строчки:

if (p->if_type != IFT_ETHER)

return (EPROTONOSUPPORT);

В девятке достаточно закомментарить две строчки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.