photon
Активный участник-
Публикации
886 -
Зарегистрирован
-
Посещение
Все публикации пользователя photon
-
Крым.Санкции. Как обходить ?
тему ответил в Mechanic пользователя photon в Программное обеспечение, биллинг и *unix системы
Следует договориться с ближайшими российскими провайдерами о NAT и маршрутизации через их сети. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Да, если 4 байта из ipv6 совпадают с ipv4, то в базе можно хранить только их. С другой стороны, можно делать хэш-фильтрацию по двум байтам, т.к. классов все равно максимум 2^16-1, т.е. совпадать должны только два. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Если раздавать IPv6 блоками по /64, как это обычно и делается, то изменятся только смещения для src/dst ip. Просто хэширование будет не по всем октетам IPv6-адреса, а только по четырем. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Исправил, там не хватало проверок в двух местах. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Поддержку нескольких интерфейсов на вход и выход добавить несложно. Однако, будет ли такая возможность востребована кем-то еще? -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Дело в том, что я тестирую скрипт в простой конфигурации с двумя интерфейсами. Невозможно воспроизвести и предусмотреть все выкрутасы с вланами на шейпере. Это ваши личные дела. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
red_neon, какие изменения внесены по сравнению со стандартным конфигом? -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Это странно, т.к. там везде натыканы if $i_if_enabled; ... if $o_if_enabled. Посмотрю. -
ipset + skbprio + tc
тему ответил в taf_321 пользователя photon в Программное обеспечение, биллинг и *unix системы
Какая разница, ipv6 или ipv4, если классов все равно не больше 2^16-1? Классификацию по хэшам можно делать абсолютно так же, по уникальным четырем байтам из IPv6-адреса, изменится только смещение. -
Злобный шейпер tc, htb - лаги на машине с 1200+ правилами
тему ответил в pavel.odintsov пользователя photon в Программное обеспечение, биллинг и *unix системы
Превышение суммы rate всех классов над скоростью корневого класса, иначе говоря, oversubscription -- это нормальная ситуация для провайдера, так же как и для банка, который выдает кредитов больше, чем у него есть наличных денег. Главное -- с помощью Nagios/Cacti/Zabbix или чего-то еще измерять суммарную полосу, которую реально загружают пользователи и следить за тем, чтобы она не упиралась в полку, иначе начнутся потери пакетов. Генерация правил с хэш-фильтрами уже давно автоматизирована: http://sourceforge.net/projects/sc-tool/ -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Перед запуском создайте в базе аккаунт для шейпера или пропишите default-класс fffe в самом скрипте, если нужно пропускать весь неклассифицированный трафик. По умолчанию они не создаются. default-класс появился в sc 1.5.x потому что без него не работало в дистрибутивах с новыми ядрами и iproute. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Аналогичный результат может быть достигнут без всяких исправлений кода, если отключить внешний интерфейс out_if = disable limit_method = shaping -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Во всех функциях hybrid_* нужно найти и отключить все вызовы функций policer_dev_*. Например, sub hybrid_add { my ($ip, $cid, $rate) = @_; my $ceil = $rate; my ($ht, $key) = ip_leafht_key($ip); # policer_dev_add($i_if, $rate, $ceil, "ip src $ip", $ht, $key); shaper_dev_add($i_if, $cid, $rate, $ceil, "ip dst $ip", $ht, $key); return $?; } -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Для увеличения аплоада нужно поставить большие значения policer_burst_ratio или использовать режим shaping. Полисер по определению не может гарантировать полосу пропускания, он только обрезает избыточный пакетрейт. Баг с неработающей в режиме hybrid командой sc list починил в 1.5.1. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
txqueuelen нужно поднять до 4096, limit - минимум до 100 пакетов. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Так с ходу сложно сказать. Какие настройки используются для распределения нагрузки от softirq? Включен ли MSI-X? На этот счет есть противоречивые сведения: на одном железе помогает interrupt pinning и отключение msi-x, на другом -- наоборот помогает распределение по всем процессорам и включение msi-x: http://natsys-lab.blogspot.de/2012/09/linux-scaling-softirq-among-many-cpu.html . Какие размеры rx/tx rings установлены с помощью ethtool? Каков размер виртуальной очереди для отправки пакетов (параметр txqueuelen в ifconfig). Возможно, для отдельных классов, в которых появляются дропы, стоит увеличить размер очереди (параметр limit) и использовать краевую дисциплину codel. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Если поставить 10-гигабитные сетевухи, то вполне возможно. Максимум, что я видел -- до 700 kpps в пиках на спаренных гигабитных портах. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Если трафик не проходит через созданные для него фильтры и режется этим правилом, то он и шейпиться не будет. Нужно использовать простые конфигурации: шейпер на выделенной машине в режиме моста, без вланов. Вланы нужно маршрутизировать до шейпера на L3-коммутаторе. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
В старом конфиге было: out_if = ifb0 in_if = eth0.199 а в новом стало: out_if = eth0.504 in_if = eth0.199 Возможно, причина в этом. Проверьте через tcpdump, ходит ли через интерфейсы тегированный трафик, у которого все поля смещены на 4 байта. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
В версии 1.5 немного поменялся конфиг. Нужно убедиться, что все совместимо. Я не гарантирую работоспособности на vlan-интерфейсах, потому что не тестирую скрипт в такой конфигурации. Межвлановую маршрутизацию нужно делать на другом оборудовании, а не вместе с per-user QoS. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Нужно хранить в базе номера классов, чтобы не вычислять их из IP-адресов. Это позволит обойти данное ограничение. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Да, нужно размещать пользователей по подсетям более компактно. -
sc: скрипт для управления Linux-шейпером
тему ответил в photon пользователя photon в Программное обеспечение, биллинг и *unix системы
Я могу сделать такое решение, адаптированное под ваш биллинг. Обращайтесь в личку. Поскольку между IP-адресами и классами не будет взаимооднозначного соответствия, номера классов (id пользователя) должны храниться в базе. -
Платежный терминал для собственных нужд.
тему ответил в ThreeDHead пользователя photon в Программное обеспечение, биллинг и *unix системы
Живя в Германии, я вообще забыл о том, что такое "платежный терминал", поскольку оплата происходит безналом с банковского счета, через платежные поручения. При подключении, провайдер подписывает с вами договор, по которому имеет право ежемесячно списывать со счета определенную сумму. Банк в этом случае является третьей стороной, обеспечивающей безопасность платежей. В России так не принято, потому что все друг другу не доверяют и пытаются обмануть: и клиенты, и поставщики, и банкиры. -
tc шейпинг
тему ответил в lohmag пользователя photon в Программное обеспечение, биллинг и *unix системы
Скорее всего, у вас проблема в том, что скорости дочерних классов слишком мелкие (десятки килобит), а MTU у Ethernet слишком большой (1500 байт). Эмулировать такое медленное соединение поверх толстого канала можно только таким образом, что между пакетами будут огромные задержки. Пример с HFSC: tc qdisc add dev eth0 root handle 1: hfsc default fffe tc class add dev eth0 parent 1: classid 1:1 hfsc sc rate 9.7Mbit ul rate 9.7Mbit tc class add dev eth0 parent 1:1 classid 1:100 hfsc sc umax 1540 dmax 10ms rate 12.8Kbit ul rate 9.7Mbit tc qdisc add dev eth0 parent 1:100 handle 100 codel limit 10