- Squid и два внешних IP(реализация разделения трафика), Sloboda, 14:18 , 04-Апр-07 (1)
iproute2 осваивать если не получиться, и у меня будет время - подскажу ключевые слова: /etc/iproute2/rt_tables и в iproute2: table, from, via
- Squid и два внешних IP(реализация разделения трафика), edem337, 14:57 , 04-Апр-07 (2)
>iproute2 осваивать >если не получиться, и у меня будет время - подскажу >ключевые слова: /etc/iproute2/rt_tables и в iproute2: table, from, via прочел статью https://www.opennet.ru/base/net/iproute2_cebka.txt.html Познавательная статья На примере показано каким образом можно клиентские ip раскидать на разные ip провайдеров. Алгоритм я вижу так 1) настраиваю alias 2) устанавливаю в squid'е ACL по IP клиента acl FAST_HOST src 192.168.1.5 ... acl SLOW_HOST src 192.168.1.100 по расширениям acl SLOW_DOWN urlpath_regex -i \.exe$ .... acl SLOW_DOWN urlpath_regex -i \.rar$ по размеру заачки(правда на сколько я читал не все сервера поддерживают) и потом подставляю IP-шники своих реальных IP которые смотрят в инет tcp_outgiong_address 83.217.х.х FAST_HOST tcp_outgiong_address 83.234.х.х SLOW_HOST 3) далее для пакетов должны быть применены соответсвующие GetWay, то бишь FAST_HOST(начальство etc.) - GW 83.217.х.GW SLOW_DOWN (файлы+простые смертные) - GW 83.234.х.GW Затруднение у меня в пункте 3. Но возможно я что-то упустил.
- Squid и два внешних IP(реализация разделения трафика), Sloboda, 15:31 , 04-Апр-07 (3)
всё правильно и статья хорошая
- Squid и два внешних IP(реализация разделения трафика), edem337, 16:31 , 04-Апр-07 (4)
>всё правильно и статья хорошая Статью изучил, вот только вопрос если честно возникает следкющий Вроде как бы iproute надо пакетыполагаю, что разруливать должно быть что-то типа, по живому тестить пока не могу #echo 200 inet_dsl1 >> /etc/iproute2/rt_tables #echo 201 inet_dsl2 >> /etc/iproute2/rt_tables #ip route add default via 83.217.x.GW dev eth0:0 table inet_dsl1 #ip route add via 83.234.x.GW dev eth0 table inet_dsl2 Но вопрос - как мне подать через squid команду(отмаркировать пакет) чтобы он пошел при объявлении tcp_outgoing_address именно по тому GW?
- Squid и два внешних IP(реализация разделения трафика), Sloboda, 17:10 , 04-Апр-07 (5)
>Но вопрос - как мне подать через squid команду(отмаркировать пакет) чтобы он >пошел при объявлении tcp_outgoing_address именно по тому GW? это не сквид делает сквид выставляет source а роутингом рулит ядро :-) (iproute2 - это userspace-утилита) перечитай статью на предмет таких конструкций # ip rule add from 192.168.1.20 table inet_adsl
- Squid и два внешних IP(реализация разделения трафика), edem337, 14:15 , 05-Апр-07 (7)
>это не сквид делает >сквид выставляет source >а роутингом рулит ядро :-) (iproute2 - это userspace-утилита) Прошу прощения за squid. >перечитай статью на предмет таких конструкций ># ip rule add from 192.168.1.20 table inet_adsl В описанном случае идет пересылка пакетов от определенных IP в таблицу маршрутизации inet_dsl. ---- 1) создаем таблицу маршрутов для медленного DSL(slow_dsl) # echo 200 slow_dsl > /etc/iproute2/rt_tables говорим 192.168.1.6 ходить через таблицу маршрутов slow_dsl # ip rule add from 192.168.1.6 table slow_dsl устанавливаем маршрут по умолчанию для slow_dsl с eth0 ходить через шлюз 83.234.0.GW # ip route add default via 83.234.0.GW dev eth0 table slow_dsl сбрасываем кэш маршрутизации # ip route flush cache 2) создаем таблицу маршрутов для быстрого DSL(fast_dsl) # echo 201 fast_dsl > /etc/iproute2/rt_tables говорим 192.168.1.5 ходить через таблицу маршрутов fast_dsl # ip rule add from 192.168.1.5 table fast_dsl устанавливаем маршрут по умолчанию для fast_dsl с eth0:0 ходить через шлюз 83.217.0.GW # ip route add default via 83.217.0.GW dev eth0:0 table fast_dsl сбрасываем кэш маршрутизации # ip route flush cache ---- а) Не понял, только в этом случае tcp_outgoing_address необходим или достаточно таблицы маршрутизации? б) необходимо ли указывать ip моих внешних ip 83.234.x.MyIP_1, 83.217.x.MyIP_2 # ip route add default via 83.234.0.GW dev eth0 src 83.234.x.MyIP_1 table slow_dsl # ip route add default via 83.234.0.GW dev eth0 src 83.217.x.MyIP_2 table fast_dsl б) Как разделить закачку файлов и просмотр страниц(что является более приорететным для меня).
- Squid и два внешних IP(реализация разделения трафика), Sloboda, 15:18 , 05-Апр-07 (8)
># ip rule add from 192.168.1.6 table slow_dsl ># ip rule add from 192.168.1.5 table fast_dsl Внимательнее, это правила роутинга для пакетов, которые идут непосредственно с этих ай-пи мимо сквида.Нужно сделать такие правила для двух инет-ай-пи-адресов _сервера_. >---- >а) Не понял, только в этом случае tcp_outgoing_address необходим или достаточно таблицы >маршрутизации? Необходимо и то, и другое. И это для серверных адресов, потому что в инет уже лезет сквид, а не клиент. >б) необходимо ли указывать ip моих внешних ip 83.234.x.MyIP_1, 83.217.x.MyIP_2 ># ip route add default via 83.234.0.GW dev eth0 src 83.234.x.MyIP_1 table >slow_dsl ># ip route add default via 83.234.0.GW dev eth0 src 83.217.x.MyIP_2 table >fast_dsl Да >б) Как разделить закачку файлов и просмотр страниц(что является более приорететным для >меня). Поищи здесь на опеннете, были обсуждения. С ходу это, увы, сделать невозможно, хотя бы потому, что вначале уставливается соединение (а какому каналу?), потом узнается размер объекта, а потом что? качать по другому каналу? а если авторизация, куки и т.д. Я делал два порта: 3128 и 3129 (http_port). И потом ацл-ем myPort и tcp_outgoing_address разруливал по каналам. - Squid и два внешних IP(реализация разделения трафика), kvs, 15:42 , 05-Апр-07 (9)
>>это не сквид делает >>сквид выставляет source >>а роутингом рулит ядро :-) (iproute2 - это userspace-утилита) >Прошу прощения за squid. > >>перечитай статью на предмет таких конструкций >># ip rule add from 192.168.1.20 table inet_adsl >В описанном случае идет пересылка пакетов от определенных IP в таблицу маршрутизации >inet_dsl. >---- >1) >создаем таблицу маршрутов для медленного DSL(slow_dsl) ># echo 200 slow_dsl > /etc/iproute2/rt_tables >говорим 192.168.1.6 ходить через таблицу маршрутов slow_dsl ># ip rule add from 192.168.1.6 table slow_dsl >устанавливаем маршрут по умолчанию для slow_dsl с eth0 ходить через шлюз 83.234.0.GW > ># ip route add default via 83.234.0.GW dev eth0 table slow_dsl >сбрасываем кэш маршрутизации ># ip route flush cache >2) >создаем таблицу маршрутов для быстрого DSL(fast_dsl) ># echo 201 fast_dsl > /etc/iproute2/rt_tables >говорим 192.168.1.5 ходить через таблицу маршрутов fast_dsl ># ip rule add from 192.168.1.5 table fast_dsl >устанавливаем маршрут по умолчанию для fast_dsl с eth0:0 ходить через шлюз 83.217.0.GW > ># ip route add default via 83.217.0.GW dev eth0:0 table fast_dsl >сбрасываем кэш маршрутизации ># ip route flush cache >---- >а) Не понял, только в этом случае tcp_outgoing_address необходим или достаточно таблицы >маршрутизации? >б) необходимо ли указывать ip моих внешних ip 83.234.x.MyIP_1, 83.217.x.MyIP_2 ># ip route add default via 83.234.0.GW dev eth0 src 83.234.x.MyIP_1 table >slow_dsl ># ip route add default via 83.234.0.GW dev eth0 src 83.217.x.MyIP_2 table >fast_dsl >б) Как разделить закачку файлов и просмотр страниц(что является более приорететным для >меня). Что вы городите, можно сделать проще. Для этого варианта с двумя таблицами ему еще надо фаер задействовать (маркировку пакетов делать). 1. Сделай шлюзом по умолчанию канал через кот. хочеш что-бы народ качал. 2. Дальше заворачиваеш весь http трафик на проксю (делаеш прозрачный прокси). 3. Дальше по моей прежней ссылке заворачиваеш несь трафик через tcp_outgoing_address dstdomain . весь http трафик. 4. можеш еще настроить что-бы по http не качали подрезай трафик по 6-8 кб. вполне хватит странички смотреть. PS/ блин теоретики, если это делал и работает, советуйте, а почитав и советовать, сделай так, или иначе, зачем?????
- Squid и два внешних IP(реализация разделения трафика), kvs, 12:29 , 05-Апр-07 (6)
>Господа, в недавнем прошлом(месяц назад) перевел тариф с лимитки на безлимит. Как >водится обещали приемлемую скорость, в итоге вышло "возвращение в 90е". Долго >ругался с провайдером, в итоге дали второй IP и лимит 3Гб >с уверенной скоростью. >Теперь стоит вопрос реализации. >Стоит Linux RH 9.0, eth0 - смотрит наружу, eth1 - LAN. >Стоит FireStarter(могу ходить в инет без прокси) >В идеале хочется, чтобы пользователи ходили по страничкам через лимит, а грузили >файлы через анлим. >Внешние ip - 83.217.х.х и 83.234.х.х >eth0 -83.234.х.х >Завел alias eth0:0 - 83.217.х.х > >Решил проверить на Squid'e >Squid позволяет с помощью ACL создать правило(tcp_outgiong_address) для отправки через нужный канал. > >сначала установил ip одного клиента, чисто для проверки >acl S_HOST src 192.168.1.5 >tcp_outgoing_address 83.217.х.х S_HOST >запускаю браузер - не рабоатет. >Настраиваю ходить без прокси - идет через et0:0. >до старта aliasa gw 83.234.х.х после - менятеся на 83.217.х.х. >Кто нибудь бился с подобным? Можно и через Squid сделать, а можно и маркировкой пакетов, Вот посмотри http://forum.sysadmins.ru/2/158278/?start=15&postdays=0&post... или поищи тему "делить канал Squid" если непонятно стучи в аську помогу
- Squid и два внешних IP(реализация разделения трафика), DDD, 15:51 , 05-Апр-07 (10)
У меня похожая проблема (только немного подругому)): есть два канала в инет, надо сделать так чтоб часть клиентов ходила через один канал, другая часть через второй. Прописываю в squid.conf acl ttt proxy_auth user_name tcp_outgoing_address ip_inet2 ttt tcp_outgoing_address ip_inet1_(default) и в правилах ipfw (у меня Фря) 02240 489 29351 fwd gw2 ip from ip_inet2 to any 02250 0 0 fwd gw2 udp from ip_inet2 to any 02260 0 0 fwd gw2 icmp from ip_inet2 to any вот клиент user_name вроде ходит через второй канал (судя по trafshow), а если отключить первую линию, то и у него инета тож нет где я не прав?
- Squid и два внешних IP(реализация разделения трафика), kvs, 09:17 , 06-Апр-07 (11)
>У меня похожая проблема (только немного подругому)): >есть два канала в инет, надо сделать так чтоб часть клиентов ходила >через один канал, другая часть через второй. > >Прописываю в squid.conf >acl ttt proxy_auth user_name > >tcp_outgoing_address ip_inet2 ttt >tcp_outgoing_address ip_inet1_(default) > >и в правилах ipfw (у меня Фря) >02240 489 29351 fwd gw2 ip from ip_inet2 to any >02250 0 0 fwd gw2 udp from ip_inet2 to any >02260 0 0 fwd gw2 icmp from ip_inet2 to any > >вот клиент user_name вроде ходит через второй канал (судя по trafshow), а >если отключить первую линию, то и у него инета тож нет > > >где я не прав? http://forum.sysadmins.ru/2/158278/?start=30&postdays=0&post... Этот-же вопрос, возможно ты и задавал :-))
|