The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
PF с балансировкой +Squid, !*! ikarus, 20-Окт-10, 13:49  [смотреть все]
  • PF с балансировкой +Squid, !*! Кирилл_Н, 13:54 , 20-Окт-10 (1)
    > freebsd7.3, есть настроенный PF с балансировкой round-robin по двум внешним каналам
    > задача: сделать редирект 80го порта на сквида
    > вообщем все работает, однако никак не могу до конца понять отношения pf
    > и сквида.
    > когда работаем без сквида, то тут видно (по pftop) что пакетики бегут
    > то в один канал то в другой, все нормально, но что
    > происходит когда идет редирект на сквида? куда он дальше шлет пакеты?
    > на шлюз по-умолчанию?

    Если в PFе не указано другого, то да, на шлюз по умолчанию.

    • PF с балансировкой +Squid, !*! ikarus, 15:02 , 20-Окт-10 (2)
      • PF с балансировкой +Squid, !*! Кирилл_Н, 19:14 , 20-Окт-10 (3)
        >[оверквотинг удален]
        > refresh_pattern ^ftp: 1440 20% 10080
        > refresh_pattern ^gopher: 1440 0% 1440
        > refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
        > refresh_pattern . 0 20% 4320
        > cache_mem 128 MB
        > maximum_object_size 64 MB
        > cache_store_log /usr/local/squid/logs/store.log
        > visible_hostname pavlik
        > -----------------------------------------------------------------
        > очень большое желание представлять всю схему досканально :)

        балансировка трафика у вас происходит на внутреннем интерфейсе. трафик c 80го порта заворачивается на сквид, а сквид уже отправляет запросы наружу. и эти запросы уходят через интерфейс по умолчанию, т.к. иного не указано. вы можете попробовать балансировать исходящий трафик на интерфейсе по умолчанию. если это $ext_if1, то как то так

        pass out on $ext_if1 route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin from ($ext_if1) to any keep state

        и добавить правило для ната на другом интерфейсе
        nat on $ext_if2 from ($ext_if1) to any -> ($ext_if2)

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

        либо посмотрите умеет ли сквид самостоятельно балансировать нагрузку.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру