Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: VladSun в Dec 14, 2004, 02:12



Титла: Squid - help!
Публикувано от: VladSun в Dec 14, 2004, 02:12
Здравейте!

Ситуацията е следната:

сървер с две NIC - eth0 е външен, eth1 към LAN.
Кеш. прокси (Squid) включено към ВЪНШНИЯ интерфейс (някъде из БГ-peering-a).
Сървера има и htb shaper (отделно се шейпват BG и INT трафика)

Идеята е само международния трафик да минава през проксито.

Не ме интересува дали се дърпа от кеша или не.
Не искам да ползвам delay pools на Squid-a (1. машината не е моя; 2. използвам SNAT)

Със скрипта по-долу се прави всичко дотук с изключение на едно - не става shape-ването на клиентските машини. Маркирам пакетите в FORWARD веригата и htb-то shape-ва по MARK. Когато няма пренасочване към проксито shape-инга е идеален.

Ясно ми е защо не става, не ми е ясно как да стане :/

Минах вече няколко пъти през google (където хората не решават такива проблеми като разделяне на международен и бг ;) ) и през търачката на този форум, но засега нищо ...

Примерен код
#Redirect to proxy
echo -n "Redirecting INT to proxy ..."

$ipt -t nat -N BG_SQUID
$ipt -t nat -N INT_SQUID

for i in `cat bgnet.txt`; do
       $ipt -t nat -A PREROUTING -d $i -j BG_SQUID
done

$ipt -t nat -A PREROUTING -j INT_SQUID

$ipt -t nat -A INT_SQUID -i eth1 -p tcp --dport 80 -j DNAT --to squid_real_ip:3129
$ipt -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -d squid_real_ip -j SNAT --to 192.168.1.1

$ipt -t nat -A INT_SQUID -j ACCEPT
$ipt -t nat -A BG_SQUID -j ACCEPT

echo " OK"


Благодаря предварително !


Титла: Squid - help!
Публикувано от: в Dec 14, 2004, 09:55
Здравей VladSun,
  имам един уточняваш въпрос:
шейпинга който правиш какво точно целиш с него? Да ограничиш международния и пииринг трафика за цялата мрежа, или за отделна машина от мрежата? Както и шейпинга ти е за изходящ, входящ или изходящ и входящ? ???


Титла: Squid - help!
Публикувано от: VladSun в Dec 14, 2004, 10:38
Цитат (Guest @ Дек. 14 2004,10:55)
Здравей VladSun,
  имам един уточняваш въпрос:
шейпинга който правиш какво точно целиш с него? Да ограничиш международния и пииринг трафика за цялата мрежа, или за отделна машина от мрежата? Както и шейпинга ти е за изходящ, входящ или изходящ и входящ? ???


1. Шейпинга е за всяка отделна машина в мрежата
2. Шейпинга е както по вид на трафика - международен и peering, така и по посока - upload/download

Т.е. за всяка машина в мрежата имам по 4 маркирания на пакетите и съответно 4 файла нужни за работатат на htb.init

И още:
192.168.1.1 в горния скрипт е gateway-а на LAN мрежата


Титла: Squid - help!
Публикувано от: VladSun в Dec 14, 2004, 12:17
Мисля, че проблемът може да се реши чрез alise на още едно IP като редиректа към проксито да е между това IP и изходящото IP сървера, но нещо още не мога да си го представя ...

Някакви идеи ???


Титла: Squid - help!
Публикувано от: в Dec 14, 2004, 14:46
това е само идеята как да се организира трафикът :)

                                                                  /--proxy--\
                      /--  --Internet--   <traffic mark> ---        --\
 local Net --> <                                                               >-ISP-
                      \-- --Peering--   <traffic mark>               --/

вече входящият би бил пак нещо подобно:
                                /--proxy--\
               /--  --Internet--       <traffic mark>  ---\
 ISP --> <                                                         >-- local Net
               \-- --Peering--       <traffic mark>       -/

сега. това е схемата.
за отделяне на Internet от Peering трафик, може да помолиш доставчикът ти да ти анонсва BG пространството и / или да си изградиш два VLAN -а към него -  за БГ и Интернет. (Обаче, ако правиш allias-и, картата ти трябва да поддържа стандарта 803.1q) След това си правиш шеипинг на VLAN-ите, и допълнително международният HTTP трафикът го пренасочваш към proxy-то.
Така го виждам аз. (пс. може би има по-читави решения.. :)  )


Титла: Squid - help!
Публикувано от: VladSun в Dec 14, 2004, 17:44
Значи разделянето на БГ и ИНТ си го правя без проблеми, работя само с един VLAN към ИСП-то.

Значи тая схема изглежда добре, но в действителност принципът на transperant proxy я прави доста по различна ... има пренаписване на адресите, така че за ЛАН-а отговора да идва от gateway-а, защото натам е пратило заявката. Само, че при тая постановка се губи шейпинга и точно заради това искам още едно IP за да получа междинна верига, в която да правя редиректа и възстановяване на IP-адреса на gateway-a съответно СЛЕД И ПРЕДИ МАСКИРАНЕТО (а следователно и шейпването)


Титла: Squid - help!
Публикувано от: VladSun в Dec 15, 2004, 12:18
Само не ми казвайте, че никой не го е правил това ?!?!


Титла: Squid - help!
Публикувано от: VladSun в Dec 19, 2004, 03:06
SMITH, ще може ли някак да ми преместиш темата към секцията за Напреднали, защото тоя път си мисля, че все пак е за там ... Бях пуснал там тема с препратка натук, ама "някой" ми я изтри ...
Ако трябва ще си напиша темата наново ТАМ ама явно не е за тая секция


Титла: Squid - help!
Публикувано от: VladSun в Jan 07, 2005, 15:14
Проблемът ми все още е актуален ...
Някой с някакви идеи?


Титла: Squid - help!
Публикувано от: в Jan 07, 2005, 17:33
Цитат (VladSun @ Ян. 07 2005,16:14)
Проблемът ми все още е актуален ...
Някой с някакви идеи?

Здрасти пич !
Защо смяташ, че имаш проблем когато прерутираш локалните заявки към squid-a и тогава ти се чупи шейпъра ?
За интернешънала, мисля че мога да ти предложа следната идея:
- създай ACL за БГ и друг за интернешънала (който четеш от файла)
- както с клиентските адреси работи шейпъра, така на същия принцип насочвай трафика към сепията
- забрани БГ-то в сепията и остави само интернешънала да минава от там, като използваш отрицанието
До сега не ми се е случвало да видя добре направен шейпър, който да може да се заобиколи, па било то и със сепията !!!
Огледай си мрежовата постановка на машината, може да не си разделил или описал адреси или мрежови сегменти и от това да ти се дъни шейпъра. Личното ми мнение от това, което прочетох по-горе, е че стената ти нещо маже препращането.
Дано да съм помогнал ! Успех.


Титла: Squid - help!
Публикувано от: VladSun в Jan 07, 2005, 21:32
1. ACL-то се прави в Squid-a, но както изрично казах още в първия пост - прокси машината не е моя, а и да е моя, до нея стигам с външното ИП, така че ACL-то е безполезно.
2. Второто не го разбрах.
3. Филтрирал съм БГ-то още в рутера. Той изобщо не се редиректва към проксито.

Стената, поне според мен, не маже препращането (поне така е направено в 3-те howtos, които съм използвал, а и всеки ред си има ясно предназначение). Когато не се редиректва към проксито шейпъра работи ИДЕАЛНО.
Благодаря за отговора все пак, но не ми помага много :(


Титла: Squid - help!
Публикувано от: в Jan 10, 2005, 12:43
Zdr

Moqt otgovor e sledniq:
Ako Squida ti e na gatewaya zna4i squida e localen proces i ne minava prez FORWARD.
Markirai paketite za shapera v POSTROUTING s izhodq6t interfeis-localniq i destinaciq localnite ip-ta.

Probvai i kaji dali e ot tova.