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

Исходное сообщение
"Тематический каталог: FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)"

Отправлено auto_topic , 01-Ноя-03 05:21 
Обсуждение статьи тематического каталога: FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)

Ссылка на текст статьи: http://www.opennet.me/base/net/2_channel_balancing.txt.html


Содержание

Сообщения в этом обсуждении
"FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)"
Отправлено Христо Топов , 01-Ноя-03 05:21 
А как разпределит трафик динамически между ети двумями входящими каналов для всех хостам в сети

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd..."
Отправлено McLone , 11-Ноя-03 07:38 
Возможно придется вскоре строить такое у себя, напишу сюда чё и как... Заюзаю, пожалуй, ipf/ipnat методом round-robin по state-записям, наверное... (имеется ввиду и  statefull-ICMP тоже :-) Aли OpenBSD'шный pf... Хотя глядя на сорцы/динамику development'a ipf 4.0 betas, надеюсь что доделают...

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)"
Отправлено Khul , 23-Апр-04 16:28 
Все хорошо, красиво и удобно. Только работать не хочет.
"- Также не забудем "обратный" divert
ipfw add 60 divert 8672 ip from any to 212.1.1.1"

вот это правило молчит как партизан. Обратные пакеты уходят в неизвестном направлении. Не могу понять почему.


"FreeBSD Распределение трафика между двумя каналами (ipfw fwd..."
Отправлено Phil , 21-Фев-07 12:17 
Такая же проблема - они уходят не в неизвестном направлении а с дефаулт роутера =( ... соответственно твое правило не срабатывает. Бъюсь 3 день над этим - как разберусь - отпишу.

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd..."
Отправлено Phil , 21-Фев-07 12:45 
По этой теме:
IPFIREWALL_FORWARD_EXTENDED нужно добавить в опции при сборке ядра. Иначе все будет ходить через дефаулт роутер (tcpdump ом проверьте), по этому и не срабатывает правило диверта обратного с дополнительного канала. Угробил на это 3 дня - Сарумян лучший =).

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)"
Отправлено Мстислав , 23-Апр-04 17:43 
Хочу сделать у себя подобное. Имеется машина с 3-мя сетевыми интерфейсами. 1-й внутренный (10.x.x.x), 2-й и 3-й внешние (линки на разных провов). Демон natd висит на одном из внешних. На второй внешний вешаться не хочет...Ессно, добавлять второго демона пытаюсь с ключами -a,-p и -n.
Что я делаю не так? Или так вообще работать не будет?

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)"
Отправлено togkskbr , 03-Июн-04 14:31 
попробывал по этой статье тоже пакеты уходят в неизвестном направлении,  нарыл http://ipfw.ism.kiev.ua/pbr.html попробывал работает

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)"
Отправлено Валера , 26-Апр-06 05:02 
Привет.Не могу Нат настроить, для ппп...
Везде читаю для Фри 4.Х, а для 6?
Для ФРИБСД 4.4. все описывается вот так:
/sbin/ipfw add divert natd all from 192.168.11.199 to any via ng0
Но у МЕНЯ 6.0.!!!
Детальней:
подключение к Инету:tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 193.238.152.25 --> 193.238.152.1 netmask 0xffffffff

Подключение к mpd:
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1400
inet 192.168.10.1 --> 192.168.11.200 netmask 0xffffffff
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1400
inet 192.168.10.1 --> 192.168.11.199 netmask 0xffffffff
ng2 и т.д.

Надо натить: ng0,ng1,ng2...ngXX==>tun0
ИП известны для каждого отдельного ngXX и для каждого можно запустить свое правило(свой скрипт).

Это скорее постановка задачи, которую не могу решить...
ЗЫ:ОСЬ FreeBSD+ipfw+natd(хотя не принципиально)

А вопрос звучит так:
есть множество ngXX и tun0, надо что бы каждый из ngXX мог ходить в Сеть за tun0...
Помогите с реализацией?


"FreeBSD Распределение трафика между двумя каналами (ipfw fwd..."
Отправлено dj_gans , 02-Окт-07 20:05 
>Привет.Не могу Нат настроить, для ппп...
>Везде читаю для Фри 4.Х, а для 6?

Была точно такая же задача, но немного другие условия:
локалка 192.168.0.1/27, на нее смотрит сетевуха xl0 с адресом 192.168.0.1
внешка через VPN 10.10.0.1, не нее смотрит fxp0 с адресом 10.10.12.22
прописываем mpd адреса нашей локалки:
pptp0:
    new -i ng0 pptp0 pptp0
    set ipcp ranges 192.168.0.1/32 192.168.0.21/32
    load pptp_standart
и т.п.
далее рулим их из-под ната во внешку, на которую смотрит fxp0:

/sbin/ipfw add 1 divert natd all from 192.168.0.0/27 to any out via fxp0
/sbin/ipfw add 2 divert natd all from any to 10.10.12.22 in via fxp0

т.е. при входящем подключении через mpd клиент попалает в локалку, а из нее, как все, во внешку. замечания/предложения приветствуются.


"FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)"
Отправлено Artem , 07-Авг-07 15:25 
IPFIREWALL_FORWARD_EXTENDED при попытке добавить в ядро этой опции отвечает
unknown option "IPFIREWALL_FORWARD_EXTENDED"
FreeBSD 6.2

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd..."
Отправлено togkskbr , 02-Окт-07 17:13 
>IPFIREWALL_FORWARD_EXTENDED при попытке добавить в ядро этой опции отвечает
>unknown option "IPFIREWALL_FORWARD_EXTENDED"
>FreeBSD 6.2

почитай файл NOTES (расположение читай в аннотации к GENERIC)


"FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)"
Отправлено Владимир , 26-Окт-07 11:50 
у меня в 6.2 настроена маршрутизация между двумя каналами. По одному идёт мир а по другому укр. В теме http://www.opennet.me/openforum/vsluhforumID1/76913.html есть примеры ipfw и обьяснение как там всё  устроено.

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)"
Отправлено Серей , 23-Ноя-07 18:27 
здраствуйте, ситуация идентичная, только нат у меня 1 и его весь хочу отправить через альтернативный шлюз. Но как ни старался, все что получается - это все запросы идут через дефолтовый (после ната), а возврат идет через альтернативный. Причем адрес источника - айпишник альтернативного интерфейса(нат отрабатывает красиво). По какойто причине не срабатывает форвард. На альтернативном интерфейсе нет ниодного исходящего пакета. Хелп.

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd..."
Отправлено sysnotok , 25-Мрт-08 10:40 
та же проблема. FreeBSD 7.0 Есть какое нибудь решение-то?

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd..."
Отправлено zuborg , 21-Апр-08 14:28 
Скорей всего проблема не в том что fwd не работает, а в том что tcpdump этого не показывает
Сам целый день голову ломал, как починить.
Оказалось, что если на локал-хосте смотреть через tcpdump, то можно видеть что траф идет через default интерфейс, или вообще никудой не идет, тогда как fwd отрабатывает нормально и пакеты идут так как настроено.
Проверить можно tcpdump-ом на удаленной стороне, или даже банальным выдергиванием кабеля из вторичного интерфейса - пакеты перестанут проходить (хотя раньше проходили и tcpdump показывал что они шли и идут через основной интерфейс)
Проверено для 7.0, другие не проверял

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd + NAT) (freebsd ipfw forward nat)"
Отправлено Alex , 23-Июл-08 10:19 
Здравствуйте! Проблема с natd. На сервере 2 сетевых карты, для локалки и интернета, кроме того есть туннель через gif0. Не могу настроить чтобы трафик заворачивался из туннеля. Мой трафик туда уходит, ответы tcpdump показывает, но они не попадают в divert а исчезают бесследно.
Правила ipfw:
00010 count log logamount 500 ip from any to any via gif0
00100 count ip from any to any in recv dc0
00200 count ip from any to any out xmit dc0
00300 count tcp from any to me 25 in recv dc0
00310 count tcp from any 80,443 to me in recv dc0
00410 allow ip from any to any via lo0
00510 allow ip from 194.39.131.174 to any
00610 allow ip from any to 194.39.131.174
00710 allow esp from any to any
00810 allow ipencap from any to any
00910 allow udp from any to any 500
01010 divert 8765 log logamount 500 ip from 192.168.10.203 to 194.117.106.129 out xmit gif0
01110 divert 8765 log logamount 500 ip from 194.117.106.129 to any

4 дня провел за чтением манов и поиском информации в Интернете. Ничего не помогло...


"FreeBSD Распределение трафика между двумя каналами (ipfw fwd..."
Отправлено Alex , 25-Июл-08 06:54 
Дополнение: туннель ipsec.
Проблема решилась пересборкой ядра с параметром IPSEC_FITERGIF.

"FreeBSD Распределение трафика между двумя каналами (ipfw fwd"
Отправлено Евгений , 08-Апр-09 11:10 
Здравствуйте!
У меня вопрос. А если у меня NAT построен не на natd, а на ipnat (ipf)? Пишу в ipfw правило ipfw add 15 fwd x.x.x.1 all from y.y.y.y/32 to not me in recv xl0 (xl0 - локалка, xl1 - основной канал, xl2 - дополнительный)
map xl1 y.y.y.0/24 -> z.z.z.z/32 proxy port ftp ftp/tcp
map xl1 y.y.y.0/24 -> z.z.z.z/32 portmap tcp/udp 40000:65000
map xl1 y.y.y.0/24 -> z.z.z.z/32
map xl2 y.y.y.0/24 -> x.x.x.2/32 proxy port ftp ftp/tcp
map xl2 y.y.y.0/24 -> x.x.x.2/32 portmap tcp/udp 40000:65000
map xl2 y.y.y.0/24 -> x.x.x.2/32
tcpdump показывает, что пакеты форвардятся, но предварительно пройдя через нат и получив IP = z.z.z.z, тот который на основном интерфейсе xl1
udp пакеты (traceroute) при этом бегают так как и хотелось бы, а вот tcp :( Как побороть эту проблему?