Про QOS понял, попробую, действительно должно помочь.А вот с вайфаем засада другая, у Соседа свой вай фай, т.е свой роутер, который подключен к моему и раздает вай фай у него по квартире...У нас до этого было так, кабель от моего роутера, был включен в его роутер в разъем ЛАН(почему сделали так а не в ВАН уже не помню, вроде как что то связанное с общением компов по сети, если в ВАН мы не видели друг друга компов) И дальше по вай фаю раздается у него по квартире...Сейчас получается я на свой вай фай запретил поток мультикаст, а на его вайфай естественно это не распостраняется...Я как уже не колупался с его роутером, у меня не получается заставить его работать по вай фай в нынешних условиях..по кабелю работает норм...
Был у вас нормальный рабочий вариант:
Инет-----dd-wrt(LAN)-----------(LAN)роутер
так же рабочий вариант и с:
Инет-----dd-wrt(LAN)-----------(WAN)роутер
на роутере прописать на WAN порт стат из адреса локальной сети dd-wrt или получить по DHCP от него.
У роутера будет своя локальная сеть отличная от dd-wrt, где шлюзом для нее должен быть адрес dd-wrt и все должно было работать и роутер так же должен был раздавать инет и по wifi так же. Естественно уже при таком подключении нужно так же будет смотреть на разрешения на проход мультикастов с wan порта на LAN порт в данном роутере.
Что то я не то с QOS намудрил...теперь он даже когда IGMP поток отключен, в торренте очень медленно поднимается до 1 мегабайта в секунду, когда включаю тв, то срезает сразу где то до 512 килобайт(4 мегабита).
Вообще, в идеале(когда было подключение тв через свитч, а интернет через роутер) Торрент разгонялся до 5,1 мегабайта в секунду т.е примерно 40 мегабит, при это стабильно работал IGMP. В настройках я поставил 36000 входящего и 36000 исходящего, на пробу, думал хватит. Но как то где то я скосячил...
з.ы. По тарифу у меня скорость интернета не ограничена, т.е упирается в возможности роутера, ну и физики 100 мегабит.
upd:
Примерно через 5-10 минут работы IGMP и Торрента, если попытатся посмотреть что нибудь в веб интерфейсе модема, он не откликнется...а еще через минутку тушит пппое сессию и поднимает заново..Ощущение что ему ресурсов не хватает.
На форуме уже была схема по Qos и % отношение, повторю ниже это было в релизах 17201, но думаю сейчас в новых скорей всего так же.
Значение "ХХ до uplink" если канал свободен то поднять до "uplink", в противном случае не ниже "ХХ"
Для проверки что куда заходит:
Code:
root@My-Fan: /tmp# tc -d -s class sh dev [имя_интерфейса]
Где основным показателем так же будет параметры буфера очереди:
Х burst – размер в байтах буфера;
Х cburst – минимальный размер данных в байтах, передаваемых родительской очереди; обычно не меньше mtu-интерфейса.
Запустите команду "top" в telnet и посмотрите как работает, выход по "Ctrl-C"
У вас DIR300/NRU - проц 3050 (320MHz) 32MB - ОЗУ.
Попробуйте со скоростью поменьше.
Ну можно же разобраться. Я вам показал схему реализации на dd-wrt и подставил ваши значения 36000 , чтоб получить цифры и вы посмотрели какие скорости у вас получаются в каждой ветки, ветка Bulk 1:40 у которой ограничение
т.е. как только потребуется канал, так в этой ветке скорость упадет и ее минимум до rate 1000bit, как только канал освободиться то скорость будет подниматься до значения ceil 36000Kbit
входной канал на WAN ограничен вашим параметром 36000, все остальные пакеты на которых нет правил попадут в ветку Standart эта ветка 1:30 она имеет
нижний гарантированный порог rate 3600Kbit и когда канал свободен то до ceil 36000Kbit
Каждый пакет маркируется и в соответствии с этим маркером идет в нужную ветку. Команда awk ..... /proc/net/ip_conntrack показывает, есть ли такие пакеты, если да то Qos работает.
Почему медленно поднимается скорость это можете тогда посмотреть такой параметр в dd-wrt как IP Filter Settings (adjust these for P2P), а точнее TCP Congestion Control и выбрать значение например - cubic, reno, bic и т.д., какой алгоритм лучше можно найти в интернете.
http://192.168.1.1/Management.asp в самом низу
Пробовал этим и другими методами поднять dual access. Но ни один не сработал. ip получаю по dhcp, провайдер для локальной сети дает эти маршруты:
10.0.0.0 netmask 255.0.0.0 gw 10.169.110.1
91.202.24.0 netmask 255.255.252.0 gw 10.169.110.1
172.16.0.0 netmask 255.240.0.0 gw 10.169.110.1
192.168.0.0 netmask 255.255.0.0 gw 10.169.110.1
Пробовал этим и другими методами поднять dual access. Но ни один не сработал. ip получаю по dhcp, провайдер для локальной сети дает эти маршруты:
10.0.0.0 netmask 255.0.0.0 gw 10.169.110.1
91.202.24.0 netmask 255.255.252.0 gw 10.169.110.1
172.16.0.0 netmask 255.240.0.0 gw 10.169.110.1
192.168.0.0 netmask 255.255.0.0 gw 10.169.110.1
данные ifconfig
ath0 Link encap:Ethernet HWaddr 90:F6:52:B9:4A:4A
br0 Link encap:Ethernet HWaddr 90:F6:52:B9:4A:48
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
ppp0 Link encap:Point-to-Point Protocol
inet addr:31.210.193.111 P-t-P:172.16.0.1 Mask:255.255.255.255
vlan1 Link encap:Ethernet HWaddr 90:F6:52:B9:4A:48
vlan2 Link encap:Ethernet HWaddr 90:F6:52:B9:4A:49
wifi0 Link encap:Ethernet HWaddr 90:F6:52:B9:4A:4A
Данные route:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.16.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 172.16.0.1 0.0.0.0 UG 0 0 0 ppp0
Не понятно каким этим и другим.
Для того чтоб был dual access нужно иметь два сетевых интерфеса на WAN порту с IP, у вас их нет:
ppp0 inet addr:31.210.193.111
vlan2 Link encap:Ethernet
Выглядит это примерно так:
Code:
...
ppp0 Link encap:Point-to-Point Protocol
inet addr:172.20.х.х P-t-P:193.х.х.х Mask:255.255.255.255
...
vlan2 Link encap:Ethernet HWaddr х:х:х:х:х:х
inet addr:192.168.20.52 Bcast:192.168.63.255 Mask:255.255.255.255
...
Спрашивайте у своего провайдера по этим маршрутам и как вам добраться до шлюза который он дает 10.169.110.1
Поддержка провайдера предлагает такой способ:
Custom Script:
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"
case "$1" in
deconfig)
/sbin/ifconfig $interface 0.0.0.0
;;
ip route add 10.0.0.0/8 via $router
ip route add 172.16.0.0/12 via $router
ip route add 192.168.0.0/16 via $router
ip route add 91.202.24.0/22 via $router
ip route add 193.254.224.0/23 via $router
Arikter
Проверяйте все в ручную по шагам всего 4 шага и только потом скрипт, вам нужно
1. получить IP и поднять его на vlan2 через
udhcpc -i vlan2 -p /var/run/udhcpc.pid -s /tmp/udhcpc
2. vlan2 должен получить IP скорей всего из сетки 10.х.х.х, обратить внимание на маску, проверить ifconfig
3.
далее просто прописать стат маршрут, что - то типа, но все зависит от полученного IP, чтоб через него можно было добраться до шлюза 10.169.110.1
После выполнения ваших рекомендаций vlan2 получил ip, что видно из ifconfig
...
ppp0 Link encap:Point-to-Point Protocol
inet addr:178.210.62.130 P-t-P:172.16.0.1 Mask:255.255.255.255
...
vlan2 Link encap:Ethernet HWaddr 00:23:54:E3:17:CA
inet addr:10.169.110.237 Bcast:10.169.110.255 Mask:255.255.255.0
...
Но при этом пропадает интернет, то есть необходимо сделать ppp0 default маршрутом, но я не знаю как.
Команда для default
Code:
route add default gw [IP_адрес]
но для начала, раз определились с форматом команд по назначению, то в startup подъем IP на vlan2, так как ppp поднимается позже, то к этому времени на vlan2 ужу будет IP, а после подъема ppp будет и default маршрут на ppp.
Не забудьте про iptables.
Странно, после перезагрузки роутера команда udhcpc -i vlan2 -p /var/run/udhcpc.pid -s /tmp/udhcpc не оказывает вообще никакого эффекта. Сменил прошивку - результат не изменился.
Странно, после перезагрузки роутера команда udhcpc -i vlan2 -p /var/run/udhcpc.pid -s /tmp/udhcpc не оказывает вообще никакого эффекта. Сменил прошивку - результат не изменился.
Попробуем проще.
Поднятие PPPoE на WAN порту при получении от провайдера IP по DHCP для локальной сети.
1. Настройка WAN на DHCP автоматом
WAN Connection Type -> Connection Type -> Automatic DHCP
2. Создаем startup и пользовательский скрипт
2.1 startup
Command Shell -> Commands
#!/bin/sh
WANup_ppp0=`ifconfig | awk '/ppp0/ {print $1}'`
if [ "$WANup_ppp0" = "ppp0" ]; then
Wan_ip_addr_ppp=`ifconfig | grep 88.88. | awk '{print ($2)}' | awk -F: '{print ($2)}'`
Wan_ip_gw_ppp=`ifconfig | grep 88.88. | awk '{print ($3)}' | awk -F: '{print ($2)}'`
nvram set wan_gateway_buf="$Wan_ip_gw_ppp"
nvram set wan_ipaddr_buf="$Wan_ip_addr_ppp"
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0\
-j SNAT --to-source $Wan_ip_addr_ppp
route del default 2>/dev/null
route add default gw $Wan_ip_gw_ppp 2>/dev/null
exit;
else
if [ -f "/tmp/var/run/ppp0.pid" ]; then
exit;
fi
pppd file /tmp/ppp/options.pppoe
exit;
fi
if [ -z "$(nvram get wan_gateway_buf)" ]; then
exit;
fi
iptables -t nat -D POSTROUTING -s 192.168.1.0/24 -o ppp0\
-j SNAT --to-source $(nvram get wan_ipaddr_buf)
route del default 2>/dev/null
route add default gw $(nvram get wan_gateway) 2>/dev/null
nvram set wan_gateway_buf=""
exit;
Примечание, вместо 192.168.1.0/24 - локальная сеть dd-wrt роутера, первые два цифры из IP 88.88. заменить на две реальные, который будет получен при поднятии pppoe например:
Code:
ppp0 Link encap:Point-to-Point Protocol
inet addr:33.33.х.х P-t-P:88.88.х.х Mask:255.255.255.255
3. Файл который получиться custom.sh запускать через cron с интервалом в 30сек., он осуществляет проверку поднятия ppp0 и настройку default маршрутов.
Итог, до запуска из cron custom.sh:
- до поднятия ppp0, на WAN потру будет получен IP от провайдера для локальной сети;
- через некоторое время будет поднято ppp0 через установку соединения pppoe и конф.файл
Code:
pppd file /tmp/ppp/options.pppoe
- через файл custom.sh контроль состояния ppp0 интерфейса и в зависимости от состояния выбор default маршрута, либо на шлюз от ppp0 или когда разрыв на ppp0 то тогда на wan к локальному шлюзу провайдера.
Все что касается IPTV от провайдера (локально) смотрим на форуме.