SMP Firewall
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
SMP Firewall
Итак, на машине CPU: Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz (2203.29-MHz 686-class CPU) и гиг DDR2 планируется шлюз с обвесами(сквид, mpd, etc).
1. Какой фаерволл эффективнее для двухядерных машин?
1a. Если IPFW то с каим натом?
2. Как дела у шейперов? DUMMYNET или ALTQ будет эввективнее в плане производительности?
У кого какое сугубо субьективное мнение?
О ссылках не мечтаю, гуглом умею пользоваться вроде. Если конечно у кого есть интересные ссылки и недалеко лежат, то скиньте в свободную минутку.
1. Какой фаерволл эффективнее для двухядерных машин?
1a. Если IPFW то с каим натом?
2. Как дела у шейперов? DUMMYNET или ALTQ будет эввективнее в плане производительности?
У кого какое сугубо субьективное мнение?
О ссылках не мечтаю, гуглом умею пользоваться вроде. Если конечно у кого есть интересные ссылки и недалеко лежат, то скиньте в свободную минутку.
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: SMP Firewall
Вот terminus говорил Я бы не стал переходить на ПФ. Он не оптимизирован для SMP и скорее всего потеряете на нем в скорости. Это он откуда то взял, наверное. Никто не в курсе?
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: SMP Firewall
http://forum.nag.ru/forum/index.php?showtopic=47497
Кроме того, общеизвестно, что товарищи из OpenBSD не спешат вводить в своей ОС поддержку SMP - ПФ не оптимизирован для многопоточности. Фришники его портируют, но не расширяют, как родной ipfw.
---Предыдущая схема - pf+ipfw.
pf делает фильтрацию и НАТ (на котором помимо простого заворачивания еще несколько сотен редиректов адресов)
ipfw режет скорость в обе стороны через dummynet
Результат: где-то после 50 примерно kpps в каждую сторону все начинает тормозить. При net.isr.direct=1 загрузка (tasq сетевушек) лезет до 100%, после чего начинаются дропы, к тому же не хватает времени для работы quagga и она даже рвет периодически сессию с аплинком. При net.isr.direct=0 загрузка (swi: net) близка к 100%, все сервисы самого компа работают нормально, на чем больше pps через него пытаешься прокачать - тем ниже скорость и выше дропы. Короче, бутылочное горлышко. :-)
Новая схема - ipfw
Все делает ipfw - и фильтрацию, и шейпинг, и nat через новый встроенный в него ipfw NAT, который не так давно обзавелся всем функционалом libalias'а в плане редиректов и так далее (правда, для моих полуторы сотни редиректов потребовалось править ядро, то там всего-то одну переменную поменять - размер буфера увеличить... Хотя, конечно, почему это не вынесли в sysctl - непонятно.).
Результат: более 75 kpps в каждую сторону, еще процентов 10-20 проца свободно (речь, конечно, идет о ЧНН). Стоит net.isr.direct=1, поэтому tasq сетевушек очень хорошо раскладываются на разные процы. В качестве дополнительного бонуса - отсутствие необходимости держать ftp-прокси и т.п., т.к. libalias делает это все сам, в отличие от pf. Ну и приятно, что теперь весь конфиг в одном файле и вообще...
Кроме того, общеизвестно, что товарищи из OpenBSD не спешат вводить в своей ОС поддержку SMP - ПФ не оптимизирован для многопоточности. Фришники его портируют, но не расширяют, как родной ipfw.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: SMP Firewall
terminus!
Спасибо, мужик!![Good :good:](./../images/smilies/good.gif)
![Clapping :Bravo:](./../images/smilies/clapping.gif)
Спасибо, мужик!
![Good :good:](./../images/smilies/good.gif)
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: SMP Firewall
Доброго всем времени суток
Статья http://www.lissyara.su/articles/freebsd ... /ipfw_nat/
Пример №1
Не врубаюсь, каким правилом разрешается пинг роутером внешних хостов?
Статья http://www.lissyara.su/articles/freebsd ... /ipfw_nat/
Пример №1
Код: Выделить всё
# правила разрешающие трафик через локальный интерфейс lo0
# будут добавляться автоматически сами при старте фаервола
# 100 allow ip from any to any via lo0
# 200 deny ip from any to 127.0.0.0/8
# 300 deny ip from 127.0.0.0/8 to any
# разрешаем все через интерфейс локальной сети
add 1040 allow ip from any to any via fxp0
# боимся непонятного
add 1050 deny ip from any to 192.168.0.0/16 in recv em0
add 1060 deny ip from 192.168.0.0/16 to any in recv em0
add 1070 deny ip from any to 172.16.0.0/12 in recv em0
add 1080 deny ip from 172.16.0.0/12 to any in recv em0
add 1090 deny ip from any to 10.0.0.0/8 in recv em0
add 10100 deny ip from 10.0.0.0/8 to any in recv em0
add 10110 deny ip from any to 169.254.0.0/16 in recv em0
add 10120 deny ip from 169.254.0.0/16 to any in recv em0
# настройка ната.
# опции переноса строк "\" надо убрать все должно быть в одну строчку
# опции redirect_port приведены для примера - как делать "проброс портов"
nat 1 config log if em0 reset same_ports deny_in redirect_port tcp 1.2.3.4:6881 6881 redirect_port udp 1.2.3.4:4444 4444 redirect_port tcp 192.168.1.24:25 25
# заварачиваем все что проходит через внешний интерфейс в нат
add 10130 nat 1 ip from any to any via em0
# боимся непонятного
add 65534 deny all from any to any
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: SMP Firewall
а что, так не работает что ли? ![Unknown :unknown:](./../images/smilies/unknw.gif)
![Unknown :unknown:](./../images/smilies/unknw.gif)
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: SMP Firewall
Не знаю
Но вот так
не работает
Оффтоп: вы с парадоксом в теме Подробное руководство по ipfw nat говорили что для статьи Подробное руководство по ipfw nat неплохо бы сделать флэшку вот этой схемы. Это актуально ещё? Её ведь по материалам статьи Вадима Гончарова делать?
![Rolling Eyes :roll:](./../images/smilies/rolleyes.gif)
Но вот так
Код: Выделить всё
nat 1 config log if rl0 deny_in unreg_only reset
# заварачиваем все что проходит через внешний интерфейс в нат
add 30030 nat 1 log ip from any to any via rl0
![Crying or Very sad :cry:](./../images/smilies/cray.gif)
Оффтоп: вы с парадоксом в теме Подробное руководство по ipfw nat говорили что для статьи Подробное руководство по ipfw nat неплохо бы сделать флэшку вот этой схемы. Это актуально ещё? Её ведь по материалам статьи Вадима Гончарова делать?
Вадима Гончаров писал(а): ...Допустим, набор правил у нас такой:
ipfw add 1 deny tcp from any to any 135,445
ipfw add 2 divert 8668 all from any to any via ext0
ipfw add 3 count icmp from any to any
ipfw add 4 allow all from any to any
# в 65535 по умолчанию deny
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: SMP Firewall
уберите unreg_only.nat 1 config log if rl0 deny_in unreg_only reset
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: SMP Firewall
а вот такое вот не работает почему? где неправильно?
Код: Выделить всё
# cat /etc/rc.conf
# Created: Thu Mar 4 16:48:22 2010
keymap="ru.koi8-r"
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
defaultrouter="212.212.212.212"
ifconfig_rl0="inet 212.212.212.213 netmask 255.255.255.0"
ifconfig_rl1="inet 172.16.0.254 netmask 255.255.255.0"
gateway_enable="YES"
firewall_enable="YES"
firewall_logging="YES"
firewall_type="/etc/firewall"
# cat /etc/sysctl.conf
net.inet.ip.fw.one_pass=1
# cat /etc/firewall
add 00050 check-state
# правила разрешающие трафик через локальный интерфейс lo0
# будут добавляться автоматически сами при старте фаервола
# 100 allow ip from any to any via lo0
# 200 deny ip from any to 127.0.0.0/8
# 300 deny ip from 127.0.0.0/8 to any
# разрешаем все через интерфейс локальной сети
add 01000 allow log ip from any to any via rl1
#add 01010 allow ip from any to me
#add 01020 allow ip from me to any
# боимся непонятного
add 01050 deny log ip from any to 192.168.0.0/16 in recv rl0
add 01060 deny log ip from 192.168.0.0/16 to any in recv rl0
add 01070 deny log ip from any to 172.16.0.0/12 in recv rl0
add 01080 deny log ip from 172.16.0.0/12 to any in recv rl0
add 01090 deny log ip from any to 10.0.0.0/8 in recv rl0
add 10100 deny log ip from 10.0.0.0/8 to any in recv rl0
add 10110 deny log ip from any to 169.254.0.0/16 in recv rl0
add 10120 deny log ip from 169.254.0.0/16 to any in recv rl0
add 10200 allow log tcp from me to any out keep-state
add 10210 allow log udp from me to any out keep-state
add 10220 allow log icmp from me to any out keep-state
add 10230 allow log tcp from any to any established#вот это беспокойство вызывает. я этим ничего не порю?
# настройка ната.
# опции redirect_port приведены для примера - как делать "проброс портов"
nat 1 config if rl0 log deny_in reset same_ports
# заварачиваем все что проходит через внешний интерфейс в нат
add 30030 nat 1 all from any to any via rl0
#
Последний раз редактировалось vadim64 2010-03-07 21:11:59, всего редактировалось 1 раз.
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: SMP Firewall
Ребус для ясельной группы сисадминов FreeBSD решён. Таким же новичкам и лентяем до манов по IPFW на заметку:
1:0 в пользу мозга и отладки)))
кароче, интересно как то неработало: пинг идёт - а соединения(80 порт к примеру) нехера. настроил логи, давай смотреть. оказывается, пинги шли нормально потому что доходили по правилам до правила ната
а соединения застревали тут
Вот это правило убрал, вроде жалоб пока не было.
1:0 в пользу мозга и отладки)))
кароче, интересно как то неработало: пинг идёт - а соединения(80 порт к примеру) нехера. настроил логи, давай смотреть. оказывается, пинги шли нормально потому что доходили по правилам до правила ната
Код: Выделить всё
add 30030 nat 1 all from any to any via rl0
Код: Выделить всё
add 10230 allow log tcp from any to any established
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.