The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Редирект на squid в сети на реальных IP, !*! AlienMike, 12-Окт-07, 18:43  [смотреть все]
Доброго утра, вечера господа!

Подскажите темному человеку, как заставить маршрутизатор (FreeBSD 6.2)
отделяющий сеть на реальных внешних IP заворачивать
пакеты с некоторых избранных IP с 80 портом в заголовке
на местный SQUID (тоже реальный IP)?
(Squid 2.6 с ICAP и DrWeb - хочется не пускать внутрь кое-каких сетей вирусню)
Картина сейчас такая:
Маршрутизатор смотрит одним концом fxp0 в остальной Интернет, другим - fxp1 в выделенную мне сеть.
Squid вполне исправен и работает (т.е. нормально режет вирусы), если клиенты заносят его в настройки браузера.
Попытался завернуть на файрволе "ipfw fwd" 80-тые пакеты на интерфейсе fxp1 на IP Сквида.
Вот так:
${fwcmd} add 101 fwd squid-IP,3128 tcp from client-1-IP to any 80,8080,8081
${fwcmd} add 102 fwd squid-IP,3128 tcp from client-2-IP to any 80,8080,8081
...
и так далее...
Оказалось, что это не работает.
Форвард, как я в конце концов выяснил, не меняет поле Destination в заворачиваемом
пакете, а просто тупо форвардит его на сквид как есть!
Машина, на которой крутится Squid получает такой пакет, видит, что Destination не имеет
к ней никакого отношения и дропает его прямо на интерфейсе.
Таким образом до Сквида просто ничего не доходит.
Насколько я теперь понимаю, на маршрутизаторе надо поднять natd
и каким-то специфическим образом заставить его редиректить 80-е пакеты
с избранных IP на машину со Сквидом.
Но человек я скорбный умом и сам сообразить ничего не могу.
Рылся в Интернете, но там все радостно делятся опытом, как заворачивать
на Сквид за NAT в маскарадных сетях. Радости от этого - никакой.
Подскажите если кто имеет опыт - как это сделать.

Best Regards,
AlienMike

  • Редирект на squid в сети на реальных IP, !*! Alexander Sheiko, 10:18 , 13-Окт-07 (1)
    >Попытался завернуть на файрволе "ipfw fwd" 80-тые пакеты на интерфейсе fxp1 на
    >IP Сквида.
    >Вот так:
    >${fwcmd} add 101 fwd squid-IP,3128 tcp from client-1-IP to any 80,8080,8081
    >${fwcmd} add 102 fwd squid-IP,3128 tcp from client-2-IP to any 80,8080,8081
    >...
    >и так далее...
    >Оказалось, что это не работает.

    Разумеется. Форвард на порт работает только для локальных интерфейсов. При форвардинге на другую машину номер порта задавать нельзя. Используйте просто фарвард на сквид (без номера порта), а на машине со сквидом заверните всё, что приходит на вышеуказанные порты, в порт 3128 сквида и всё заработает. Если на машине с прокси есть локальные сервисы, слушающие на этих портах, - первым правилом пропишите для них иключения. Т. е.:

    add fwd squid-IP 80 tcp from any to squid-IP 80

    • Редирект на squid в сети на реальных IP, !*! AlienMike, 18:52 , 16-Окт-07 (2)
      >Разумеется. Форвард на порт работает только для локальных интерфейсов. При форвардинге на
      >другую машину номер порта задавать нельзя. Используйте просто фарвард на сквид
      >(без номера порта), а на машине со сквидом заверните всё, что
      >приходит на вышеуказанные порты, в порт 3128 сквида и всё заработает.

      Большое спасибо!
      Все заработало.
      Единственный важный момент -
      в конфиге squid нужно при этом указать:

      http_port 3128 transparent

      Иначе гад работать не хочет!

      Best Regards,
      AlienMike




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

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