Миграция из ipfw на pf

Обсуждаем OS FreeBSD и сервисы на ней.

Re: Миграция из ipfw на pf

Сообщение mlevel » 04 мар 2011, 21:39

На BRAS`е неохота поднимать Apache.
Поэтому делаю редирект на другой сервер.
Какое правило должно быть на отдельном сервере Apache?
P.S. там паралельно крутиться еще несколько виртуальных хостингов.
mlevel
новичок
 
Сообщения: 24
Зарегистрирован: 26 фев 2011, 22:57

Re: Миграция из ipfw на pf

Сообщение root » 05 мар 2011, 11:19

mlevel писал(а):Какое правило должно быть на отдельном сервере Apache?

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

mlevel писал(а):P.S. там паралельно крутиться еще несколько виртуальных хостингов.

подними apache смотрящий в отдельную папку с твоей страницей на IP 127.0.0.1 и делай fwd на него
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Миграция из ipfw на pf

Сообщение mlevel » 05 мар 2011, 12:53

Ну так редирект делаеться на биллинг, абонент должен видеть свою страницу биллинга, с детальной статистикой(после ввода логин/пароля).
Как будет работать для обычных не заблокированных пользователей этот сервис с fwd?
На биллинге нет таблицы с заблокированными пользователями...
mlevel
новичок
 
Сообщения: 24
Зарегистрирован: 26 фев 2011, 22:57

Re: Миграция из ipfw на pf

Сообщение root » 05 мар 2011, 13:58

mlevel писал(а):Как будет работать для обычных не заблокированных пользователей этот сервис с fwd?

твоя задача сделать так что бы они не попадали под fwd, именно поэтому ты делаешь fwd для таблицы, а не для всех

mlevel писал(а):На биллинге нет таблицы с заблокированными пользователями...

ну так в чем проблема то, сделай и будет таблица.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Миграция из ipfw на pf

Сообщение mlevel » 06 мар 2011, 02:04

Сложновато...
А если сделаю так на одном сервере(два firewall одновременно):
для NAT + rdr --- PF,
для allow/deny + shaping ---- ipfw
будет ли затык в производительности? нужно выжать 1Гбит.
mlevel
новичок
 
Сообщения: 24
Зарегистрирован: 26 фев 2011, 22:57

Re: Миграция из ipfw на pf

Сообщение amasis » 06 мар 2011, 12:55

У меня таже схема :
ipfw - ( allow,deny,shaper)
pf - (nat)
Собираюсь перебираться с pf на ipfw_nat или на ng_nat.
PF не параллелится по ядрам - поэтому грузит только 1 проц.
amasis
новичок
 
Сообщения: 40
Зарегистрирован: 02 мар 2009, 11:12

Re: Миграция из ipfw на pf

Сообщение Андрей » 06 мар 2011, 15:33

amasis писал(а):PF не параллелится по ядрам - поэтому грузит только 1 проц.

top -SP в студию.

У самого на Xeon 8 ядер, в HT - 16, все норм и все "параллелится"
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: Миграция из ipfw на pf

Сообщение amasis » 06 мар 2011, 23:29

Неоднократно встречал на форумах обсуждения pf_nat - и везде встречал сообщения об одноядерности. Дабы не приводить кучу ссылок - одна из них - http://forum.nag.ru/forum/index.php?s=3 ... ntry460486
amasis
новичок
 
Сообщения: 40
Зарегистрирован: 02 мар 2009, 11:12

Re: Миграция из ipfw на pf

Сообщение root » 07 мар 2011, 12:36

mlevel писал(а):Сложновато...

а в чем именно сложность ?

mlevel писал(а):А если сделаю так на одном сервере(два firewall одновременно):

будет работать

mlevel писал(а):будет ли затык в производительности? нужно выжать 1Гбит.

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

более того тебе скажу, мы перепробовали кучу типов ната:
    natd
    PF
    ng
    ipnat
    ipfw
и прокачать гигабит не сумел ни один. под "прокачать" я понимаю прохождение трафика без жалоб, на низкую скорость, проблемы в передаче трафика и т.п. но по ощущениям лучше всех показал себя именно ipfw kernel nat, на втором месте я бы поставил ng_nat, на третье PF, далее ipnat ну и в конце natd.
500 мбит было, но далее могут начинаться проблемы.
Посмотри по top -SP как у тя нагружен процесс swi1:net, вот в него все и упрется в итоге, когда он достигнет 100% начнется .опа.

Что бы выжать гигабит придется разделать задачи между серверами: allow,deny,shaper - на одном сервере, nat - на другом.
м.б. потребуется и не один сервер под одну задачу.
тебе же ещё трафик где то считать надо, а считать его нужно ДО процесса NAT, а значит и считалка трафика у тя скорее всего на сервере доступа стоит.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: Миграция из ipfw на pf

Сообщение Андрей » 07 мар 2011, 12:57

amasis писал(а):Неоднократно встречал на форумах обсуждения pf_nat - и везде встречал сообщения об одноядерности.

Конечно он одноядерный, в bsd же одно ядро пересобираем. :)
Дабы не быть голословным:
top -SP
Код: Выделить всё
last pid: 38246;  load averages:  0.40,  0.45,  0.47       up 14+05:05:54  14:44:08
114 processes: 9 running, 88 sleeping, 17 waiting
CPU 0:  0.0% user,  0.0% nice,  0.0% system, 23.1% interrupt, 76.9% idle
CPU 1:  0.0% user,  0.0% nice,  3.8% system,  3.8% interrupt, 92.3% idle
CPU 2:  0.0% user,  0.0% nice,  0.0% system,  3.8% interrupt, 96.2% idle
CPU 3:  0.0% user,  0.0% nice,  3.8% system,  0.0% interrupt, 96.2% idle
CPU 4:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 5:  0.0% user,  0.0% nice,  3.8% system,  0.0% interrupt, 96.2% idle
CPU 6:  0.0% user,  0.0% nice,  3.8% system,  0.0% interrupt, 96.2% idle
CPU 7:  0.0% user,  0.0% nice,  7.7% system,  0.0% interrupt, 92.3% idle
Mem: 34M Active, 267M Inact, 259M Wired, 828K Cache, 112M Buf, 1631M Free
Swap: 20G Total, 20G Free

  PID USERNAME   THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   13 root         1 171 ki31     0K     8K CPU5   5 329.0H 100.00% idle: cpu5
   11 root         1 171 ki31     0K     8K CPU7   7 326.2H 100.00% idle: cpu7
   15 root         1 171 ki31     0K     8K CPU3   3 330.0H 99.37% idle: cpu3
   14 root         1 171 ki31     0K     8K CPU4   4 323.1H 98.78% idle: cpu4
   16 root         1 171 ki31     0K     8K RUN    2 315.6H 95.56% idle: cpu2
   17 root         1 171 ki31     0K     8K CPU1   1 326.3H 94.48% idle: cpu1
   12 root         1 171 ki31     0K     8K CPU6   6 314.8H 90.28% idle: cpu6
   18 root         1 171 ki31     0K     8K CPU0   0 285.5H 83.15% idle: cpu0
   38 root         1 -68    -     0K     8K WAIT   0  39.6H 17.58% irq256: em0
   41 root         1 -68    -     0K     8K -      6  20.4H  8.69% em1 taskq
    6 root         1 -68    -     0K     8K sleep  2 655:02  3.27% ng_queue4
    7 root         1 -68    -     0K     8K sleep  4 655:29  3.17% ng_queue5
    2 root         1 -68    -     0K     8K sleep  1 655:03  3.17% ng_queue0
    8 root         1 -68    -     0K     8K sleep  2 654:40  3.17% ng_queue6
    9 root         1 -68    -     0K     8K sleep  6 655:35  3.08% ng_queue7
    5 root         1 -68    -     0K     8K sleep  5 655:09  2.98% ng_queue3
    4 root         1 -68    -     0K     8K sleep  1 655:29  2.88% ng_queue2
    3 root         1 -68    -     0K     8K sleep  7 655:05  2.78% ng_queue1
   39 root         1 -68    -     0K     8K WAIT   2 220:26  0.78% irq257: em0
   19 root         1 -32    -     0K     8K WAIT   6 841:47  0.00% swi4: clock sio
   37 root         1 -68    -     0K     8K -      4 124:15  0.00% em0 taskq
   25 root         1  44    -     0K     8K -      7  44:39  0.00% yarrow
   59 root         1   8    -     0K     8K pftm   3  30:18  0.00% pfpurge
  752 flowtools    1  44    0  3740K  2124K select 4  17:51  0.00% flow-fanout

top -SH
Код: Выделить всё
last pid: 38853;  load averages:  0.16,  0.36,  0.43       up 14+05:07:37  14:45:51
114 processes: 9 running, 88 sleeping, 17 waiting
CPU:  0.1% user,  0.0% nice,  5.1% system,  2.7% interrupt, 92.2% idle
Mem: 34M Active, 267M Inact, 258M Wired, 828K Cache, 112M Buf, 1630M Free
Swap: 20G Total, 20G Free

  PID USERNAME  PRI NICE   SIZE    RES STATE  C   TIME   WCPU COMMAND
   13 root      171 ki31     0K     8K CPU5   5 329.1H 100.00% idle: cpu5
   11 root      171 ki31     0K     8K RUN    7 326.2H 100.00% idle: cpu7
   15 root      171 ki31     0K     8K CPU3   3 330.0H 98.88% idle: cpu3
   14 root      171 ki31     0K     8K CPU4   4 323.1H 98.49% idle: cpu4
   16 root      171 ki31     0K     8K CPU2   2 315.6H 94.58% idle: cpu2
   17 root      171 ki31     0K     8K CPU1   1 326.3H 94.19% idle: cpu1
   12 root      171 ki31     0K     8K CPU6   6 314.8H 89.70% idle: cpu6
   18 root      171 ki31     0K     8K CPU0   0 285.6H 83.79% idle: cpu0
   38 root      -68    -     0K     8K WAIT   0  39.6H 15.58% irq256: em0
   41 root      -68    -     0K     8K -      6  20.4H  8.59% em1 taskq
    2 root      -68    -     0K     8K sleep  3 655:08  3.96% ng_queue0
    4 root      -68    -     0K     8K sleep  1 655:34  3.66% ng_queue2
    8 root      -68    -     0K     8K sleep  0 654:45  3.47% ng_queue6
    7 root      -68    -     0K     8K sleep  2 655:33  3.27% ng_queue5
    5 root      -68    -     0K     8K sleep  4 655:14  3.27% ng_queue3
    6 root      -68    -     0K     8K sleep  5 655:07  3.27% ng_queue4
    9 root      -68    -     0K     8K sleep  4 655:39  3.17% ng_queue7
    3 root      -68    -     0K     8K sleep  2 655:10  2.98% ng_queue1
   39 root      -68    -     0K     8K WAIT   2 220:28  0.88% irq257: em0
   19 root      -32    -     0K     8K WAIT   6 841:53  0.00% swi4: clock sio
  728 root       44    0 33172K 25224K select 1 312:32  0.00% mpd5
   37 root      -68    -     0K     8K -      0 124:16  0.00% em0 taskq
   25 root       44    -     0K     8K -      0  44:39  0.00% yarrow
   59 root        8    -     0K     8K pftm   3  30:18  0.00% pfpurge
  752 flowtools  44    0  3740K  2124K select 0  17:51  0.00% flow-fanout
   65 root       20    -     0K     8K syncer 4   7:54  0.00% syncer
   21 root      -44    -     0K     8K WAIT   2   3:30  0.00% swi1: net
  671 root       44    0  3184K  1228K select 0   3:00  0.00% syslogd
   24 root       -8    -     0K     8K -      1   0:33  0.00% g_down
   23 root       -8    -     0K     8K -      4   0:33  0.00% g_up
   54 root      -64    -     0K     8K WAIT   4   0:29  0.00% irq18: atapci0

Не клеится, правда?

Текущее число пакетов 13 kpps на внешнем ифейсе. На внутреннем примерно столько же.
На сервере крутится 3 службы:
mpd5, flowfanout, rfw5. Апач крутится чтобы показыать график mrtg.

Вот эти опции в ядре:
Код: Выделить всё
device          pf
device          pflog

options         ALTQ
options         ALTQ_CBQ        # Class Bases Queueing
options         ALTQ_RED        # Random Early Detection
options         ALTQ_RIO        # RED In/Out
options         ALTQ_HFSC       # Hierarchical Packet Scheduler
options         ALTQ_CDNR       # Traffic conditioner
options         ALTQ_PRIQ       # Priority Queueing
options         ALTQ_NOPCC      # Required for SMP build

options         NETGRAPH
options         NETGRAPH_PPPOE
options         NETGRAPH_SOCKET
options         NETGRAPH_ECHO
options         NETGRAPH_ETHER
options         NETGRAPH_IFACE
options         NETGRAPH_KSOCKET
options         NETGRAPH_L2TP
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE


А так натим:
Код: Выделить всё
nat on em0 from 172.16.0.0/16 to em0 -> em0


Так что pf nat точно не одноядерный (cpu)
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Пред.След.

Вернуться в FreeBSD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

cron