
Подробное руководство по ipfw nat
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2010-05-14 11:12:21
Re: Подробное руководство по ipfw nat
Забыл про обратный трафик, проброс портов все же не работает 

Услуги хостинговой компании 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/
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
В настройках интерфейса em0 параметры txcsum,rxcsum включены?
Если да, то выключите их.
Если да, то выключите их.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2010-05-14 11:12:21
Re: Подробное руководство по ipfw nat
не включал.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
Они по дефотлу могут быть. Посмотрите вывод ifconfig.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2010-05-14 11:12:21
Re: Подробное руководство по ipfw nat
точно, было включено, в статье как раз вЫключается, я подумал что включается, почитал документацию и не стал добавлять. Спасибо добрый человек!!!
-
- ефрейтор
- Сообщения: 57
- Зарегистрирован: 2010-05-01 21:27:02
- Dwolfix
- рядовой
- Сообщения: 28
- Зарегистрирован: 2010-06-02 7:44:38
- Откуда: Орск
- Контактная информация:
Re: Подробное руководство по ipfw nat
Доброго всем дня! Разбираюсь (тщетно покуда) с пассивным ftp, когда клиенты сидят за nat'ом. Открывать для них порты в диапазоне 1024-65535 не есть повышение секьюрности. Понимаю, что дело в создании динамических правил, а вот реализовать их не получается. Перерыл много чего в поисках решения. Если кто сталкивался с подобной проблемой - отпишитесь, пожалуйста. Буду весьма признателен за любую информацию!
Бороться за знания, терзать препятствия, аки волк!
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
В статье было упоминание про хелперы libalias.Dwolfix писал(а):Доброго всем дня! Разбираюсь (тщетно покуда) с пассивным ftp, когда клиенты сидят за nat'ом
Подгрузите модуль alias_ftp.ko (или вручную через kldload alias_ftp.ko или через /boot/loader.conf alias_ftp_load="YES") и счастье наступит.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- проходил мимо
Re: Подробное руководство по ipfw nat
Доброго времени суток!
Большое спасибо автору за статью.
Попробовал все сделать точно так, как в первом примере. Пересобрал ядро, переписал конфиг файрвола.
Сложилась такая странная ситуация: Трафик через NAT из внутренней сети и в неё бегает, но если я на сервере запускаю что-то, что пытается с самого сервака вылезти в сеть (portsnap fetch или makeinstal clean) система уходит в перезагрузку с паникой ядра fatal trap 12
.
Версия системы Freebsd 8.0-RELEASE #7
Поиск по форуму ничего не дал. По гуглю пока тоже.
Причём, если я убираю правило форвандинга в нат ( add 10130 nat 1 ip from any to any via em0) и добавляю allow ip from any to any всё кроме ната работает и в панику ядра не выпадает.
Большое спасибо автору за статью.
Попробовал все сделать точно так, как в первом примере. Пересобрал ядро, переписал конфиг файрвола.
Сложилась такая странная ситуация: Трафик через NAT из внутренней сети и в неё бегает, но если я на сервере запускаю что-то, что пытается с самого сервака вылезти в сеть (portsnap fetch или makeinstal clean) система уходит в перезагрузку с паникой ядра fatal trap 12

Версия системы Freebsd 8.0-RELEASE #7
Поиск по форуму ничего не дал. По гуглю пока тоже.
Причём, если я убираю правило форвандинга в нат ( add 10130 nat 1 ip from any to any via em0) и добавляю allow ip from any to any всё кроме ната работает и в панику ядра не выпадает.
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2010-06-02 13:29:50
Re: Подробное руководство по ipfw nat
Извините, предыдущее сообщение от меня. Забыл зайти.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
используются ли правила с директивой limit?
http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/144187
Еще один вариант:
http://lists.freebsd.org/pipermail/free ... 04257.html
Переходите на 8.1-PRERELASE
http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/144187
Еще один вариант:
http://lists.freebsd.org/pipermail/free ... 04257.html
Переходите на 8.1-PRERELASE
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2010-06-02 13:29:50
Re: Подробное руководство по ipfw nat
Нет, не используются.
Вот список правил:
em0 - внешний интерфейс (инет)
stge0 - внутренний (локалка)
Настройка ната
По сути, я просто переписал Ваш первый пример. Учусь на кошках, так сказать 
Вот список правил:
Код: Выделить всё
100 allow ip from any to any via lo0
deny ip from any to 127.0.0.0/8
deny ip from 127.0.0.0/8 to any
1040 allow ip from any to any via stge0
10130 nat 1 ip from any to any via em0
65535 deny ip from any to any
stge0 - внутренний (локалка)
Настройка ната
Код: Выделить всё
nat 1 config log if em0 reset same_ports deny_in

- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
Или переходите на 8.1 или "переверните" схему подключения - используйте stge0 со стороны инета.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2010-06-02 13:29:50
Re: Подробное руководство по ipfw nat
Перевернул
Спасибо огромное! Всё заработало
Спасибо огромное! Всё заработало

- Dwolfix
- рядовой
- Сообщения: 28
- Зарегистрирован: 2010-06-02 7:44:38
- Откуда: Орск
- Контактная информация:
Re: Подробное руководство по ipfw nat
А эта процедура разве и к пассивным ftp-сессиям относится? Попробовал загрузить. Вот часть конфига ipfw, отвечающая за работу ftp:terminus писал(а):В статье было упоминание про хелперы libalias.Dwolfix писал(а):Доброго всем дня! Разбираюсь (тщетно покуда) с пассивным ftp, когда клиенты сидят за nat'ом
Подгрузите модуль alias_ftp.ko (или вручную через kldload alias_ftp.ko или через /boot/loader.conf alias_ftp_load="YES") и счастье наступит.
#!/bin/sh
cmd="/sbin/ipfw -q add"
...
lan="em0"
...
#FTP
$cmd 03900 allow tcp from 192.168.1.1 1024-65535 to any 20,21 via $lan
$cmd 04000 allow tcp from any 20,21 to 192.168.1.1 1024-65535 via $lan
...
$cmd 50000 deny log ip from any to any
А вот часть лога после попытки установить ftp-соединение с хостом, на котором ftp- сервер работает в пассивном режиме в диапазоне 50000-50100:
Jun 2 22:00:25 ns1 kernel: ipfw: 50000 Deny TCP 192.168.1.1:56363 91.207.143.4:50060 in via em0
Jun 2 22:00:34 ns1 last message repeated 2 times
Jun 2 22:09:21 ns1 kernel: ipfw: 50000 Deny TCP 192.168.1.1:56372 91.207.143.4:50086 in via em0
Jun 2 22:09:30 ns1 last message repeated 2 times
Вариант конфига ipfw, при котором все работает:
#FTP
$cmd 03900 allow tcp from 192.168.1.1 1024-65535 to any 20,21,1024-65535 via $lan
$cmd 04000 allow tcp from any 20,21,1024-65535 to 192.168.1.1 1024-65535 via $lan
Но, как я уже говорил, диапазон исходящих портов 1024-65535 слишком либерален.
Бороться за знания, терзать препятствия, аки волк!
-
- проходил мимо
Re: Подробное руководство по ipfw nat
Здравствуйте. Возникла следующая проблема:
Есть два сетевых интерфейса em0 и em1 (согласно примеру 4).
em0 - смотрит на одного провайдера
em1- смотрит на второго провайдера
На сервере запущен сайт. При попытке стучаться к сайту по первому интерфейсу все работает, на него настроен дефаулт роут. По второму интерфейсу пакет доходит до сервера, но сервер пытается отправить ответ опять же по дефаулт роуту. Как научить сервер что мол пришел пакет через первый интерфейс посылай ответ по одному пути, а пришел со второго так и посылай уже через другой путь. Как добиться толку, хочется ослабить нагрузку на первый канал?
ipfw настроен по 4 примеру.
Есть два сетевых интерфейса em0 и em1 (согласно примеру 4).
em0 - смотрит на одного провайдера
em1- смотрит на второго провайдера
На сервере запущен сайт. При попытке стучаться к сайту по первому интерфейсу все работает, на него настроен дефаулт роут. По второму интерфейсу пакет доходит до сервера, но сервер пытается отправить ответ опять же по дефаулт роуту. Как научить сервер что мол пришел пакет через первый интерфейс посылай ответ по одному пути, а пришел со второго так и посылай уже через другой путь. Как добиться толку, хочется ослабить нагрузку на первый канал?
ipfw настроен по 4 примеру.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
Уточните схему - сколько у вас сетевых интерфейсов? Только 2 или 3?
Я недавно вот такой вариант предлагал товарищу в соседней теме:
http://forum.lissyara.su/viewtopic.php?f=4&t=26680
Попробуйте, может зараьотает.
Я недавно вот такой вариант предлагал товарищу в соседней теме:
http://forum.lissyara.su/viewtopic.php?f=4&t=26680
Код: Выделить всё
add 1100 skipto 5000 tag 1 ip from any to any via em0 keep-state
add 1200 skipto 5000 tag 2 ip from any to any via em1 keep-state
add 5000 allow ip from any to any in
add 6000 fwd 1.2.3.4 ip from any to any out tagged 1
add 7000 fwd 5.6.7.8 ip from any to any out tagged 2
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- ADRE
- майор
- Сообщения: 2641
- Зарегистрирован: 2007-07-26 8:53:49
- Контактная информация:
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
fwd поможет, но там с keep-state надо замарачиваться.
в примере выше сделано, но не знаю будет ли работать...
в примере выше сделано, но не знаю будет ли работать...
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
хотя похоже что не заработает....
Такую же схему предлагал nuclight здесь
http://nuclight.livejournal.com/124348.html
и писал, что чтобы оно заработало надо исходники править...
Такую же схему предлагал nuclight здесь
http://nuclight.livejournal.com/124348.html
и писал, что чтобы оно заработало надо исходники править...
Приведенный в посте пример того, как на динамических правилах сделать аналог reply-to в pf, на самом деле, не работает. В исходниках был обнаружен запрет специально именно этого случая в мохнатом 2000 году из-за какой-то паники ядра на тех версиях. Что давно уже не актуально, но это, конечно же, поправить забыли. Патчится одной строчкой - открываете /sys/netinet/ip_fw2.c, находите слова case O_FORWARD_IP: (конкретный патч не приведу, зависит от версии системы). И вот там чуть ниже в строчке кусок
if (!q || dyn_dir == MATCH_FORWARD)
надо заменить на
if (sa->sin_port && (!q || dyn_dir == MATCH_FORWARD))
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- Dwolfix
- рядовой
- Сообщения: 28
- Зарегистрирован: 2010-06-02 7:44:38
- Откуда: Орск
- Контактная информация:
Re: Подробное руководство по ipfw nat
Так и не получилось с пассивным ftp ничего сотворить.
Бороться за знания, терзать препятствия, аки волк!
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
зачем вы разрешаете диапазоны для ftp на отдельных правилах?
Эти разрешение стоят до или после правил с натом?
Вы можете прочитать свой конфиг и однозначно сказать что куда идет? Если нет, то зачем такой сложный?
Эти разрешение стоят до или после правил с натом?
Вы можете прочитать свой конфиг и однозначно сказать что куда идет? Если нет, то зачем такой сложный?

Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- Dwolfix
- рядовой
- Сообщения: 28
- Зарегистрирован: 2010-06-02 7:44:38
- Откуда: Орск
- Контактная информация:
Re: Подробное руководство по ipfw nat
Конфиг не такой уж сложный, правила для сервисов (www, dns, ftp и т.д.) располагаются до правил ната. Отдельные разрешения заведены для удобства настройки и контроля. Неоднозначной работы ipfw при таком конфиге быть не может. Все, что нужно открыто, остальное закрыто, как снаружи, так и изнутри сети. Вопрос состоял в другом - существует ли способ не открывать для пассивных ftp-сессий такие "ворота", используя механизмы автоматической подстройки ipfw, если таковые имеются.
Бороться за знания, терзать препятствия, аки волк!
- Dwolfix
- рядовой
- Сообщения: 28
- Зарегистрирован: 2010-06-02 7:44:38
- Откуда: Орск
- Контактная информация:
Re: Подробное руководство по ipfw nat
На http://forum.lissyara.su/viewtopic.php?f=8&t=18943 уже обсуждали эту тему
Бороться за знания, терзать препятствия, аки волк!
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
у меня работает alias_ftp.ko - никаких проблем с пассивными/активными FTP.
Минимальный конфиг что-то вроде:
Минимальный конфиг что-то вроде:
Код: Выделить всё
add 1040 allow ip from any to any via fxp0
nat 1 config log if em0 reset same_ports deny_in
add 10130 nat 1 ip from any to any via em0
add 65534 deny all from any to any
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.