Подробное руководство по ipfw nat

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Larin
лейтенант
Сообщения: 975
Зарегистрирован: 2008-01-29 20:08:41
Откуда: РБ, Минск

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение Larin » 2009-07-08 11:56:37

понятно. значит надо обновляться.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
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

Непрочитанное сообщение terminus » 2009-08-02 20:38:34

http://www.lissyara.su/?id=1967

Типа - загатовка.
Кое что уже написал, а остальное буду добавлять в течение недели-двух.

Если есть еще какие-нибудь предложения о том, что включить в примеры - пишите. :smile:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
Zemskov
рядовой
Сообщения: 29
Зарегистрирован: 2009-07-29 14:02:16

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение Zemskov » 2009-08-03 11:26:51

а пример когда одна подсеть и два провайдера, распределение нагрузки
Difficile est proprie communia dicere

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение paradox » 2009-08-03 11:34:03

написано много
но нужно так что бы одной картинкой и было понятно любому ламеру за 5 минут)

а что бы понять что там написано
надо сутки
и опять же
прийдеться сидеть и рисовать в уме

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2009-08-03 11:36:36

В FreeBSD 7.X красиво такое не сделать, а вот в 8.0 будет "Equal cost multipath routing" который для такого придуман.

Можно, конечно, придумать что-то типа: руками разделить диапазон 192.168.1.0/24 на две части и статически прописать для каждой свою defult route и свой экземпляр nat, но это будет костыль... :pardon:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2009-08-03 11:42:49

paradox писал(а):написано много
но нужно так что бы одной картинкой и было понятно любому ламеру за 5 минут)
Ну я по личному опыту пишу - мне, когда надо в чем то разобраться, то я очень люблю, когда есть максимально детальные обьяснения, так как главное - это передача идеи, и не всегда это можно сделать в минимуме слов. К тому же память у меня дырявая... Если кому-нить будет нужно просто быстрое решение типа как в первом варианте "раздать инет в локалку", то он просто возьмет конфиг. А если ему потом захочиться выяснить для себя как же это все работает, то он сможет найти это объясниение...

В первом примере я записал все шаги максимально детально. Дальше я так детально расписывать не буду - будут только объяснения по проходу серез правила ipfw, и указание на каком из них, что произойдет.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2009-08-08 15:24:04

Дописал я заметку - пинайте :smile:
http://www.lissyara.su/?id=1967
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

SaveTheRbtz
рядовой
Сообщения: 15
Зарегистрирован: 2008-11-20 22:13:32

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение SaveTheRbtz » 2009-09-01 0:26:14

А ipfw умеет юзать CIDR нотацию в ip (например, NAT на /24 адресов)? Или что будет если на интерфейсе на котором сказано делать masquerade несколько IPшников?

alekshr
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-09-01 9:14:38

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение alekshr » 2009-09-01 9:28:20

Извиняюся что может не в тему лезу, но раз вы тут говорите про ipfw kernel nat хотел спросить:

как завренуть пакеты с ната на 2 шлюз провайдера? правило как с natd не срабатывает (60 правило в листинге):

Код: Выделить всё

ipfw nat 1 config ip 10.46.16.200

ipfw add 50 nat 1 ip from 192.168.13.0/24 to any
ipfw add 60 fwd 10.46.16.1 ip from 10.46.16.200 to any
ipfw add 70 nat 1 ip from any to 10.46.16.200

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2009-09-01 10:25:25

SaveTheRbtz писал(а):А ipfw умеет юзать CIDR нотацию в ip (например, NAT на /24 адресов)? Или что будет если на интерфейсе на котором сказано делать masquerade несколько IPшников?
Нат не висит на интерфейсе жестко - это независимый "отдельный фильтр" для трафика. Что вы в него завернете через правила ipfw, то он и будет натить.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2009-09-01 10:29:42

alekshr писал(а):Извиняюся что может не в тему лезу, но раз вы тут говорите про ipfw kernel nat хотел спросить:

как завренуть пакеты с ната на 2 шлюз провайдера? правило как с natd не срабатывает (60 правило в листинге):

Код: Выделить всё

ipfw nat 1 config ip 10.46.16.200

ipfw add 50 nat 1 ip from 192.168.13.0/24 to any
ipfw add 60 fwd 10.46.16.1 ip from 10.46.16.200 to any
ipfw add 70 nat 1 ip from any to 10.46.16.200
Настройку one_pass выставитье в 0, добавьте а конец ipfw add 100 allow all from any to any, а в конфигурацию ната директиву deny_in.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

alekshr
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-09-01 9:14:38

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение alekshr » 2009-09-01 11:02:52

А если нет возможности выставить такую директиву?
Билинг динамически формирует другие правила и расчитан на роботу с опцией 1, иначе не будет нормально работать, в таком случае есть выход?

SaveTheRbtz
рядовой
Сообщения: 15
Зарегистрирован: 2008-11-20 22:13:32

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение SaveTheRbtz » 2009-09-01 19:31:48

terminus писал(а):
SaveTheRbtz писал(а):А ipfw умеет юзать CIDR нотацию в ip (например, NAT на /24 адресов)? Или что будет если на интерфейсе на котором сказано делать masquerade несколько IPшников?
Нат не висит на интерфейсе жестко - это независимый "отдельный фильтр" для трафика. Что вы в него завернете через правила ipfw, то он и будет натить.
Так, видимо я фигово объясняю... попытка номер 2:
Предположим, у нас 2500+ активных клиентов на сервер, соответственно натить их на 1 айпишник весьма проблематично. В pf я могу юзать poolы
nat on em0 from 10.0.16.0/20 to any -> 95.169.128.0/24 source-hash

есть ли в ipfw чтонить подобное

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2009-09-01 19:41:08

Ааа - я не понял про /24 :oops:

Нет, ipfw nat так не умеет. Выход будет вручную делить диапазоны клиентских IP и запускать несколько экцемпляров ната каждого со своим внешним IP... :(
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

bwdude
рядовой
Сообщения: 14
Зарегистрирован: 2009-09-01 11:19:26
Откуда: Москва
Контактная информация:

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение bwdude » 2009-09-04 17:33:38

никак не получается сотворить следующее.
имеется: локальная сеть - шлюз - инет
на шлюзе проброс портов через redirect_port tcp 10.0.0.200:80 out_ip:80
не получается сделать так чтобы клиенты из локальной сети при вводе в браузере out_ip попадали на 10.0.0.200, чего к сожалению не происходит.
+ порт 7777 и еще некоторые не web
честно говоря что-то пока не могу придумать как сделать.
там же на шлюзе стоит squid и статистика пользователей на 10.0.0.1:80

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2009-09-04 20:14:41

вы хотите сделать из рутера "однорукого бандита" - чтобы он трафик из 10.0.0.0/24 пересылал обратно в 10.0.0.0/24 ? :pardon:
Есть смутное подозрение, что то что бы хотите сделать заработает после того как вы включите в конфиг ядра опцию

Код: Выделить всё

options IPFIREWALL_FORWARD
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
Bormental
сержант
Сообщения: 267
Зарегистрирован: 2008-09-26 21:26:35
Откуда: подмордорье
Контактная информация:

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение Bormental » 2009-09-04 22:22:34

кстати мысль гложет как использовать диапазон или список внешних адресов для локалки, в ipfw есть такая тема как probe, типа с верятностью какое правило сработает...вот если установку соединения типа на по вероятности сделать а далее уже по старому адресу... единствеено отследить конец сеанса трудно.. скорее всего внешний адрес будет меняться с установкой новых соединений

а так пока вижу преимущество кернел ната перед натд(юзаю его) только в скорости походу, поддержка на уровне ядра)))
:evil:

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2009-09-05 21:52:35

Люди добрые, у кого есть "одна локалка и два провайдера", а кроме того желание что-нить протестировать? :smile: Можете пожалуйста попробовать погонять такую конфигурацию? По-идее при таком конфиге трафик должен будет распределяться между несколькими провайдерами, но не на авось, а правильно - сохраняя сессию между IP из локалки и IP в интернете...
Если это заработает, то будет полный пример номер 6 с шейпером и всеми прибамбасами ;-)
Я предпологаю конфигурацию машины как в примере 4 - fxp0 локалка, em0 и em1 смотрят на провайдеров, а ядро собрано с ROUTETABLES=2. http://www.lissyara.su/?id=1967

Код: Выделить всё

net.inet.ip.fw.one_pass=1

Код: Выделить всё


add 1010 prob 0.5 skipto 1060 ip from any to any in recv fxp0

add 1040 setfib 0 ip from any to any in recv fxp0 keep-state
add 1050 allow ip from any to any via fxp0

add 1060 setfib 1 ip from any to any in recv fxp0 keep-state
add 1070 allow ip from any to any via fxp0

nat 1 config log if em0 same_ports reset deny_in
nat 2 config log if em1 same_ports reset deny_in

add 10170 nat 1 ip from any to any via em0
add 10200 nat 2 ip from any to any via em1

add 65534 deny all from any to any
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

SaveTheRbtz
рядовой
Сообщения: 15
Зарегистрирован: 2008-11-20 22:13:32

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение SaveTheRbtz » 2009-09-06 16:46:24

Larin писал(а):а ядреный нат как я понял появился только в семерке?
ядерный нат возможен ещё со времён pf

Аватара пользователя
Bormental
сержант
Сообщения: 267
Зарегистрирован: 2008-09-26 21:26:35
Откуда: подмордорье
Контактная информация:

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение Bormental » 2009-09-07 20:24:56

terminus писал(а):Люди добрые, у кого есть "одна локалка и два провайдера", а кроме того желание что-нить протестировать? :smile: Можете пожалуйста попробовать погонять такую конфигурацию? По-идее при таком конфиге трафик должен будет распределяться между несколькими провайдерами, но не на авось, а правильно - сохраняя сессию между IP из локалки и IP в интернете...
Если..........
Чтото типа такого )))только я с двумя радиоточками хочу сделать, просто сеть разделена расстоянием большим и канала в 54 мегабита мало, хочу на две пары точек доступа разложить с вероятностной установкой канала
:evil:

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2009-09-07 21:53:55

Я "протестировал" это в своем "котелке" - так что, если у меня в мозгах что-нить не клинит, то эта штука должна будет работать... :crazy: :fool: :unknown:

Добавил в статью объяснение движения трафика через новый пример: http://www.lissyara.su/?id=1967#example_5
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

SaveTheRbtz
рядовой
Сообщения: 15
Зарегистрирован: 2008-11-20 22:13:32

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение SaveTheRbtz » 2009-09-08 0:32:56

terminus писал(а):Добавил в статью объяснение движения трафика через новый пример: http://www.lissyara.su/?id=1967#example_5
мммм.. на 8.0 есть прекрасная штука -

Код: Выделить всё

options RADIX_MPATH
. Никто не пробовал/желает_попробовать?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение paradox » 2009-09-08 0:47:24

ну что бы ее юзать нужно что бы в фаере были до этого типа fwd если я правильно понимаю
тогда они выбрасываються и можно юзать мультипат
у меня токо один раз в жизни была ситуация когда я юзал fwd

SaveTheRbtz
рядовой
Сообщения: 15
Зарегистрирован: 2008-11-20 22:13:32

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение SaveTheRbtz » 2009-09-08 1:30:56

paradox писал(а):ну что бы ее юзать нужно что бы в фаере были до этого типа fwd если я правильно понимаю
тогда они выбрасываються и можно юзать мультипат
Мммм.. по мне так какраз и сделана эта опция была, чтоб ECMP можно было организовывать без фаервола вообще. Просто задал 2 defaultrout'a и оно работает. Распределение по хэшу ip.src^ip.dst вроде

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Подробное руководство по ipfw nat

Непрочитанное сообщение terminus » 2009-09-08 9:17:58

Чуть потом, когда восьмерка официально зарелизится, и когда у меня немного побольше времени станит - попробую эту штуку. По идее ее использование значительно упростит конфиг ipfw - никаких специальных prob, setfib и keep-state уже не надо будет.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.