Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Вопрос новичка #18

Open
jamezbond13 opened this issue Aug 7, 2020 · 5 comments
Open

Вопрос новичка #18

jamezbond13 opened this issue Aug 7, 2020 · 5 comments

Comments

@jamezbond13
Copy link

Помогите разобраться.
Я правильно понял, что с помощью этого модуля я могу у себя внутри сети ограничивать скорость?
Тобишь например у меня есть сетка 192.168.0.0/24
и например диапозон ip 192.168.0.192/27 я хочу ограничить в скорости скажем в 1мбит
Не совсем понимаю как написать правильно правило в iptables
Подскажите пожалуйста, буду очень признателен.

@jamezbond13
Copy link
Author

Всё, извиняюсь за глупость - разобрался
По сути
в начало цепи
*filter
:INPUT ACCEPT [6090:429265]
:FORWARD ACCEPT [889:48762]
:OUTPUT ACCEPT [5983:808995]
-I FORWARD -j NETFLOW
-I INPUT -j NETFLOW
-I OUTPUT -j NETFLOW
-A FORWARD -m ratelimit --ratelimit-set lowusersout --ratelimit-mode src -j DROP
-A FORWARD -m ratelimit --ratelimit-set lowusersin --ratelimit-mode dst -j DROP
-A INPUT -s 121.16.0.0/16 -j DROP
-A INPUT -s 123.212.0.0/14 -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

и

echo +192.168.0.192 5000000 > /proc/net/ipt_ratelimit/lowusersout
echo +192.168.0.192 5000000 > /proc/net/ipt_ratelimit/lowusersin

Непонятен момент, если так то 192 айпишник режится и всё вроде бы супер, но если вот так

echo +192.168.0.192/27 5000000 > /proc/net/ipt_ratelimit/lowusersout
echo +192.168.0.192/27 5000000 > /proc/net/ipt_ratelimit/lowusersin

вся эта схема перестает работать и все айпишники начиная со 192 и выше до 222 получают скорость в 30мбит

@jamezbond13
Copy link
Author

Прошу извинить, но главный вопрос теперь в следующем:
Естественно при systemctl restart iptables - /proc/net/ipt_ratelimit/lowusersout файлы становятся пустыми и правила не работают, точно так же как и при перезагрузке сервера. Каким образом можно реализовать этот момент, чтобы при перезагрузке службы или сервера добавлялись нужные мне записи в файлы /proc/net/ipt_ratelimit/lowusersout?

@formatCvt
Copy link

все айпишники начиная со 192 и выше до 222 получают скорость в 30мбит

потому что в 192.168.0.192/27 попадают IP с 192 до 222 https://www.opennet.ru/ipcalc.shtml?ip=192.168.0.192%2F27&netmask=&submit=%D0%CF%D3%DE%C9%D4%C1%D4%D8+-%3E

чтобы при перезагрузке службы или сервера добавлялись нужные мне записи

зависит от дистрибутива, как правило самый простой костыль - добавить нужные команды в /etc/rc.local

@jamezbond13
Copy link
Author

Дистрибутив CentOS 8
зависит от дистрибутива, как правило самый простой костыль - добавить нужные команды в /etc/rc.local можно тут немного подробней описать пожалуйста, буду очень благодарен. Многие моменты мне пока еще не совсем понятны.
По поводу ip 192.168.0.192./27 это и есть диапозон адресов со 192 по 222 айпи, и я их хочу ограничить в 1 мбит например, но если во frame limite я пишу так echo +192.168.0.192/27 (любая скорость) > /proc/net/ipt_ratelimit/lowusersin почему-то не работает если пишу так echo +192.168.0.192,192.168.0.193 и т.д. (скорость) > /proc/net/ipt_ratelimit/lowusersin работает ограничение на эти айпи без проблем. А вообще наконец-то прекрасная утилита для линукса, с ограничением скорости. Замучился это делать через сквиды и т.д., и то https и впн и торренты пробегали а тут красота. Обязательно задоначу за ipt-netflow и ipt-ratelimit - просто прекрасные утилиты!!!

@aabc
Copy link
Owner

aabc commented Aug 12, 2020

@jamezbond13, обычно ratelimit прикручен к биллингу - следовательно, скрипты у всех разные, поэтому механизм восстановления правил после ребута (типа iptables-persistent) не делался.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants