Jump to content

Question

Posted

Всем привет! :-)

Можно ли реализовать штатными средствами следующее:

Пример:

Есть два сегмента - Домашний и Гостевой и т.д.
а) Если никого нет в Домашнем сегменте, не ограничивать скорость Гостевого сегмента.
б) ТОЛЬКО при появлении устройств(а) в Домашнем сегменте, включать ограничение скорости установленное в Гостевом сегменте.

Спасибо.

4 answers to this question

Recommended Posts

  • 0
Posted (edited)

На пальцах и на вскидку в текущей, т.е. из коробки, не получится, а на пальцах при наличие OPKG (Entware) возможно :

1. любыми доступными средствами "arp -a" или "cat /proc/net/arp" или другими (любое устройство первым делом по текущему IP получит MAC адрес устройства) - получите записи (вам интересно IP и интерфейс)

/proc/3003/net # cat arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.1.10     0x1         0x2         xx:xx:xx:xx:f5:47     *        br0
192.168.1.100    0x1         0x2         xx:xx:xx:xx:e2:a8     *        br0
/proc/3003/net # arp -a
? (192.168.1.10) at xx:xx:xx:xx:f5:47 [ether] on br0
? (192.168.1.100) at xx:xx:xx:xx:e2:a8 [ether] on br0
/proc/3003/net

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

2. тут уже можно использовать прошивку с командой "traffic-shape rate 5000" для нужного интерфейса, у вас их должно быть две для гостевого интерфейса одна с ограниченной скоростью другая убирает ее "no traffic-shape"

(config)> interface CdcEthernet0 traffic-shape rate 50000
....
(config)> interface CdcEthernet0 no traffic-shape
...
(config)> 

или так же вам понадобится использовать приложение "ndmq"

/ # ndmq -p 'interface CdcEthernet0 traffic-shape rate 50000' -P message
"CdcEthernet0" interface rate limited to 50000 kbit/s.
/ #

3. данный скрипт вписать в cron

Примечание - проблема с определением "спящих" устройств например смартфонов они в arp будут, и даже на ping будут отвечать.

Edited by vasek00
  • Thanks 1
  • 0
Posted

Понятно конечно, что через OPKG это можно сделать, но интересно было бы это иметь так сказать из коробки.

Попробую это предложить в Теме по развитию. Может будет кому интересно и народ проголосует.

 

Но все равно спасибо! :-)

  • 0
Posted (edited)

В общем написал скриптик (с комментариями). Приложу его сюда, может кому сгодится.

ВАЖНО:

скрипт нужно положить в /opt/script/ (если указываете другой каталог, то не забудьте изменить его путь в 3 пункте! в команде rm)

1.Для работы скрипта требуется установить следующие пакеты: bashnet-tools-arp, coreutils-date

2. Все настройки по ограничению скорости применяются до перезагрузки роутера! (конфиг текущих настроек роутера произведенных скриптом не сохраняется, кроме тех случае, когда были сделаны изменения в CLI или Web интерфейсе во время работы скрипта!!!)

3. Для правильной работы скрипта в /opt/etc/init.d/rc.unslung добавить строчку: rm /opt/script/previousSegments.txt

4. Ну и засовываем его в cron.

Все директории можно изменить сделав соответствующие поправки и в сам скрипт.

 

P.S. Там специфические настройки ограничения сегментов, которые по желанию можете изменить. Так же у скрипта есть пара параметров по работе с логом (есть справка, думаю разберетесь). Вроде все. :-)

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

А, ну и вторая просьбочка :-)  - все же рассмотреть предложение этого функционала, так сказать из "коробки". :-)

 

 

traffic-shape

Edited by ShadoW

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.