burdakovd
@burdakovd

D-Link DIR-320 — настройка wireless vlan (?)?

Дано

Провайдер позволяет зарегистрировать по MAC-адресам четыре устройства для выхода в интернет.

На каждый MAC-адрес по ipv4 выдаётся один IP и ограниченная полоса трафика.

По ipv6 ограничений ни по скорости, ни по количеству устройств нет.



Есть три стационарных устройства и много мобильных устройств (телефоны, гостевые ноутбуки, etc.)



Задача

Дать доступ в интернет (и по ipv4 и по ipv6) всем устройствам (и стационарным и мобильным).

Дать возможность подключаться как через Wi-Fi, так и через Ethernet (всем устройствам, и стационарным и мобильным)



Рассмотренные варианты решения

Использовать bridging — не подходит, так как зарегистрировать можно только 4 MAC-адреса, а устройств — больше.



Использовать маршрутизацию (ipv4 — NAT, ipv6 — ??) — плохо, потому что все устройства будут использовать только одну полосу, остальные три будут простаивать.



Приходит в голову такой вариант: зарегистрировать у провайдера MAC-адреса стационарных компьютеров, и MAC-адрес длинка.



Дать стационарным устройствам выделенные полосы (то есть их трафик передавать наружу на канальном уровне), а мобильным устройствам выдать IP из своей внутренней сети и маршрутизировать (ipv4 — NAT, ipv6 — ??) их трафик на сетевом уровне (они все вместе будут использовать одну полосу).



Отсюда вопрос: как это реализовать? (готов к перепрошивке, если это необходимо)



План:

1. нужно отличать трафик между этими двумя группами устройств (vlan?)

1.1. или делать это по MAC-адресам (как?)

1.2. или физически?

1.2.1. по Wi-Fi сделать две разные SSID — для стационарных и для мобильных (может ли один роутер вещать на двух SSID, при этом чтобы их сигналы не мешали друг другу?)

1.2.2. по Ethernet выделить некоторые порты как «для стационарных компьютеров», а некоторые — «для мобильных устройств и гостей»

2. выдавать адреса из внутренней сети (ipv4 — dhcp, ipv6 — ??) только мобильным устройствам, стационарные получат адреса от провайдера

3. трафик устройств из одной группы нужно передавать наружу на канальном уровне, другой — на сетевом (для ipv4 — нужен NAT, для ipv6 — не знаю что делать, маршрутизацией ipv6 никогда не занимался)

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

5. (это уже совсем с низким приоритетом) чтобы при этом хотя бы на стационарных устройствах работал IPTV (multicast). Сейчас роутер просто перезагружается при попытке смотреть через него IPTV



UPD:

Настроил всё, кроме ipv6 в гостевой сети (на мультикаст забил)

Для тех, кому подобное понадобится, опишу последовательность действий:

0) DD-WRT v24-sp2 (12/19/10) std-nokaid (SVN revision 15943M NEWD Eko)

1) bridging WAN and WLAN: www.dd-wrt.com/phpBB2/viewtopic.php?t=38368, обе WLAN делаем bridged

3) Если по инструкции из предыдущего пункта назначить в качестве WAN br1 — происходят странные вещи: www.dd-wrt.com/phpBB2/viewtopic.php?p=312471

4) поэтому WAN port assignment не трогаем, а вручную дописываем нужные правила в iptables и перезапускаем демонов с нужными параметрами (вот они, костыли! В случае если watchdog или WebUI перезапустят каких-то демонов, то они запустят их с неверными параметрами)



Скрипты:

# startup script<br>
killall udhcpc<br>
ifconfig vlan1 0.0.0.0<br>
brctl delif br0 wl0.1<br>
brctl addbr br1<br>
brctl addif br1 vlan1<br>
brctl addif br1 wl0.1<br>
ifup br1<br>
udhcpc -i br1 -p /var/run/udhcpc.pid -s /tmp/udhcpc<br>




# Firewall script<br>
killall nas<br>
sleep 1<br>
killall -9 nas<br>
sleep 1<br>
nas -P /tmp/nas.wl0lan.pid -l br0 -H 34954 -i eth1 -A -m 4 -k guest_key -s guest_ssid -w 6 -g 3600<br>
nas -P /tmp/nas.wl0.1lan.pid -l br1 -H 34954 -i wl0.1 -A -m 4 -k home_key -s home_ssid -w 6 -g 3600<br>
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o br1 -j MASQUERADE<br>




Вопрос, как настроить маршрутизацию ipv6 — остаётся открытым.

NAT не нужен, достаточно просто маршрутизации и чтобы устройства получали свой ipv6 адрес и адрес шлюза.

Желательно без необходимости подключать jffs и устанавливать дополнительные пакеты — места на устройстве всего 4 Мб.
  • Вопрос задан
  • 8337 просмотров
Пригласить эксперта
Ответы на вопрос 2
@DAzgluk
Если я все правильно понял:
1. Покупаете 5 портовый свич.
2. В первый порт втыкаете аплинк до провайдера
3. Во второй — четвертый порт втыкаете стационарники.
4. В пятый порт втыкаете роутер WAN портом.
В результате стационарники и роутер у вас в провайдерской сети, клиенты за роутером — за NATом. Никаких проблем с Multicast на стациноарниках. Если он нужен и за роутером, то рекомендую смотреть в сторону пакета udpxy либо на роутере, либо на любом ПК

P.S. Интересный у вас провайдер :)
Ответ написан
ValdikSS
@ValdikSS
Я не очень хорошо знаю сети, но способов, как мне кажется, действительно много. Все зависит от степени изврата.
1 способ:
Ставим OpenWRT на dir-320, регистрируем MAC роутера и трех ваших компов, свитч в роутере делаем тупым свитчем: для портов WAN-LAN1-LAN2-LAN3 VLAN1, а LAN4 оставляем как технологический порт на VLAN2, например. Все нетегируемое. WAN интерфейс на роутере настраиваем на VLAN1. Делаем два SSIDа — первый — бридж на VLAN1, второй — роутинг через WAN роутера. Таким образом, можно проводами подключить три стационарника, а можно и через вайфай(но MAC у проводной и wi-fi сети разные, не забывайте. Но это решается, вроде, через iptables.) и плюс мобильные устройства роутерятся роутером через его канал.
2 способ.
Когда у меня был интернет 256кбит/c, а я разузнал, что PPPoE сессий можно сделать сколько угодно, и на каждой будет по 256кбит/с, то я поднимал кучу сессий и делал между ними балансировку.
В вашем же случае, можно поднять 4 сессии и сделать между ними балансировку средствами роутера(главное, чтобы мощности хватило, мой больше 40 мбит в режиме роутинга через себя не пропускает, openwrt с 2.6 ядром) и тогда у вас будет супер скорость на всех устройствах.
3 способ.
Что-то вроде комбинации 1 и 2, если вы боитесь бриджа или вам он не нужен. Поднимаете роутером 4 соединения и маршрутизируете от каждого компьютера на свободный канал.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы