The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Тематический каталог: Интернет шлюз на FreeBSD - часть 2 (fr..., auto_topic (??), 22-Апр-09, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


39. "Интернет шлюз на FreeBSD - часть 2 (freebsd gateway nat pf f..."  +/
Сообщение от Alchemist (ok), 24-Апр-09, 13:28 
>Не проще ли заменить bind на dnsmasq?
>Он способен запускаться без собственных настроек,
>только с /etc/hosts и /etc/resolv.conf
>Использую его везде, где не требуется пересылка зон.

Ну тогда напишите нам об этом ;)

Ответить | Правка | Наверх | Cообщить модератору

40. "Интернет шлюз на FreeBSD - часть 2 (freebsd gateway nat pf f..."  +/
Сообщение от Ivan_83 (?), 16-Июн-09, 14:38 
device pfsync - НЕ НУЖЕН.
Это для горячего резервирования на несколких машинах. Те когда основной маршрутизатор загибается, брат близнец подхватывает и продолжает, соединения даже не рвутся, ибо таблица состояний продублированна через pfsync.

В ряде случаев хватит и dnsmasq, заодно он DHCP раздаст.

Регэкспы сквида, где мультимедия фильтр, мне кажется можно было записать в одну-две строчки.
Кроме того не обязательно забивать два порта 3128 и 3129 чтобы получить прозрачный и обычный прокси.
Достаточно сделать так:
http_port 127.0.0.1:8080 transparent
http_port 8080
Естественно заворачивать прозрачно 80 порт на 127.0.0.1

С PF вообще выглядит всё ужасно :)
Макрос private_nets заменить на таблицу и выкинуть от туда мультикаст подсетку:
table <private_nets> const { 10.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.168.0.0/16, 255.255.255.255/32 }
Ещё рекомендуется: set skip on lo0, с антиспуфа можете выкинуть его после этого.
Не у всех IP статический, да ещё и пул, поэтому правильнее писать:
nat on $ext_if0 inet from !($ext_if0) to any -> ($ext_if0) # Nat to internet
Ещё лучше в pass конструкции добавить quick, один фиг это переписка с ipfw правил, и работает линейно.
Ещё bsd = "192.168.0.1/32" - фигово.
table <int_if0_addr> persist const { $int_if0 } ## Address on int_if0 - шикарно :)
ещё есть макросы: self - все адреса на машине, self:network - все подсети машины, если некоторые адреса динамические то нужно брать в скобки, пример: (self)

synproxy state - вы с ума сошли!!!!!
Эта штука потребляет в два раза больше ресурсов, чем modulate state, да ещё иногда создаёт грабли, когда непонятно почему соединение не устанавливается или данные не идут.
synproxy state должна использоватся только в правилах публикации внутренних сервисов наружу, и то не всегда. Локалку в инет - модулейтом. От локал хоста и к локал хосту - вообще keep state можно ставить.

># Разрешаем нашему шлюзу полный выход с обоих интерфейсов
>        pass out on $ext_if proto tcp from any to any
>        pass out on $ext_if proto udp from any to any keep state
>        pass out on $int_if proto tcp from any to any
>        pass out on $int_if proto udp from any to any keep state

Тоже ужасно.
pass out from (self) to any flags S/SA modulate state # allow out self to anywere - красота.

Ответить | Правка | Наверх | Cообщить модератору

41. "Интернет шлюз на FreeBSD - часть 2 (freebsd gateway nat pf f..."  +/
Сообщение от Alchemist (ok), 16-Июн-09, 15:23 
>synproxy state должна использоватся только в правилах публикации внутренних сервисов наружу

собственно так и сделано
>От локал хоста и к локал хосту - вообще keep state можно ставить

В этой версии PF keep state подразумевается даже там, где он не прописан

По всему остальному - конструктивно, спасибо.

Ответить | Правка | Наверх | Cообщить модератору

42. "Интернет шлюз на FreeBSD - часть 2 (freebsd gateway nat pf f..."  +/
Сообщение от iZEN (ok), 16-Июн-09, 18:20 
>># Разрешаем нашему шлюзу полный выход с обоих интерфейсов
>>        pass out on $ext_if proto tcp from any to any
>>        pass out on $ext_if proto udp from any to any keep state
>>        pass out on $int_if proto tcp from any to any
>>        pass out on $int_if proto udp from any to any keep state
>
>Тоже ужасно.
>pass out from (self) to any flags S/SA modulate state # allow
>out self to anywere - красота.

% pfctl -nf /etc/pf.conf
/etc/pf.conf:XY: syntax error

Лучше так:
pass out all

Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

43. "Интернет шлюз на FreeBSD - часть 2 (freebsd gateway nat pf f..."  +/
Сообщение от Ivan_83 (?), 16-Июн-09, 18:58 
>>pass out from (self) to any flags S/SA modulate state # allow
>>out self to anywere - красота.
>
>% pfctl -nf /etc/pf.conf
>/etc/pf.conf:XY: syntax error
>
>Лучше так:
>pass out all

"pass out quick from (self) to any modulate state"
Без кавычек, фряха 7 и выше (ниже не тестил).
В других версиях бсд список поддерживаемых возможностей для пф может отличатся.
В DragonFlyBSD пф не полный, относительно фряхи.

В вашем случае траффик вышел, но записи в таблице состояний не создалось и как он будет возвращатся зависит от погоды и правил остальных.
Более того, с точки зрения скорости вы теряете, ибо пф ответные пакеты всё равно проверяет по таблице состояний, и только после этого пф лезет в правила.

Ответить | Правка | Наверх | Cообщить модератору

44. "Интернет шлюз на FreeBSD - часть 2 (freebsd gateway nat pf f..."  +/
Сообщение от iZEN (ok), 17-Июн-09, 12:14 
>[оверквотинг удален]
>>>out self to anywere - красота.
>>
>>% pfctl -nf /etc/pf.conf
>>/etc/pf.conf:XY: syntax error
>>
>>Лучше так:
>>pass out all
>
>"pass out quick from (self) to any modulate state"
>Без кавычек, фряха 7 и выше (ниже не тестил).

У меня -- ошибка и на этой строчке:
pass out quick from (self) to any modulate state

% uname -rsm
FreeBSD 7.2-STABLE amd64

>В вашем случае траффик вышел, но записи в таблице состояний не создалось
>и как он будет возвращатся зависит от погоды и правил остальных.

man pf.conf
По умолчанию PF использует "flags S/SA" и "keep state" ВЕЗДЕ, если не указано иное.

В выводе команды pfctl -s all правило "pass out all" у меня разворачивается в "pass out all flags S/SA keep state".

>Более того, с точки зрения скорости вы теряете, ибо пф ответные пакеты
>всё равно проверяет по таблице состояний, и только после этого пф
>лезет в правила.

Я в курсе.

Ответить | Правка | Наверх | Cообщить модератору

45. "Интернет шлюз на FreeBSD - часть 2 (freebsd gateway nat pf f..."  +/
Сообщение от klimemail (??), 06-Янв-10, 22:56 
В роли шлюза - вирт. машина:
FreeBSD 7.2 +
Памяти 1 гб
2 сетевые по 1 гб\сек в бридже
2 проц. по 2.4 ггц

Скорость передачи данных через нат не превышает 10 магабайт в секунду.

Статистика при передаче:
процессор 30.21% natd (пиковая цифра)
свободно памяти больше половины
snmp показывает что на сетевых интерфейсах скорость не больше 10 мегабайт в секунду

Где узкое место? Как добиться увеличения скорости?

Ответить | Правка | Наверх | Cообщить модератору

46. "Интернет шлюз на FreeBSD - часть 2 (freebsd gateway nat pf f..."  +/
Сообщение от artemrts (??), 07-Янв-10, 14:07 
>В роли шлюза - вирт. машина:

  Вот в этом походу и проблема. Что за виртуалка? или это гипервизор?

  Это имеет значение.

>[оверквотинг удален]
>
>Скорость передачи данных через нат не превышает 10 магабайт в секунду.
>
>Статистика при передаче:
>процессор 30.21% natd (пиковая цифра)
>свободно памяти больше половины
>snmp показывает что на сетевых интерфейсах скорость не больше 10 мегабайт в
>секунду
>
>Где узкое место? Как добиться увеличения скорости?

Ответить | Правка | Наверх | Cообщить модератору

47. "Интернет шлюз на FreeBSD - часть 2 (freebsd gateway nat pf f..."  +/
Сообщение от klimemail (??), 08-Янв-10, 13:57 
>  Вот в этом походу и проблема. Что за виртуалка? или
>это гипервизор?
>
>  Это имеет значение.
>

Гипервизор - VMWare ESXi 4 (на Sun Fire X6250)
Виртуалка - FreeBSD 7.2 (2Gb RAM, 2xGLAN, 2x2.33 E5410 Intel Xeon)

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру