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

FreeBSD, ipfw. Ограничение числа nat-трансляций. Подскажите как грамотно поставить ограничения.

FreeBSD 8.1-RELEASE-p2 работает только как NAT для 172.16.0.0/19, используя ipfw nat и 4 белых ip - a.b.c.d0-d3

igb0 смотрит в Интернет, igb1 в локальную сеть

правила файервола:

table 1 add 172.16.0.0/21
table 2 add 172.16.8.0/21
table 3 add 172.16.16.0/21
table 4 add 172.16.24.0/21

add 1010 allow ip from any to any via igb1

nat 1 config log ip a.b.c.d0 reset same_ports deny_in
nat 2 config log ip a.b.c.d1 reset same_ports deny_in
nat 3 config log ip a.b.c.d2 reset same_ports deny_in
nat 4 config log ip a.b.c.d3 reset same_ports deny_in

add 1210 nat 1 ip from table(1) to any out xmit igb0
add 1211 nat 1 ip from any to a.b.c.d0 in recv igb0
add 1220 nat 2 ip from table(2) to any out xmit igb0
add 1221 nat 2 ip from any to a.b.c.d1 in recv igb0
add 1230 nat 3 ip from table(3) to any out xmit igb0
add 1231 nat 3 ip from any to a.b.c.d2 in recv igb0
add 1240 nat 4 ip from table(4) to any out xmit igb0
add 1241 nat 4 ip from any to a.b.c.d3 in recv igb0
add 20000 allow all from any to any

Есть ли способ ограничить количество nat-трансляций (включая udp, icmp) для каждого серого ip? Если нет, то может ли это PF?

Изменено пользователем pronix

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


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

add 10102 nat 1 tcp from any to any out xmit em0 limit src-addr 20

Оно?

PF тоже умеет...

Изменено пользователем Nafanya

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


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

Кстати, а iptables такое может (вроде бы должно уметь, но совсем не могу припомнить место в мане) ?

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


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

add 10102 nat 1 tcp from any to any out xmit em0 limit src-addr 20

Оно? PF тоже умеет..

Не совсем, это же ограничит только tcp? Просто иногда происходят взрывные всплески pps, практически парализующие работу сервера, и скорее всего это из-за uTp.
Изменено пользователем pronix

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


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

man iptables

/ connlimit

т.е. ключевое слово connlimit

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


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

add 10102 nat 1 tcp from any to any out xmit em0 limit src-addr 20

Оно? PF тоже умеет..

Не совсем, это же ограничит только tcp? Просто иногда происходят взрывные всплески pps, практически парализующие работу сервера, и скорее всего это из-за uTp.

а если так? :)

add 10102 nat 1 ip from any to any out xmit em0 limit src-addr 20

Изменено пользователем Nafanya

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


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

add 10102 nat 1 tcp from any to any out xmit em0 limit src-addr 20

Оно? PF тоже умеет..

Не совсем, это же ограничит только tcp? Просто иногда происходят взрывные всплески pps, практически парализующие работу сервера, и скорее всего это из-за uTp.

а если так? :)

add 10102 nat 1 ip from any to any out xmit em0 limit src-addr 20

тут есть засада. LIMIT создает динамические правила в таблице statefull которая также не резиновая и при большом числе правил начинаются тупняки.

при любом раскладе и любом фаерволе при большом всплеске pps будет плохо серверу. вариант это балансировка трафика на несколько НАТящих машин.

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


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

Join the conversation

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

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

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

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

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

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

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