Jump to content
Калькуляторы

FreeBSD 8.2, MPD5.5, RADIUS, IPv6 Если кто поднимал - помогите и мне поднять.

Собственно по теме, есть FreeBSD 8.2, MPD5.5, RADIUS, система работает по v4 все в норме, хочу прикрутить к ней еще и IPv6. Эксперементы с ipv6cp дали прописывание автоматического v6 IPшника на обоих концах тунеля, но основанного на МАСах сетевух. Может кто подскажет как правильно заставить прописывать конкретные IPv6 на концах тунеля? Или может как по другому делать? Сеть IPv6 есть своя, но как ее раздавать не понятно. Желательно еще рассмотреть вариант отдавания небольшой подсети на пользователя, но начать хотябы со /128...

Share this post


Link to post
Share on other sites

На уровне mpd согласуются только link-local адреса, и на этом его участие заканчивается.

Дальше ipv6 сети назначаются по ra/dhcpv6.

Share this post


Link to post
Share on other sites

Т.е. через радиус никак не отвесить?

Как тогда народ прикручивает? Примеры есть?

Share this post


Link to post
Share on other sites

Провел несколько эксперементов. Пока ничего толкового не вырисовывается. DHCPD6 отказывается работать на виртуальных интерфейсах (ng0 например). Как выкрутиться из этого пока не пойму. Если у кого есть уже опыт экстпуатации IPv6 - напишите сюда примеры, желательно на FreeBSD и MPD5...

Share this post


Link to post
Share on other sites

Кваговский rtdadv работает, если его вкючать/выключать на интерфейсах из скриптов mpd.

DHCPv6, скорее всего, так-же.

Share this post


Link to post
Share on other sites

isc-dhcp6? В Linux у этого сервера были проблемы с виртуальными интерфейсами, пробуйте другие реализации dhcpv6 сервера. Ещё одна проблема в том, что существующие dhcpv6 сервера для prefix-delegation требуют duid, хотя для vpn подключений это явно лишнее и взять его просто неоткуда. Тут придётся изобретать костыли. Кстати dhcpv6 без RA ничего не даст, у клиента не будет настроен маршрут по умолчанию.

Share this post


Link to post
Share on other sites

Ок. Поиграюсь. С isc-dhcp6 действительно проблема с виртуальными, как и писал выше. У 4-й версии этой проблемы нет.

Share this post


Link to post
Share on other sites

Ничего хорошего не получается. Любой DHCP6 сервер пишет

Unsupported device type 53 for "ng0"

.

RA подня и отдал, но не отдает DNS для винды и контроль адресов клиента никакой, а следственно и биллинг прикрутить непонятно как. Похоже схема только для IPoE возможна, и то пилить надо.

 

Неужели еще никто по тунелям IPv6 не дает хомячкам?

Share this post


Link to post
Share on other sites

Контроль то как-раз полный и с биллингом всё предельно ясно: абонентский трафик идёт только через его туннель.

Ну а с остальным - когда выкинут WinXP и старые SOHO раутеры, тогда и остальное допилят.

 

З.Ы. Даже больше надежды на DHCP во FreeRADIUS-е, похоже его раньше допилят и будет единая система.

Edited by Deac

Share this post


Link to post
Share on other sites

Это не серьёзно.

 

ngX это L3 интерфейс, у него нет эзернета и маки он не видит. Обычным дхцп серверам нужны L2 интерфейсы, чтобы они могли видеть маки в запросах. И там ещё специфика в том, что у клиента в начальный момент времени нет L3 адреса, только L2 и дхцп сервер отвечает на мак клиента (или броадкастом).

 

Если хотите скрещивать ежа с ужом - пользуйтесь инструментами, не насилуйте животных.

 

Попробуйте фаером заворачивать юдп пакеты на физ интерфейс где слушает дхцп сервер. Другой вариант это найти/написать дхцп самому, подобно тому что я на перле сделал для в4. Или хотя бы релей агента забабахать, уж это совсем просто должно быть.

 

 

 

Неужели еще никто по тунелям IPv6 не дает хомячкам?

 

Уж нативно пора бы. Туннели нужны корпорату для удалённого доступа.

 

 

Share this post


Link to post
Share on other sites

Иван, ты не прав(в принципе). )

Вот интересно, а нельзя ли ngX, поднимаемые MPD, цеплять к ng_switch и физический интерфейс(на кот. работает DHCP) - туда же?

Edited by Deac

Share this post


Link to post
Share on other sites
З.Ы. Даже больше надежды на DHCP во FreeRADIUS-е, похоже его раньше допилят и будет единая система.

 

Оно там не родное и приживается плохо. Фри радиус сам по себе не гибкий нефига (наверное его писали закостенелые телефонисты :) ) и дхцп там живёт более менее только в связке с перлом. Но перл это всё может и без фрирадиуса делать даже лучше.

 

 

Share this post


Link to post
Share on other sites
Вот интересно, а нельзя ли ngX, поднимаемые MPD цеплять к ng_switch и физический интерфейс(на кот. работает DHCP) - туда же?

 

Можно, но тогда это будут не ngX :)

 

свич - завязан на мак адресах, просто IP пакеты он не поймёт куда слать.

 

Я с этим (эзернет интерфейс для впн клиентов) уже на экспериментировался почти год назад. В итоге я написал свою ноду в которой был собственный мини IP стёк, точнее с одной стороны inet (IP) хук, с другой ethernet, нода имеет собственный IP и мак, держит свой ARP кеш и резолвит IP->mac. Мне оно было надо чтобы у меня броадкасты от/к клиентам ходили без костылей с дупликацией пакетов в фаерволе. И в итоге получалось что клиент после авторизации получал свой интерфейс в локалке, от/куда ходили броадкасты и мультикаст и обычные пакеты, нода умеет фрагментировать и собирать пакеты в обе стороны. Но интерфейс этот прямой до клиента и в обход фаера системы. А цеплял я свою ноду руками вместо ngX - те нужно было бы мпд5 править в итоге. Забросил где то на генерации ICMP пакетов о том что пакет отброшен из за фрагментации. Спустя пару месяцев осознал что зря привязался (захардкодил) к эезернету, ибо фаерварь и прочие L2 есть в мире. Думаю она (нода) будет полезна когда потребуется выкинуть в4 полностью из ядра, но сохранить возможность доступа к 4 хостам, только дописать ноду нат64.

 

Другая засада в том, что сам свич(нода) не рассчитана на нагрузки в принципе: кажется там маленький лимит на количество хуков (64) и самое плохое это глобальная блокировка таблицы форвадинга мак:хук.

 

 

Share this post


Link to post
Share on other sites

И все таки вопрос не ясен. Как именно (пример) заставить абонента в тунеле, да и сервак тоже получить нормальные, желательно конкретно заданные адреса в6 на примере mpd5?

Share this post


Link to post
Share on other sites

Для сервака прописать в конфиге статически, как это делалось для в4.

 

Для клиента искать релейагента/переписывать дхцп сервер.

 

 

Share this post


Link to post
Share on other sites

И все таки вопрос не ясен. Как именно (пример) заставить абонента в тунеле, да и сервак тоже получить нормальные, желательно конкретно заданные адреса в6 на примере mpd5?

 

Да квагой и скриптами в mpd.

 

/usr/local/bin/vtysh -c "configure terminal" -c "interface $IFACE" -c "ipv6 nd prefix абоненткая сеть/64" -c "no ipv6 nd suppress-ra"

/usr/local/bin/vtysh -c "configure terminal" -c "interface $IFACE" -c "ipv6 nd suppress-ra"

 

Абонентскую сеть брать по логину. Изврат, но другого решения я пока особо не вижу.

 

Либо просить Мотина добавить ra в mpd с радиусом :)

http://sourceforge.net/projects/mpd/forums/forum/44692/topic/3391205

Edited by littlesavage

Share this post


Link to post
Share on other sites

RA не совсем то что хотелось бы. Через RA DNS сервер винде не назначается. (У меня не получилось). Да и транжирить /64 на абонента не особо хочется. Может есть другие варианты как заставить работать нечно типа назначения адресов клиенту, как это происходит через радиус и мпд на 4-й версии?

Share this post


Link to post
Share on other sites

Да и транжирить /64 на абонента не особо хочется.

 

Только вы учтите, что всякие IPS и подобные самоделки будут блокировать атакующих по /64(как минимум), а то иначе правил в фаерволе не напосёшься. Один ваш абонент устроит атаку на какой-нибудь mail.ru, заблокируют /64 и всё... очередь звонков в техподдержку "не работает мейл.ру/вконтакте/прочее"

Share this post


Link to post
Share on other sites

Подниму тему.

Кто и как IPv6 через тунели раздает? Есть ли такие?

Сервера уже прописал в IPv6, но как дать клиентам - не выходит пока что...

Share this post


Link to post
Share on other sites

У мну другая проблема: Как шейпить выделенные IPv6?

Покажите пример pipe.

Что делать, если клиент через 12 часов переполучил другой IPv6 ?

Edited by vlad11

Share this post


Link to post
Share on other sites

Поэтому я и хочу их раздавать через тунель на MPD5.5. Там шейп на весь тунель вещается на базе ng_car. Весьма шустро работает и ему фиолетово какой будет трафик, что IPv4 что IPv6.

Share this post


Link to post
Share on other sites

У мну другая проблема: Как шейпить выделенные IPv6?

Покажите пример pipe.

Что делать, если клиент через 12 часов переполучил другой IPv6 ?

 

Там ведь только ipv6 tables пока нет. Cам dummynet работает с ipv6, в том числе и динамические pipe'ы (mask dst-ip6/src-ip6)

Share this post


Link to post
Share on other sites

Ну так что? Никто IPv6 не внедряет?

Share this post


Link to post
Share on other sites

Никто IPv6 не внедряет?

Внедряют, но мало, выпендрёжники в основном, пока.

Share this post


Link to post
Share on other sites
У мну другая проблема: Как шейпить выделенные IPv6? Покажите пример pipe. Что делать, если клиент через 12 часов переполучил другой IPv6 ?

 

Вообщем так.

 

Я хочу сделать вариант ISG для фряхи, типа http://forum.nag.ru/...showtopic=53156, только на L2.

 

Будет:

 

--ng_ether<->ng_l2ccp<->ng_ether--

          \ ng_car /

 

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

 

 

Поскольку оно L2 то IPv4, IPv6 и всё остальное (как минимум арп) пойдёт одним путём. Возможность настройки гнать все типы эзернет фреймов / только выбранные / все кроме через процессинговые ноды клиента (ng_car как минимум) я уже предусмотрел в ng_l2ccp. Трафик уже считает по макам, в корку не роняет, нода многопоточная (кто не знает ng_bridge - однопоточен). Осталось дописать чтобы эвенты скидывало на управляющий хук и по мелочам, и дальше огромная возня с юзерланд демоном/управлялкой.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this