FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-10-05 22:30:39

Доброе время суток!
Завтра подключают второй канал, решил заранее подготовить конфиги и тут столкнулся с траблой. В общем, по порядку:
Маршрутизатор: привильная ось 8.0 RC1
Два входящих интерфейса от двух провайдеров (fxp0, fxp1)
Доступ в интернет оба провайдера предоставляют через тунельное соединение внутри ихней же локалки (ng0 внутри fxp0 и ng1 внутри fxp1)
Исходящий интерфейс: внутренняя локалка (re0, re1)
В качестве фаервола - PF, в качестве ната - pf_nat.
Стал вопрос о более-менее качественном/практичном распределении обоих каналов. Решил остановиться на варианте с Multi-Path Routing, тем более что он поддерживается штатными средствами в восьмерке.
А теперь, собсно, сам вопрос:
Можно ли каким-то образом, с помощью MPR, заставить pf_nat раздавать интернет в локалку (re0, re1) используя два шлюза по умолчанию (ng0, ng1) ?
Т.е., как я понимаю, сам сервер будет отлично ходить через оба маршрута в мир, но вот как быть с натом?

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 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/

Аватара пользователя
ban
мл. сержант
Сообщения: 145
Зарегистрирован: 2009-07-22 22:36:29
Откуда: г.Волжский Волг. обл.

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение ban » 2009-10-06 0:19:36

кто никуда не торопится, тот везде успевает

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-10-06 2:10:53

вариант с mpr я себе представляю по такой схеме:
пакет от клиента ---> pf_nat ---> шлюз по умолчанию ---> мир
в данном случае при выборе шлюза по умолчанию и должен работать mpr
я не зря сначала упомянул о тунельных соединениях к провайдеру, т.к. pf не работает с динамическими интерфейсами, что напрягает написанием дополнительных скриптов при поднятии интерфейсов by mpd, что соответственно не добавляет ни простоты ни надежности в работе данной схемы
и, как мне кажется, если правильно организовать связку, то проблема с динамическими интерфейсами в данном случае будет неактуальна, хотя я могу и ошибаться...
сможет ли тоже самое обеспечить предложенный Вами ng_one2many?
и, к тому же, если я не ошибаюсь (не силет в теории), one2many и multipath routing используют разные алгоритмы марштрутизации
round-robin, используемый при one2many, можно получить и штатными средствами pf
какие в данном случае преймущества у модуля перед pf'ным round-robin'ом?
в моем случае нет особых требований, - есть только задача, для которой необходимо найти оптимальное решение, так что будут интересны любые варианты решения!
В любом случае - Спасибо!

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

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение paradox » 2009-10-06 2:12:44

кто такой MPR
и что значит
т.к. pf не работает с динамическими интерфейсами
?

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-10-06 3:24:15

paradox писал(а):кто такой MPR
ну это у меня сокращено MultiPath Routing, ну а точнее Equal-Cost Multi-Path
paradox писал(а):и что значит
т.к. pf не работает с динамическими интерфейсами
?
ну если интерфейса еще не существует, а в правилах pf он есть, то pf вываливается с ошибкой о неизвестном интерфейсе. Приходится вечно прикручивать доп. скрипты с правилами pf после поднятия и дауна интерфейса, имхо не прикольно :(

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

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение paradox » 2009-10-06 4:09:06

бардак какойто у вас
а зачем up/down скрипты придумали?

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-10-06 5:36:22

paradox писал(а):бардак какойто у вас
а зачем up/down скрипты придумали?
сейчас уже не помню, давно было, но когда переходил на pf я потратил на изучение этого факта не мало времени.
проблема заключалась в том, что правила pf загружались (что очевидно) до старта mpd, а т.к. в этот момент динамических интерфейсов еще не было, соответственно фаервол отказывался загружаться (они ведь пресутствуют в правилах :) )
после долгого гугления пришел к выводу, что необходимо писать несколько вариантов конфигов фаервола, без/с mpd, и подгружать их через up|down скрипты
больше я к этому вопросу не возвращался
если есть более изящное решение - с удовольствием выслушаю :)

Аватара пользователя
ban
мл. сержант
Сообщения: 145
Зарегистрирован: 2009-07-22 22:36:29
Откуда: г.Волжский Волг. обл.

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение ban » 2009-10-06 9:23:44

GRooVE писал(а):... я не зря сначала упомянул о тунельных соединениях к провайдеру, т.к. pf не работает с динамическими интерфейсами, что напрягает написанием дополнительных скриптов при поднятии интерфейсов by mpd, что соответственно не добавляет ни простоты ни надежности в работе данной схемы
и, как мне кажется, если правильно организовать связку, то проблема с динамическими интерфейсами в данном случае будет неактуальна, хотя я могу и ошибаться...
сможет ли тоже самое обеспечить предложенный Вами ng_one2many? ...
Разработчики PF'а дружно икнули. PF'у положить на динамические интерфесы, мне так кажется... Проблема в том, что тебе надо научиться пользоваться возможностью динамической загрузки и выгрузки правил в/из PF. Инструмент - якорь - anchor. Еще раз читай на эту тему все мануалы по PF.

После того как поймешь, что такое якоря познай - UP и DOWN скрипты MPD. Подскажу одну вещь - MPD при выполнении скрипта передает ему переменные (у DOWN-скрипта на две переменные меньше). Одной из таких переменных является $1 - название пооднятого/уничтоженного интерфейса.

Насчет ng_one2many я только как вариант предложил, сам не пробовал ничего толком сказать не могу, но если бы у меня было 2 провайдера, то я бы попробовал поиграться с нетграфом.
кто никуда не торопится, тот везде успевает

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-10-07 17:33:39

В общем, главный вопрос решился намного проще, чем я думал:
Два default router'а, два ната и все завелось с пол пинка
Единственное, что еще хотел попросить: киньте ссылку, где можно почитать о реализации алгоритма маршрутизации при использовании двух и более маршрутов по умолчанию, т.к. заметил одну интересную особенность: шлюз по умолчанию выбирается ни рандомно, ни по порядку, как в round-robin, а оптимально. Интересно только, как это "оптимально" расчитывается. А заметил это после того, как попадаю на одни и те же ресурсы через один и тот же шлюз, при чем не важно с какого клинта... т.е., например, vkontakte.ru у меня работает строго через провайдера номер 2, а vkontakte.ua - через 1-го провайдера. При чем в разное время суток можно получить разные данные.
ban писал(а):Проблема в том, что тебе надо научиться пользоваться возможностью динамической загрузки и выгрузки правил в/из PF. Инструмент - якорь - anchor. Еще раз читай на эту тему все мануалы по PF.
Что такое якоря и как с ними работать я знаю. Под тем, что "pf не работает с динамическими интерфейсами" я имел в виду его работу с ними так, как это реализовано в ipfw.
А использование pf в подобных ситуациях заставляет задуматься, что из этого является причиной, а что следствием: якоря или динамические интерфейсы. Потому что, имхо, использование якорей в такой ситуации создает еще больше гемора. Это больше похоже на "рабочий" вариант, чем на оптимальный.
ban писал(а):После того как поймешь, что такое якоря познай - UP и DOWN скрипты MPD.
На несколько постов выше посмотри :)

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-10-08 4:47:49

сейчас заметил еще одну интересную вещь:
если один из шлюзов по умолчанию доступен, но запрашиваемый узел через него недоступен по какой-либо причине, то пакет не пытается отправиться через второй шлюз...
в общем, при таком вот падении одного из каналов половина ресурсов недоступно
реально ли это победить?
гугл вообще молчит по поводу ecmp в freebsd, а man route - вообще старый :(

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-10-12 9:52:18

Обнаружена еще одна нехорошая вещь:
С момента работы двух дефаулт-роутеров юзеры начали жаловаться на плохую работу сайта vkontake.ru, а именно в какой-то момент страничка начинает бесконечно рефрешиться.
Методом тыка обнаружил, что при отключенииодного из провов проблема изчезает.
Сначала решил победить проблему таким вот скиптом в кроне каждый час:

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

#!/bin/sh

main_if="ng0"
reserv_if="ng1"
host2ping="vkontakte.ru"
hostsfile="hosts.list"
gwfile="gw.current"
flag="false"

ping -q -c 2 -S `ifconfig $main_if | grep inet | cut -d " " -f 2` $host2ping > /dev/null 2>&1
if [ $? = 0 ]; then
    gateway=`ifconfig $main_if | grep inet | cut -d " " -f 4`
    flag="true"
else
    gateway=`ifconfig $reserv_if | grep inet | cut -d " " -f 4`
    flag="true"
fi
if ( $flag = "true" ); then
    if ( test $gateway != `cat $gwfile` ); then
	cat $hostsfile | while read i; do
	    nslookup $i | grep Address | grep -v "127.0.0.1" | cut -d " " -f 2 | while read k; do
		netstat -nr | grep $k | cut -d " " -f 1 > /dev/null 2>&1
		    if [ $? != 0 ]; then
			route delete $k > /dev/null 2>&1
		    fi
		route add $k $gateway > /dev/null 2>&1
	    done
	done
	echo $gateway > $gwfile
	echo "Changing route..."
    fi
fi
Первые пару дней вроде как помогало (не жаловались), а теперь вот снова тоже самое...
Есть у кого какие мысли по этому поводу?

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

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение paradox » 2009-10-12 11:15:23

а именно в какой-то момент страничка начинает бесконечно рефрешиться
пусть вирусы почистят у себя на компе и на страничке)
ну и броузер сменят

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-10-12 13:21:05

paradox писал(а):
а именно в какой-то момент страничка начинает бесконечно рефрешиться
пусть вирусы почистят у себя на компе и на страничке)
ну и броузер сменят
ну я так тоже думал, пока не проверил тоже самое у себя: 3 разных браузера на 2-х разных машинах...
при чем проблема в ту же секунду исчезает, как только в mpd5 отрубаешь один из внешних интерфейсов
уже даже учитывал собственные ошибки в правилах фаера - переписал все на ipfw+ipfw_nat - та же проблема.

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-11-04 19:47:48

В общем проблема по поводу контакта все еще актуальна...
Отписался по поводу данной проблемы в тех. поддержку контакта, но... увы... как и ожидалось...

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

.....В данный момент оба канала работают по технологии ECMP. Так вот, после подключения второго канала и включения Multi-Path Routing пользователи начали жаловаться на плохую работу Вашего ресурса, а именно:
При одновременной работе обоих каналов Ваш ресурс некоторое время работает отлично, но спустя некоторое время (от одного до 6-7 часов) страничка начинает постоянно "рефрешится" (в случае необходимости могу предоставить видео). В решении проблемы помогает отлючение любого(!) из каналов на время (от получаса до нескольких часов), после - проблема снова возвращается......
Пните, кто может, в нужном направлении...

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

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение paradox » 2009-11-04 19:52:21

а у меня в ie8 странички в кантакте не рефрешаться
рефрешиться токо нотес(записи если я комментирую у когото что то на стене) - что так и должно быть

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-11-04 23:54:47

странно...
причем пробовал разруливать два канала с помощью ecmp, с помощью round-robin (pf), даже пробовал pbr+setfib. Менял nat: и на штатный, и natd, и pf_nat. Менял фаерволы. Все безрезультатно.
Ну должно быть какое-то решение....
А в 7.2, кроме setfib, radix_mpath не добавляли? Может есть смысл попробовать на нем?
кстати, обновил мир до 8.0-RC2 - так же ничего не поменялось...
и еще... вот что tcpdump говорит во время рефрешей:

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

04:45:33.457184 IP vkontakte.ru.http > GRooVE.Schorsa.60076: tcp 911
04:45:33.457194 IP vkontakte.ru.http > GRooVE.Schorsa.60076: tcp 0
04:45:33.459147 IP GRooVE.Schorsa.60076 > vkontakte.ru.http: tcp 0
04:45:33.459188 IP GRooVE.Schorsa.60076 > vkontakte.ru.http: tcp 0
04:45:33.465487 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 621
04:45:33.520659 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 0
04:45:33.609669 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 745
04:45:33.617779 IP GRooVE.Schorsa.60077 > vkontakte.ru.http: tcp 0
04:45:33.627165 IP 208.111.133.85.27017 > GRooVE.Schorsa.53458: UDP, length 36
04:45:33.674206 IP vkontakte.ru.http > GRooVE.Schorsa.60077: tcp 0
04:45:33.674328 IP GRooVE.Schorsa.60077 > vkontakte.ru.http: tcp 0
04:45:33.674523 IP GRooVE.Schorsa.60077 > vkontakte.ru.http: tcp 876
04:45:33.732208 IP vkontakte.ru.http > GRooVE.Schorsa.60077: tcp 0
04:45:33.803655 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 0
04:45:33.885730 IP vkontakte.ru.http > GRooVE.Schorsa.60077: tcp 548
04:45:33.885740 IP vkontakte.ru.http > GRooVE.Schorsa.60077: tcp 0
04:45:33.887325 IP GRooVE.Schorsa.60077 > vkontakte.ru.http: tcp 0
04:45:33.887370 IP GRooVE.Schorsa.60077 > vkontakte.ru.http: tcp 0
04:45:33.896536 IP GRooVE.Schorsa.60078 > vkontakte.ru.http: tcp 0
04:45:33.953731 IP vkontakte.ru.http > GRooVE.Schorsa.60078: tcp 0
04:45:33.953855 IP GRooVE.Schorsa.60078 > vkontakte.ru.http: tcp 0
04:45:33.954051 IP GRooVE.Schorsa.60078 > vkontakte.ru.http: tcp 867
04:45:34.011238 IP vkontakte.ru.http > GRooVE.Schorsa.60078: tcp 0
04:45:34.076245 IP vkontakte.ru.http > GRooVE.Schorsa.60078: tcp 911
04:45:34.076255 IP vkontakte.ru.http > GRooVE.Schorsa.60078: tcp 0
04:45:34.078267 IP GRooVE.Schorsa.60078 > vkontakte.ru.http: tcp 0
04:45:34.078306 IP GRooVE.Schorsa.60078 > vkontakte.ru.http: tcp 0
04:45:34.084495 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 621
04:45:34.139220 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 0
04:45:34.199728 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 745
04:45:34.207943 IP GRooVE.Schorsa.60079 > vkontakte.ru.http: tcp 0
04:45:34.262262 IP vkontakte.ru.http > GRooVE.Schorsa.60079: tcp 0
04:45:34.262387 IP GRooVE.Schorsa.60079 > vkontakte.ru.http: tcp 0
04:45:34.262585 IP GRooVE.Schorsa.60079 > vkontakte.ru.http: tcp 876
04:45:34.315769 IP vkontakte.ru.http > GRooVE.Schorsa.60079: tcp 0
04:45:34.385776 IP vkontakte.ru.http > GRooVE.Schorsa.60079: tcp 548
04:45:34.385792 IP vkontakte.ru.http > GRooVE.Schorsa.60079: tcp 0
04:45:34.387383 IP GRooVE.Schorsa.60079 > vkontakte.ru.http: tcp 0
04:45:34.387427 IP GRooVE.Schorsa.60079 > vkontakte.ru.http: tcp 0
04:45:34.393538 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 0
04:45:34.396625 IP GRooVE.Schorsa.60080 > vkontakte.ru.http: tcp 0
04:45:34.451283 IP vkontakte.ru.http > GRooVE.Schorsa.60080: tcp 0
04:45:34.451411 IP GRooVE.Schorsa.60080 > vkontakte.ru.http: tcp 0
04:45:34.451623 IP GRooVE.Schorsa.60080 > vkontakte.ru.http: tcp 867
04:45:34.507288 IP vkontakte.ru.http > GRooVE.Schorsa.60080: tcp 0
04:45:34.574795 IP vkontakte.ru.http > GRooVE.Schorsa.60080: tcp 911
04:45:34.574805 IP vkontakte.ru.http > GRooVE.Schorsa.60080: tcp 0
04:45:34.576783 IP GRooVE.Schorsa.60080 > vkontakte.ru.http: tcp 0
04:45:34.576822 IP GRooVE.Schorsa.60080 > vkontakte.ru.http: tcp 0
04:45:34.583175 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 621
04:45:34.638269 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 0
04:45:34.703777 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 745
04:45:34.712080 IP GRooVE.Schorsa.60081 > vkontakte.ru.http: tcp 0
04:45:34.766314 IP vkontakte.ru.http > GRooVE.Schorsa.60081: tcp 0
04:45:34.766435 IP GRooVE.Schorsa.60081 > vkontakte.ru.http: tcp 0
04:45:34.766667 IP GRooVE.Schorsa.60081 > vkontakte.ru.http: tcp 876
04:45:34.822277 IP vkontakte.ru.http > GRooVE.Schorsa.60081: tcp 0
04:45:34.886826 IP vkontakte.ru.http > GRooVE.Schorsa.60081: tcp 548
04:45:34.886842 IP vkontakte.ru.http > GRooVE.Schorsa.60081: tcp 0
04:45:34.888448 IP GRooVE.Schorsa.60081 > vkontakte.ru.http: tcp 0
04:45:34.888493 IP GRooVE.Schorsa.60081 > vkontakte.ru.http: tcp 0
04:45:34.897625 IP GRooVE.Schorsa.60082 > vkontakte.ru.http: tcp 0
04:45:34.907274 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 0
04:45:34.950357 IP vkontakte.ru.http > GRooVE.Schorsa.60082: tcp 0
04:45:34.950448 IP GRooVE.Schorsa.60082 > vkontakte.ru.http: tcp 0
04:45:34.950648 IP GRooVE.Schorsa.60082 > vkontakte.ru.http: tcp 867
04:45:35.005336 IP vkontakte.ru.http > GRooVE.Schorsa.60082: tcp 0
04:45:35.065846 IP vkontakte.ru.http > GRooVE.Schorsa.60082: tcp 911
04:45:35.065855 IP vkontakte.ru.http > GRooVE.Schorsa.60082: tcp 0
04:45:35.067860 IP GRooVE.Schorsa.60082 > vkontakte.ru.http: tcp 0
04:45:35.067901 IP GRooVE.Schorsa.60082 > vkontakte.ru.http: tcp 0
04:45:35.074094 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 621
04:45:35.128822 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 0
04:45:35.177827 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 746
04:45:35.186044 IP GRooVE.Schorsa.60083 > vkontakte.ru.http: tcp 0
04:45:35.239864 IP vkontakte.ru.http > GRooVE.Schorsa.60083: tcp 0
04:45:35.239993 IP GRooVE.Schorsa.60083 > vkontakte.ru.http: tcp 0
04:45:35.240189 IP GRooVE.Schorsa.60083 > vkontakte.ru.http: tcp 876
04:45:35.295364 IP vkontakte.ru.http > GRooVE.Schorsa.60083: tcp 0
04:45:35.371372 IP vkontakte.ru.http > GRooVE.Schorsa.60083: tcp 548
04:45:35.371382 IP vkontakte.ru.http > GRooVE.Schorsa.60083: tcp 0
04:45:35.372899 IP GRooVE.Schorsa.60083 > vkontakte.ru.http: tcp 0
04:45:35.372938 IP GRooVE.Schorsa.60083 > vkontakte.ru.http: tcp 0
04:45:35.380958 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 0
04:45:35.382443 IP GRooVE.Schorsa.60084 > vkontakte.ru.http: tcp 0
04:45:35.437381 IP vkontakte.ru.http > GRooVE.Schorsa.60084: tcp 0
04:45:35.437505 IP GRooVE.Schorsa.60084 > vkontakte.ru.http: tcp 0
04:45:35.437723 IP GRooVE.Schorsa.60084 > vkontakte.ru.http: tcp 867
04:45:35.491385 IP vkontakte.ru.http > GRooVE.Schorsa.60084: tcp 0
04:45:35.547390 IP vkontakte.ru.http > GRooVE.Schorsa.60084: tcp 911
04:45:35.547400 IP vkontakte.ru.http > GRooVE.Schorsa.60084: tcp 0
04:45:35.549422 IP GRooVE.Schorsa.60084 > vkontakte.ru.http: tcp 0
04:45:35.549467 IP GRooVE.Schorsa.60084 > vkontakte.ru.http: tcp 0
04:45:35.555777 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 621
04:45:35.610869 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 0
04:45:35.683876 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 744
04:45:35.691997 IP GRooVE.Schorsa.60085 > vkontakte.ru.http: tcp 0
04:45:35.745915 IP vkontakte.ru.http > GRooVE.Schorsa.60085: tcp 0
04:45:35.746039 IP GRooVE.Schorsa.60085 > vkontakte.ru.http: tcp 0
04:45:35.746237 IP GRooVE.Schorsa.60085 > vkontakte.ru.http: tcp 876
04:45:35.802417 IP vkontakte.ru.http > GRooVE.Schorsa.60085: tcp 0
04:45:35.890427 IP vkontakte.ru.http > GRooVE.Schorsa.60085: tcp 548
04:45:35.890437 IP vkontakte.ru.http > GRooVE.Schorsa.60085: tcp 0
04:45:35.891998 IP GRooVE.Schorsa.60085 > vkontakte.ru.http: tcp 0
04:45:35.892042 IP GRooVE.Schorsa.60085 > vkontakte.ru.http: tcp 0
04:45:35.892715 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 0
04:45:35.901261 IP GRooVE.Schorsa.60086 > vkontakte.ru.http: tcp 0
04:45:35.955433 IP vkontakte.ru.http > GRooVE.Schorsa.60086: tcp 0
04:45:35.955556 IP GRooVE.Schorsa.60086 > vkontakte.ru.http: tcp 0
04:45:35.955748 IP GRooVE.Schorsa.60086 > vkontakte.ru.http: tcp 867
04:45:36.009939 IP vkontakte.ru.http > GRooVE.Schorsa.60086: tcp 0
04:45:36.132449 IP vkontakte.ru.http > GRooVE.Schorsa.60086: tcp 911
04:45:36.132459 IP vkontakte.ru.http > GRooVE.Schorsa.60086: tcp 0
04:45:36.134439 IP GRooVE.Schorsa.60086 > vkontakte.ru.http: tcp 0
04:45:36.134480 IP GRooVE.Schorsa.60086 > vkontakte.ru.http: tcp 0
04:45:36.140927 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 621
04:45:36.196929 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 0
04:45:36.248432 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 743
04:45:36.256552 IP GRooVE.Schorsa.60087 > vkontakte.ru.http: tcp 0
04:45:36.310970 IP vkontakte.ru.http > GRooVE.Schorsa.60087: tcp 0
04:45:36.311097 IP GRooVE.Schorsa.60087 > vkontakte.ru.http: tcp 0
04:45:36.311293 IP GRooVE.Schorsa.60087 > vkontakte.ru.http: tcp 876
04:45:36.366472 IP vkontakte.ru.http > GRooVE.Schorsa.60087: tcp 0
04:45:36.436482 IP vkontakte.ru.http > GRooVE.Schorsa.60087: tcp 548
04:45:36.436492 IP vkontakte.ru.http > GRooVE.Schorsa.60087: tcp 0
04:45:36.438119 IP GRooVE.Schorsa.60087 > vkontakte.ru.http: tcp 0
04:45:36.438163 IP GRooVE.Schorsa.60087 > vkontakte.ru.http: tcp 0
04:45:36.447708 IP GRooVE.Schorsa.60088 > vkontakte.ru.http: tcp 0
04:45:36.451376 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 0
04:45:36.501488 IP vkontakte.ru.http > GRooVE.Schorsa.60088: tcp 0
04:45:36.501585 IP GRooVE.Schorsa.60088 > vkontakte.ru.http: tcp 0
04:45:36.501790 IP GRooVE.Schorsa.60088 > vkontakte.ru.http: tcp 867
04:45:36.555993 IP vkontakte.ru.http > GRooVE.Schorsa.60088: tcp 0
04:45:36.611999 IP vkontakte.ru.http > GRooVE.Schorsa.60088: tcp 911
04:45:36.612009 IP vkontakte.ru.http > GRooVE.Schorsa.60088: tcp 0
04:45:36.613986 IP GRooVE.Schorsa.60088 > vkontakte.ru.http: tcp 0
04:45:36.614026 IP GRooVE.Schorsa.60088 > vkontakte.ru.http: tcp 0
04:45:36.620448 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 621
04:45:36.675475 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 0
04:45:36.735981 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 747
04:45:36.744388 IP GRooVE.Schorsa.60089 > vkontakte.ru.http: tcp 0
04:45:36.797018 IP vkontakte.ru.http > GRooVE.Schorsa.60089: tcp 0
04:45:36.797142 IP GRooVE.Schorsa.60089 > vkontakte.ru.http: tcp 0
04:45:36.797347 IP GRooVE.Schorsa.60089 > vkontakte.ru.http: tcp 876
04:45:36.853266 IP vkontakte.ru.http > GRooVE.Schorsa.60089: tcp 0
04:45:36.916030 IP vkontakte.ru.http > GRooVE.Schorsa.60089: tcp 548
04:45:36.916046 IP vkontakte.ru.http > GRooVE.Schorsa.60089: tcp 0
04:45:36.917589 IP GRooVE.Schorsa.60089 > vkontakte.ru.http: tcp 0
04:45:36.917633 IP GRooVE.Schorsa.60089 > vkontakte.ru.http: tcp 0
04:45:36.926744 IP GRooVE.Schorsa.60090 > vkontakte.ru.http: tcp 0
04:45:36.939711 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 0
04:45:36.979039 IP vkontakte.ru.http > GRooVE.Schorsa.60090: tcp 0
04:45:36.979147 IP GRooVE.Schorsa.60090 > vkontakte.ru.http: tcp 0
04:45:36.979358 IP GRooVE.Schorsa.60090 > vkontakte.ru.http: tcp 867
04:45:37.032541 IP vkontakte.ru.http > GRooVE.Schorsa.60090: tcp 0
04:45:37.092545 IP vkontakte.ru.http > GRooVE.Schorsa.60090: tcp 911
04:45:37.092555 IP vkontakte.ru.http > GRooVE.Schorsa.60090: tcp 0
04:45:37.094555 IP GRooVE.Schorsa.60090 > vkontakte.ru.http: tcp 0
04:45:37.094595 IP GRooVE.Schorsa.60090 > vkontakte.ru.http: tcp 0
04:45:37.100802 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 621
04:45:37.155521 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 0
04:45:37.223031 IP srv219-226.vkontakte.ru.http > GRooVE.Schorsa.53772: tcp 745
04:45:37.231120 IP GRooVE.Schorsa.60091 > vkontakte.ru.http: tcp 0
04:45:37.283601 IP vkontakte.ru.http > GRooVE.Schorsa.60091: tcp 0
04:45:37.283716 IP GRooVE.Schorsa.60091 > vkontakte.ru.http: tcp 0
04:45:37.283901 IP GRooVE.Schorsa.60091 > vkontakte.ru.http: tcp 876
04:45:37.337073 IP vkontakte.ru.http > GRooVE.Schorsa.60091: tcp 0
04:45:37.408577 IP vkontakte.ru.http > GRooVE.Schorsa.60091: tcp 548
04:45:37.408587 IP vkontakte.ru.http > GRooVE.Schorsa.60091: tcp 0
04:45:37.410110 IP GRooVE.Schorsa.60091 > vkontakte.ru.http: tcp 0
04:45:37.410150 IP GRooVE.Schorsa.60091 > vkontakte.ru.http: tcp 0
04:45:37.419398 IP GRooVE.Schorsa.60092 > vkontakte.ru.http: tcp 0
04:45:37.426090 IP GRooVE.Schorsa.53772 > srv219-226.vkontakte.ru.http: tcp 0

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-11-05 1:45:52

сейчас вот еще что нагуглил:

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

С недавних пор на http://vkontakte.ru поменялась авторизация. Теперь для входа иcпользуется промежуточный адрес http://login.vk.com. После того как на нем проверяются логин/пароль, происходит редирект на адрес http://vkontakte.ru/login.php?op=slogin с уникальным id в пост запросе.
при очередном т.н. "глюке" запустил трассировку от клиента к vk.com и vkontakte.ru
ну и как уже наверное очевидно, пакеты пошли по разным маршрутам :(
погуглил, но ничего путного не нашел:
реально рулить трафиком по http запросам, а не по пакетам?
вроде как сквид умеет/должен уметь, но нигде не могу найти инфы

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2009-11-05 3:35:38

нашел вот такое решение
вроде как все есть в портах, однако ipvs не компилится на восьмерке, а сам проэкт с 2005 года не поддерживается :(

flexbert
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-12-02 12:01:42

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение flexbert » 2010-02-03 10:50:24

в итоге задача решилась? как сейчас настроено резервирование? балансировка между каналами есть?

Аватара пользователя
GRooVE
ст. сержант
Сообщения: 309
Зарегистрирован: 2009-01-04 10:33:43
Откуда: Odessa, UA
Контактная информация:

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение GRooVE » 2010-02-03 11:13:27

flexbert писал(а):в итоге задача решилась? как сейчас настроено резервирование? балансировка между каналами есть?
Задача так и не решилась.
Резервирование(естественно не без минусов)+балансировка раборают с помощью ECMP с указанием веса маршрута.

Бегемот
проходил мимо

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение Бегемот » 2010-02-12 18:43:38

Ситуевина аналогичная с топикпастером. Почти один в один. Фря 8.
У мну также 2 канала а инет. Подключение по PPPOE. Каналы по пропускной способности идентичны. Надо задействовать оба канала.
Балансировку пробовал настроить по разному.
1. Через one2many в моем случае не получилось, да и не выйдет впринципе, т.к. подключение pppoe и ифейсы соответственно ng (я юзаю mpd 5.4)
2. Через RADIX_MPATH вкомпилированный в ядро, ядерный нат nat и ipfw. Тут все просто. Все взлетело с полпинка. Но возникла аналогичная проблема с некоторыми сайтами. Вконтакте, мэил.ру, однотрахники, тьфу ты пакость, одноклассники :). Понятно какая пробле ма и почему. Некоторые серваки видимо привязывают сессии к исходящему ip (ф-фу какая гадость). И хотя в 8 фри с RADIX_MPATH в ядре и есть соответствующие опции в route add http://www.opennet.ru/opennews/art.shtml?num=21262, но это не помогло. Пробовал и "липкий" и "нелипкий" маршрут, результ один и тот же.
3. Через проверку состояния keep-state и "пробу" prob 0.5 и check-stateТеоретически разрыва сессий быть не должно было, а практика показала обратное. Поэтому, я перебрался на следующий варант.
4. Через RADIX_MPATH pf балансировку round-robin, route-to и опции sticky-address совместно с keep state. Сразу скажу, что на мой взгляд, в этом случае был достигнут лучший результат. Но в моем случае не совсем примлем данный способ. Я ничего не имею против pf, но у мну сразу возникла проблема с динамическим ограничением и нарезкой скорости. Ну нет у пф такой штучки как tablearg. Пришлось юзать и pf и ipfw одновременно вместе.

Мораль - буду смотреть в сторону iproute2.

linelect
проходил мимо

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение linelect » 2010-10-08 14:33:26

Я клиент.
У меня такой провайдер - он имеет два канала и както их балансирует.

Не спорю, интернет харош, скорость неплохая. Но как быть, если у меня глюит аська, ssh, ну и теже вконтакте.

Как бить тогда мне. Может сидеть в интернете через какойто OpenVPN? Чтоб не было проблем с авторизациией? Поможет ли ето?

Гость
проходил мимо

Re: FreeBSD 8.0 + MPD 5.3 + pf_nat + MPR + 2 канала

Непрочитанное сообщение Гость » 2010-10-08 15:01:07

смените провайдера
и вообще что за дурацкая привычка писать в каждую тему дурацкие вопросы?
создавайте вашу
описывайте ситуацию