URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5203
[ Назад ]

Исходное сообщение
"PF NAT и правила фильтрации на внутреннем интерфейсе"

Отправлено Corpse , 30-Окт-13 13:54 
Добрый день!
Помогите разрешить проблему.
Заблокировал соцсети по IP адресам.
Теперь возникла проблема, некоторым IP адресам из внутренней сети необходимо дать доступ к заблокированным сайтам.
Но поскольку в PF сначала идет NAT-ирование, то на момент фильтрации внутренние IP адреса уже подменены на внешний IP адрес шлюза. Каким образом можно сделать фильтрацию на внутреннем интерфейсе по IP-шнику, до натирования?
Спасибо!

Содержание

Сообщения в этом обсуждении
"PF NAT и правила фильтрации на внутреннем интерфейсе"
Отправлено михалыч , 30-Окт-13 16:19 
> Но поскольку в PF сначала идет NAT-ирование, то на момент фильтрации внутренние
> IP адреса уже подменены на внешний IP адрес шлюза.

Это не так. Просто секция с нат идет раньше, чем правила фильтрации, только и всего.

> Каким образом можно сделать фильтрацию на внутреннем интерфейсе по IP-шнику, до натирования?

Стандартно, методом исключения.
table <bad> { 192.168.200.0/24, !192.168.200.50, !192.168.200.55 }
таблица bad содержит "плохие" IP-адреса и включает в себя всю сеть 192.168.200.0/24 кроме адресов 192.168.200.50 и 192.168.200.55


"PF NAT и правила фильтрации на внутреннем интерфейсе"
Отправлено reader , 30-Окт-13 21:09 
>> Но поскольку в PF сначала идет NAT-ирование, то на момент фильтрации внутренние
>> IP адреса уже подменены на внешний IP адрес шлюза.
> Это не так. Просто секция с нат идет раньше, чем правила фильтрации,
> только и всего.

если с секцией нат, то вроде пишут сначало нат, а потом фильтрация
http://www.openbsd.org/faq/pf/ru/nat.html#filter
да и на форуме были те кто прошелся по этой фиче

в поновей версии pf поменяли
http://www.openbsd.org/faq/pf/nat.html

>> Каким образом можно сделать фильтрацию на внутреннем интерфейсе по IP-шнику, до натирования?

примерно так же как и на внешнем, только при in и с исключением или с разрешением для тех кому можно

> Стандартно, методом исключения.
> table <bad> { 192.168.200.0/24, !192.168.200.50, !192.168.200.55 }
> таблица bad содержит "плохие" IP-адреса и включает в себя всю сеть 192.168.200.0/24
> кроме адресов 192.168.200.50 и 192.168.200.55


"PF NAT и правила фильтрации на внутреннем интерфейсе"
Отправлено михалыч , 31-Окт-13 07:55 
> если с секцией нат, то вроде пишут сначало нат, а потом фильтрация

А я утверждал обратное?

> http://www.openbsd.org/faq/pf/ru/nat.html#filter
> да и на форуме были те кто прошелся по этой фиче

И что?

> в поновей версии pf поменяли
> http://www.openbsd.org/faq/pf/nat.html

Поменяли что? Порядок следования ната и фильтрации?
Смотрю в man pf.conf
Вижу следующее:

ОПИСАНИЕ
     Пакетный фильтр pf изменяет, отбрасывает или передает пакеты в соответствии с
     правилами или определениями указанными в pf.conf.


ПОРЯДОК ОПЕРАТОРОВ
     Есть семь типов разделов (секций) в pf.conf:


     МАКРОСЫ
           Пользовательские переменные могут быть определены и использованы в дальнейшем,
           что упрощает файл конфигурации. Макросы должны быть определены прежде, чем на них
           будут ссылаться в pf.conf.


     ТАБЛИЦЫ
           Таблицы обеспечивают механизм для увеличения производительности и гибкости правил
           с большим количеством адресов источника или назначения.


     ОПЦИИ
           Параметры настройки поведения механизма фильтрации пакетов.


     НОРМАЛИЗАЦИЯ ТРАФИКА (например, скраб)
           Нормализация трафика защищает внутренние машин от несоответствий в протоколах
           Интернета и реализации.


     УПРАВЛЕНИЕ ОЧЕРЕДЯМИ
           Управление очередями предоставляет основанное на правилах управление полосой пропускания.


     РАЗЛИЧНЫЕ ФОРМЫ ТРАНСЛЯЦИИ СЕТЕВЫХ АДРЕСОВ (NAT)
           Правила преобразования адресов указывают, как адреса должны быть отображены или
           перенаправлены на другие адреса.


     ФИЛЬТРАЦИЯ ПАКЕТОВ
           Фильтрация пакетов обеспечивает на основе правил блокирование или пропускание пакетов.


     За исключением макросов и таблиц, типы разделов (инструкций/секций) должны быть сгруппированы и
     представлены в pf.conf в порядке, указанном выше, так как это соответствует базовому механизму
     фильтрации пакетов. По умолчанию pfctl обеспечивает соблюдение этого порядка
     (см. раздел require-order ниже).


     Комментарии могут размещаться в любом месте файла с помощью знака ('#') и
     продолжаются до конца текущей строки.


     Дополнительные файлы конфигурации могут быть включены с помощью ключевого слова include,
     например:


           include "/etc/pf/sub.filter.conf"

Ан нет, не поменяли. Всё осталось как прежде. Нат, потом фильтр.

ТС пишет:
> некоторым IP адресам из внутренней сети необходимо дать доступ к заблокированным сайтам.
> Но поскольку в PF сначала идет NAT-ирование,

это секция с нат вперёд идёт, чем секция с фильтрацией.

> то на момент фильтрации внутренние IP адреса уже подменены на внешний IP адрес шлюза.

на внутреннем интерфейсе - нет, ещё не подменены, не успели(опоздали?))

> Каким образом можно сделать фильтрацию на внутреннем интерфейсе по IP-шнику, до натирования?

Различным способом, можно запихнуть "блатных" в отдельную таблицу и разрешить им (ей, таблице ))


"PF NAT и правила фильтрации на внутреннем интерфейсе"
Отправлено reader , 31-Окт-13 08:43 
>> если с секцией нат, то вроде пишут сначало нат, а потом фильтрация
> А я утверждал обратное?
>> Но поскольку в PF сначала идет NAT-ирование, то на момент фильтрации внутренние
>> IP адреса уже подменены на внешний IP адрес шлюза.
>Это не так. Просто секция с нат идет раньше, чем правила фильтрации, только и всего.

возможно понял не правильно, но звучит не однозначно.


"PF NAT и правила фильтрации на внутреннем интерфейсе"
Отправлено михалыч , 31-Окт-13 08:55 
Да мы то, что!? Да нам то, пох!))
Мне всё это напомнило анекдот про Штирлица:

Сидят двое в кабаке. Пьют.
Один говорит другому:
- Смотри, сейчас зайдёт Штирлиц и начнётся драка.
Заходит Штирлиц. Второй отвечает:
- Не, не начнётся.
Первый снова:
- А я, говорю, начнётся!
Второй:
- А я, говорю, что нет!
И тут началась драка..


"PF NAT и правила фильтрации на внутреннем интерфейсе"
Отправлено reader , 31-Окт-13 10:07 
>[оверквотинг удален]
> Сидят двое в кабаке. Пьют.
> Один говорит другому:
> - Смотри, сейчас зайдёт Штирлиц и начнётся драка.
> Заходит Штирлиц. Второй отвечает:
> - Не, не начнётся.
> Первый снова:
> - А я, говорю, начнётся!
> Второй:
> - А я, говорю, что нет!
> И тут началась драка..

:)
стар я уже для драк, пойду в другой кабак пока ТС нет :)


"PF NAT и правила фильтрации на внутреннем интерфейсе"
Отправлено михалыч , 31-Окт-13 10:49 
> стар я уже для драк, пойду в другой кабак пока ТС нет :)

а я вапче не пью,
и это наверное про меня "Макар" спел - "мне триста лет я выполз из тьмы" ))


"PF NAT и правила фильтрации на внутреннем интерфейсе"
Отправлено Corpse , 01-Ноя-13 12:52 
>> если с секцией нат, то вроде пишут сначало нат, а потом фильтрация
> ТС пишет:
>> некоторым IP адресам из внутренней сети необходимо дать доступ к заблокированным сайтам.
>> Но поскольку в PF сначала идет NAT-ирование,
> это секция с нат вперёд идёт, чем секция с фильтрацией.
>> то на момент фильтрации внутренние IP адреса уже подменены на внешний IP адрес шлюза.
> на внутреннем интерфейсе - нет, ещё не подменены, не успели(опоздали?))
>> Каким образом можно сделать фильтрацию на внутреннем интерфейсе по IP-шнику, до натирования?
> Различным способом, можно запихнуть "блатных" в отдельную таблицу и разрешить им (ей,
> таблице ))

Большое спасибо за помощь, разобрался!