Привет. Стоит сервер на линуксе, который шейпит трафик простым биллингом без приоритетов и очередей. Забивается канал вечерами. Опыт показал что отключение торента не есть хорошо тк клиенты начинают возмущатся с вопросами "А чем торент хуже контакта" или "за что я плачу деньги". Если торенты разрешать то возникают ситуации когда при нескольких активных клиентах к вечеру забит весь канал созданными подключениями и открыть страничку другим пользователям становится уже затруднительно. Использовать микротик для этих целей дороговато, посему нужен совет как средствами файрвола ограничить количество сессий на однин айпи например до 25?
Поиск в сети нашёл несколько правил, одно из них
============================================
iptables -A torrent -m recent --update --seconds 600 --hitcount 3 -j DROP
iptables -A torrent -m recent --set -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate NEW -p tcp --dport [список портов] -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate NEW -p tcp -j torrent
(что означает список портов? Что это даст? Значит ли это что соединения через эти порты не будут ограничиваться?)
И второй вариант
====================
"Например присвоим всем сетевыем пакетам с состоянием NEW (новое соединение), проходящие через сетевой интерфейс eth1 нашего роутера имя SYNF.
-A FORWARD -i eth1 -m state --state NEW -m recent --set --name SYNF --rsource
Вторым правилом мы скажем модулю, что если от какого-то клиента таких пакетов помеченных как SYNF больше 10 за 10 секунд, то такие пакеты должны отбрасываться.
-A FORWARD -i eth0 -m state --state NEW -m recent --update --seconds 10 --hitcount 10 --rttl --name SYNF --rsource -j DROP"
=====================================
(у меня eth0 смотрит в сеть а eth1 в локалку)
какой из вариантов предпочтительнее по производительности?
Насчёт ускорения реакции на загрузку пакетов с размером менее 5 кб, чтобы закачки с большим размером имели меньший приоритет возможно сделать? Спасибо за помощь.
Поиск в сети нашёл несколько правил, одно из них
============================================
iptables -A torrent -m recent --update --seconds 600 --hitcount 3 -j DROP
iptables -A torrent -m recent --set -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate NEW -p tcp --dport [список портов] -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate NEW -p tcp -j torrent
(что означает список портов? Что это даст? Значит ли это что соединения через эти порты не будут ограничиваться?)
И второй вариант
====================
"Например присвоим всем сетевыем пакетам с состоянием NEW (новое соединение), проходящие через сетевой интерфейс eth1 нашего роутера имя SYNF.
-A FORWARD -i eth1 -m state --state NEW -m recent --set --name SYNF --rsource
Вторым правилом мы скажем модулю, что если от какого-то клиента таких пакетов помеченных как SYNF больше 10 за 10 секунд, то такие пакеты должны отбрасываться.
-A FORWARD -i eth0 -m state --state NEW -m recent --update --seconds 10 --hitcount 10 --rttl --name SYNF --rsource -j DROP"
=====================================
(у меня eth0 смотрит в сеть а eth1 в локалку)
какой из вариантов предпочтительнее по производительности?
Насчёт ускорения реакции на загрузку пакетов с размером менее 5 кб, чтобы закачки с большим размером имели меньший приоритет возможно сделать? Спасибо за помощь.
Комментарий