Jump to content
Калькуляторы

iptables classify по номеру ппп интерфейса вопрос я один такой?

Не думаю, что я так одинок в том, что часть абонентов терминируются на pptp/l2tp сервер с линупсом.

Думаю, что все думали - как честно резать исходящий трафик.

Думаю все идут на разные ухищрения, что бы классифицировать трафик идущий от абонента (пришедший на интерфейс ppp+ и отправляющийся на скажем internet).

и вот меня задело за живое:

iptables -t mangle -A FORWARD -i ppp+ -o internet -j CLASSIFY --set-class 1:100

и все пакеты будут классифицированы.

iptables -t mangle -A FORWARD -i pppX -o internet -j CLASSIFY --set-class 1:100

и будут классифицированы пакеты с ппп под номером Х, только понадобиться гора правил, и недешевое проц. вермя :)

ну и я чуть-чуть переписал модуль, теперь оно работает вот так:

iptables -t mangle -A FORWARD -i ppp+ -o internet -j CLASSIFY --set-class 1:100

и все пакеты от pppX получают classid (приорити) 1:100+X (нужно помнить, что Х - десятичное, а 100-шеснадцатиричное).

имеем - одно правило и все интерфейсы классифицируются, в ip-up суем создание классов хтб на исх. интерфейсе (internet).

в довесок получаем возможность классифицировать трафик (ну там локал не локал) например:

iptables -t mangle -A FORWARD -d ! 10.0.0.0/8 -i ppp+ -o internet -j CLASSIFY --set-class 1:100

iptables -t mangle -A FORWARD -d 10.0.0.0/8 -i ppp+ -o internet -j CLASSIFY --set-class 2:100

в теории сюда можно воткнуть ip-set с списком сетей или еще-чем-либо

изменений в коде модуля -- очень мало, думаю даже школьник бы справился

 

я вот сижу и мучаюсь я один такой гений, или кто-то такое уже делал ?

или же просто путь тупиковый и не интересный ?

Share this post


Link to post
Share on other sites

Dethman

tc filter u32 как-то обычно хватало. Или на ingress ppp интерфейсу можно просто полисер повесить если ухщрений не надо...

Share this post


Link to post
Share on other sites

хм, а его (tc filter u32) можно вывешивать на интерфес откуда валится трафик и класифицировать пакеты для выхода?

т.е. трафик приходит на пппХ, и соответственно выходит из internet

Share this post


Link to post
Share on other sites

Dethman

Если нет NAT, проблем не возникает, матчите пакеты по src и по всему остальному что требуется, и присваиваете им classid.

 

Еще есть flow - тот сразу по ip присваивает classid

Edited by vitalyb

Share this post


Link to post
Share on other sites

это да, сейчас у меня как раз по флоу на исх интерфейсе, фильтр работает.

но как-то.... классид присваивать по ip - не комильфо, ибо либо нужно либо маску накладывать, либо иметь на выходе что-то типа cafa:0101...

вобщем буду попробовать...

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this