Страница 1 из 1

Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-01 15:04:03
invint
Добрый день.

Имею шлюз на FreeBSD 7.2 + IPFW + NATD

Изнутри сети все бегает шустро, при попытке зайти снаружи на сервер по ssh или www все жутко тормозит (mc открывается квадратами, http странички грузятся по минуте), подскажите где может быть косяк.

rc.conf:

Код: Выделить всё

ifconfig_em0="inet 172.16.26.28  netmask 255.255.255.0"
ifconfig_rl0="inet 192.168.0.1  netmask 255.255.0.0"

firewall_enable="YES"
firewall_script="/etc/ipfw.rules"

natd_enable="YES"
natd_interface="em0"
natd_flags="-f /etc/natd.conf"
ipfw.rules:

Код: Выделить всё

#!/bin/sh

FwCMD="/sbin/ipfw"      # собственно где лежит бинарник  ipfw
LanOut="em0"            # внешний интерфейс
LanIn="rl0"             # внутренний интерфейс
IpOut="172.16.26.28"    # внешний IP адрес машины
IpIn="192.168.0.1"      # внутренний IP машины
NetMaskOut="24"         # маска внешней подсети
NetMaskIn="16"          # маска внутренне сети
NetIn="192.168.0.0"     # Внутренняя сеть


${FwCMD} -f flush
${FwCMD} -f table 0 flush
${FwCMD} add check-state

${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any

${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
${FwCMD} add deny icmp from any to any frag
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}

${FwCMD} add divert 199 ip from ${NetIn}/${NetMaskIn} to any out via ${LanOut}
${FwCMD} add divert natd ip from ${NetIn}/${NetMaskIn} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
${FwCMD} add divert 199 ip from any to ${NetIn}/${NetMaskIn} in via ${LanOut}

${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}

${FwCMD} add allow tcp from any to any established
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}

${FwCMD} add allow udp from any 53 to any via ${LanOut}
${FwCMD} add allow udp from any to any 53 via ${LanOut}
${FwCMD} add allow udp from any to any 123 via ${LanOut}
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
${FwCMD} add allow tcp from any to ${IpOut} 80 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 443 via ${LanOut}
#${FwCMD} add allow tcp from any to ${IpOut} 25 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 22 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 5432 via ${LanOut}
${FwCMD} add allow tcp from any to ${NetIn}/${NetMaskIn} via ${LanOut}
${FwCMD} add allow tcp from any to any via ${LanIn}
${FwCMD} add allow udp from any to any via ${LanIn}
${FwCMD} add allow icmp from any to any via ${LanIn}

${FwCMD} add deny ip from any to any
natd.conf:

Код: Выделить всё

same_ports yes
use_sockets yes
redirect_port tcp 192.168.0.3:80 80 #www

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-07 16:01:56
invint
Ну что, никто не подскажет?

Ну тогда может кто-то подскажет как переделать текущую конфигурацию с использования natd на ipnat?

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-07 16:11:29
paradox
Изнутри сети все бегает шустро, при попытке зайти снаружи на сервер по ssh или www все жутко тормозит (mc открывается квадратами, http странички грузятся по минуте), подскажите где может быть косяк.
попробуйте сменить провайдера или открыть у него для себя шире полосу
на диалапе 28k все работает именно как вы говорите
Ну тогда может кто-то подскажет как переделать текущую конфигурацию с использования natd на ipnat?
а какие показания?
не... ну если очень хочеться
то я бы вообще ваш фаервол упростил до двух строчек
pass all from any to any
ну и одну строчку ната
divert all from any to any via внешний интерфейс

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-08 16:58:16
invint
Как выяснилось после многочисленных вариаций с конфигами тормозит именно natd, если я пробрасываю порт на jail на этой же машине, исходящий трафик на нем дико тормозит, если порт не натить то на родительской машине живет все перкрасно.

Может что из этого можете подсказать?

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-08 19:19:30
invint
Причем задержки наблюдаются только при "локальном" редиректе портов, т.е. с внешнего интерфейса на другой порт внутренего или алиас внутреннего (jail), если же на машину во внутренней сети - то вроде все нормально. Подскажите, куда рыть?

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-13 15:19:50
invint
UP

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-13 15:27:30
paradox
ну если токо для джаилов
то проблема может быть в любой плоскости
попробуйте другой нат для джаилов
pf
ipnat

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-13 16:42:42
invint
Ну допустим я буду использовать IPFW + IPNAT + NETAMS через libpcap (сейчас IPFW+NATD+NETAMS через ipdivert).

При нынешнем раскладе NETAMS выступает в роли блокировщика трафика на ip не пристутствующих в конфиге и мониторит совпадения mac и ip (весь трафик проходит через natd+netams)

Код: Выделить всё

${FwCMD} add divert 199 ip from ${NetIn}/${NetMaskIn} to any out via ${LanOut}
${FwCMD} add divert natd ip from ${NetIn}/${NetMaskIn} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
${FwCMD} add divert 199 ip from any to ${NetIn}/${NetMaskIn} in via ${LanOut}
Если я буду считать статистику по libcap и раздавать трафик через ipnat, то могу ли я продолжать пользоваться блокировками netams? И как это делать?

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-13 16:44:03
paradox
а зачем вам для джаила нетамс???

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-13 16:48:31
invint
На этой тачке живет не только jail, она еще и раздает трафик по офису. )))
С ipnat все заработало шустро, как и должно быть, но теперь не пойму как вернуть управление трафиком netams`у, там и квоты и блокировки и т.д.

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-13 16:52:22
paradox
ну и причем тут трафик по оффису?
нетамс пусть трафик по офису раздает
оно ж тамне тормозит?
тормозит же токо нат для джаила? вот для джаила и попробуйте другой нат

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-13 16:53:47
invint
пробовал natd без netams, ситуация не изменилась, так что тормозит не netams а именно natd. а так заодно и трафик для jail`ов считается.

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-13 16:58:55
paradox
а причем тут нетамс и натд ??
что вы мне голову морочите

нетамс считает все через натд

я вам предлагал ДРУГОЙ НАТ
PF
или
IPNAT

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-13 17:00:53
invint
А как тогда считать трафик jail?

Re: Тормозит IPFW+NATD на входящих соединениях

Добавлено: 2009-07-13 17:17:36
paradox
помоему вам щас не до подсчета трафика
вам нужно проблему локализовать и проверить в других плоскостях
вы для начала проверте
как оно на других натах работает
тормозит ли или нет
а потом уже будете дальше думать
чем считать
и считать ли вообще