Перейти к содержимому
Калькуляторы

Как можно лимитировать udp-пакеты в pf?

Для tcp там есть max-src-conn-rate.

А как можно настроить лимиты на udp?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

max-src-states ещё есть, оно и к юдп должно применятся, по идее.

А в чём задумка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DNS защитить. У меня BIND 9.8, там RRL нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

это стейты плодить. а стейты - это мало того что дорого... но еще и глупо для stateless-протокола.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

DNS защитить. У меня BIND 9.8, там RRL нет.

А чего не поставить с ррл?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поставлю скоро, но это время займет — нужно обновить систему, порты и только потом переустановить BIND.

А грузят сервер сейчас. Закрыть снаружи не могу, нужно временное решение.

 

это стейты плодить. а стейты - это мало того что дорого... но еще и глупо для stateless-протокола.

Зачем стейты?

Просто считать хиты на IP-адрес.

В iptables помоему такое я видел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Зачем стейты?

Просто считать хиты на IP-адрес.

В iptables помоему такое я видел.

iptables hashlimit. но это всё равно форма стейтов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Зачем стейты?

Просто считать хиты на IP-адрес.

В iptables помоему такое я видел.

iptables hashlimit. но это всё равно форма стейтов.

 

Работают эти стейты действительно ОЧЕНЬ быстро и оверхедят сравнительно мало по отношению к классике state - коннтреку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Снова спрошу.

Есть сервер с FreeBSD и pf, на сервере работает два DNS-сервера, NSD и Unbound.

На сервере в логах периодически попадается "[zone: pf states] PF states limit reached".

pfctl -ss показывает несколько тысяч стейтов (сейчас их 5600), практически все это DNS.

pf.conf такой:

rdr on $if_ext proto {tcp udp} from !<netpub> to $if_dns port 53 -> $if_dns port 5353
nat on $if_ext proto {tcp udp} from !<netpub> to $if_dns port 53 -> $if_dns port 5353
nat on $if_ext proto {tcp udp} from $if_dns port 5353 to !<netpub> -> $if_dns port 53
...
pass in quick on $if_ext proto {tcp udp} to self port 53
pass in quick on $if_ext proto {tcp udp} from !<netpub> to $if_dns port 5353

Связано это с тем, что для внутренней сети на 53 порту должен отвечать Unbound, а для внешней сети на 53 порту должен отвечать NSD (который на самом деле работает на порту 5353).

Как я понимаю, отключать стейты (указать no state) мне нельзя.

Не посоветуете, что можно сделать? Увеличить лимиты или все же отключить стейты?

По поводу отключения — тут пишут, что pf игнорирует no state.

У меня тоже не отключается — если указать для последних двух правил no state, то стейты все равно создаются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.