Страница 1 из 1

squid и 2 провайдера

Добавлено: 2012-01-29 20:36:22
RAGNAR
почитал посматрел в большом интернете. есть у каго какие идеи по данной теме :)

на серваке поднято два канала по средсвам mpd ( ng0 , ng1 ) с белыми ip правда от одного провайдера. gw однин но это мелочи.
настроен setfib , всё прекрасно. и стоит прокси прозрачный, и хотелось бы чтоб он использовал оба канала. щас вроде использует но как то странно.

встретил статейку интересную , правдо на линуксе. возможно это на нашей оси? http://www.opennet.ru/base/net/squid_ip ... d.txt.html

есть у какго какие мысли!

Re: squid и 2 провайдера

Добавлено: 2012-01-30 10:13:24
RAGNAR
поместили для начинающих :) это все мысли

Re: squid и 2 провайдера

Добавлено: 2012-01-30 10:47:24
suspender
Мне кажется средствами самого сквида это никак.
Нужно ловить трафик инициированный сквидом и его уже балансить. Как это сделать - хз. В линухах в iproute2 и iptables можно в принципе узнать pid процесса которому принадледит траффик, и на основании этого можно сообразить какую нибудь конфу. Во фре (в ipfw/pf) такой информации вроде как нет.
Хотя могу ошибацца, в свое время заморачивался этим вопросом, но мои изыскания ни к чему не привели.

Теоретически, сквид можно запихнуть в jail, и весь исходящий траффик этой jail считать траффиком сквида. Далее средствами ipfw/pf раскидывать его по fib-ам (но нужно учитывать ещё конкретные tcp-ip сессии - типа если уже есть динамическое правило для пакета - то пускаем по нему, если нет - то выбираем fib, отправляем в него, создаем динамическое правило). Хотя это уже пахнет наколенщиной сильно.

Re: squid и 2 провайдера

Добавлено: 2012-01-30 10:57:37
RAGNAR
вот примерно как это все щас работает. и ходит и черер первый и через второй. это тестилось на 2ip.ru

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

md5# ipfw show
00011  1271232    82798805 fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any dst-port 80 via ng0
00011   796883    60417949 fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any dst-port 80 via ng1
00020  4061779   349642477 prob 0.500000 skipto 90 ip from any to any in recv fxp0
00070 11828436  6625394590 setfib 0 ip from any to any in recv fxp0 keep-state
00080  9111765  6370286206 allow ip from any to any via fxp0
00080   679570   843473126 allow ip from any to any via lo0
00090 13240949  7325931717 setfib 1 ip from any to any in recv fxp0 keep-state
00098  9807970  7022802886 allow ip from any to any via fxp0
00200  3868565  3922943533 skipto 3800 ip from any to any in via ng0
00200  8073426 10036112532 skipto 5300 ip from any to any in via ng1
00200  2806349   280773580 skipto 3600 ip from any to any out via ng0
00200  6043556   492525680 skipto 5000 ip from any to any out via ng1
03600  2806349   280773580 queue 2 ip from any to any out xmit ng0
03700  2806346   280772755 nat 1 ip from any to any via ng0
03750  2897236   289163647 allow ip from any to any
03800  3868565  3922943533 nat 1 ip from any to xx.xx.xx.xx in recv ng0
03900  3766480  3916319719 queue 1 ip from any to any in recv ng0
04000  3766481  3916321179 allow ip from any to any
05000  6043561   492527236 queue 21 ip from any to any out xmit ng1
05100  6043590   492527288 nat 2 ip from any to any out xmit ng1
05200  6043328   492376376 allow ip from any to any
05300  8073426 10036112532 nat 2 ip from any to yy.yy.yy.yy in recv ng1
05400  7970755 10029424886 queue 11 ip from any to any in recv ng1
05500  7959429 10014851765 allow ip from any to any
65535        0           0 deny ip from any to any
мне интересно ка можно совместить 2 правила в одно , переправление на внешние интерфейс.

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

00011  1271232    82798805 fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any dst-port 80 via ng0
00011   796883    60417949 fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any dst-port 80 via ng1
из squid.conf я закоментировал

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

#tcp_outgoing_address zz.zz.zz.zz

Re: squid и 2 провайдера

Добавлено: 2012-05-09 20:57:11
RAGNAR
Возвращаясь к старому вопросу, возникла мысль . возможно как то завернуть трафик на сквид и вывернуть обратно в фаервол , что бы натилось все kernel nat.

к примеру вот этим мы форвардим свё что для сквида и уходит через внешку.

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

ipfw add 10 fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any dst-port 80 via ng0
а хорошо бы еще и обратно вернуть.

Re: squid и 2 провайдера

Добавлено: 2012-05-10 7:28:58
ChihPih
Почитайте про параметр prob в IPFW.

Re: squid и 2 провайдера

Добавлено: 2012-05-10 19:59:06
RAGNAR
Почитайте про параметр prob в IPFW.
вы не вниклю в суть проблемы. обясняю еще раз
есть сеть у каждого свой ip , они лезут в инет через squid , в итоге у них у всех стоит один и тотже внешний ip. (то есть сквид все запросы отсылает сам с внешнего интерфейса и его ip)

а мне нужно сто бы он этого не делал , и оставлял те жи локальные ip , а дальше их будить натить нат!

есть у какго мысли?

Re: squid и 2 провайдера

Добавлено: 2012-05-13 19:24:54
RAGNAR
вариант c prob не прокатит так как squid работает через default gw