PDA

Показать полную графическую версию : Помощь в настройке FreeBSD++Squid+SAMS


Antipiratik
03-02-2011, 11:28
Имеем:
Локальную сеть (~60 компов) со статическими ip-адресами 192.168.x.y с роутером CISCO с ip 192.168.1.2 (в локалку) и 10.0.0.1 (провайдер).
Необходимо:
Организовать прозрачный прокси сервер(без дополнительных настроек у пользователей), без роутинга!!! (роутер циско, его трогать нельзя) Считать ВЕСЬ внешний трафик (внутри сети 192.168.х.у не считать), разделить на 2 группы (по ip) привелегированые (разрешить всё) и остальные с запретом по ip, http, протоколу.

Сделано:
Установил FreeBSD 8.1
Установил и настроил Squid, apache, MySQL, php, sams по мануалу (http://www.lissyara.su/articles/freebsd/traffic_count/squid+sams+rejik/) до Rejika (т.к. итак не работает)

Настройки FreeBSD:
- ifconfig_bge0="inet 192.168.1.3 netmask 255.255.255.0"
defaultrouter="192.168.1.2" (смотрит в локалку на роутер с ip 192.168.1.2)
- ifconfig_xl0="inet 192.168.1.2 netmask 255.255.255.0" (соединён кабелем с компом 192.168.1.4 для теста)
Добавил пользователя в SAMS с ip 192.168.1.4/255.255.255.255, у него в настройках "Авторизация по NCSA"
инет на компе .1.4 не работает, статистику не считает.
Если комп с FreeBSD вообще отдельно, пробовал убрать из локальных адресов всё в сасмсе, добавить пользователя с 192.168.1.3 и покачать с фтп, тоже не считает.

Что делаю не так? :(
Куда потом поставить прокси (между чем и чем)?!
Будет ли прокси сервер прослушивать если его поставить не между роутером и локалкой, а параллельно указав "прослушивать ip роутера"?
Какую авторизацию необходимо применять в данном случае NCSA или по ip?
Спасибо.

P.S. почему SAMS, потому что не особо силён в никсах, а у него добрая/удобная/функциональная вебморда. Почему NCSA, не нашёл подробных настроек SQUID по ip.

dmitryst
03-02-2011, 11:38
Организовать прозрачный прокси сервер без роутинга!!! »
Что делаю не так? »

то, что подчеркнуто. разнесите сети в разные диапазоны (192,168,1,х и 10,0,0,х к слову), сделайте gateway_enable="YES", natd_enable="YES", циска ваша пусть отстается как есть, всех юзеров сажаете во вторую подсеть (10,х,х,х которая), в настройках фаерволла прописываете

#### forward SQUID traffics
ipfw -q add 100 fwd 127.0.0.1,3128 all from 10.0.0.0/8 to any 80,81,88,808,3128,3129,8080,8085,9415 via rl0
###(rl0 - это карта, которая смотрит в локалку)

#### ADD NAT from local network
ipfw -q add 700 divert 8668 ip4 from any to any via dc0()
####(dc0 - это карта, которая смотрит к циске)

PS. Забыл. У юзеров ваш проксик прописываете как default gateway (ну, разумеется, тот адрес, который присвоен карте из 10.0.0.0 подсети)

Antipiratik
03-02-2011, 13:56
По порядку, сеть итак разделена на 192.168. и 10.0. между ними циска, у всех пользователей настроен шлюз 192.168.1.2 в свойствах сетевого подключения.
Т.е. получится что все будут ходить в инет через фрибсд, минуя циско?! так ест-но нельзя. Возможно поменять ip адресса, т.е. у циски в локалку смотрящий сделать 192.168.1.5, а у фрибсд 1.6 и 1.2 в локалку.

Добавить в настройки фаерволла....
Получается его надо установить... разберёмся установим.

dmitryst
04-02-2011, 00:30
Т.е. получится что все будут ходить в инет через фрибсд, минуя циско?! так ест-но нельзя »
нет, не так

(циска 192.168.1.1) <-> (192.168.1.2 FreeBSD Proxy 10.0.1.1) <-> (свитч ) <-> (локалка 10.0.1.2-254 / 10.0.254.2-254)

PS. фаерволл включается из ядра, про это есть и в хендбуке, и у лисяры, с опциями и рекомендациями (касательно ipfw, другие я как-то не люблю :) )

Antipiratik
04-02-2011, 08:48
Всё понятно, по поводу раскидать по сеткам...
Про фаервол да, почитал, он заворачивает трафик на squid.
Буду пробовать.

Пока такой вопрос возник, к нам из внехи подключаются по тунелю (впн), с этим проблем не возникнет?! И squid нормально пропустит через себя специфические программы типа банковских клиентов, Lotus и т.д. ???

dmitryst
04-02-2011, 19:57
к нам из внехи подключаются по тунелю (впн), с этим проблем не возникнет?! »
не должно. В фаере надо разрешить протокол GRE (allow gre from any to me) и открыть порт 1728. В конфигурацию natd добавить опцию same_ports.

И squid нормально пропустит через себя специфические программы типа банковских клиентов, Lotus и т.д. ??? »
нет. Это сквида не касается, https, vpn И прочее не кешируются

Antipiratik
07-02-2011, 16:04
После выходных, на свежую голову придумал другую схему реализации моих задач, а именно, сделать прокси сервер параллельно локалке, т.е. в локалке будет работать 2 шлюза, циска через который будут ходить сервера, привелегированные и наша фрибсд, и фрибсд, через которую будут ходить все кому надо ограничить трафик.

Ещё раз спасибо :)

Разбираюсь с pf чтобы заворачивать весь трафик на SQUID

dmitryst
08-02-2011, 15:20
сделать прокси сервер параллельно локалке »
ну-ну

Разбираюсь с pf чтобы заворачивать весь трафик на SQUID »
зачем? Стандартного ipfw -q add 100 fwd 127.0.0.1,3128 all from 10.0.0.0/8 to any 80,81,88,808,3128,3129,8080,8085,9415 via rl0 (тут ваш интерфейс) не хватает?

Antipiratik
16-02-2011, 17:17
Итак, потихоньку движемся.

Сейчас всё работает параллельно локалке, путь трафика:
ПК - FreeBSD (http трафик проходит SQUID+sams)- Cisco - интернет

Сейчас хочу сделать следующее:
трафик с ПК - CISCO - >
- http-трафик через FreeBSD SQUID - CISCO - инет
- остальное Инет
Т.е. http-трафик с циски на сквид, затем обратно на циску и в инет.

Нашёл такой способ реализации:
На интерфейсе смотрящим в локальную сеть циски прописываем
ip policy route-map proxy-squid

создаём список
ip access-list extended httpUsers
permit ip 192.168.x.0 0.0.0.255 any eq www
permit any 192.168.x.0 0.0.0.255 eq www

далее используем route-map
route-map proxy-squid permit 10
match ip address httpUsers
set ip next-hop 192.168.x.y (ip фрибсд)

В общем вопрос в следующем, не зациклится ли трафик?! Т.к. с фрибсд будет идти тот же http трафик и циска может снова отправлять его на фрибсд...

Если "очень коряво" исполнение мною задумано, то как норм?) чтобы не менять настройки у пользователей, не особо ковыряться в циске.

Пока писал, пришла такая мысль, а что если FreeBSD поставить между циской и локалкой, одна сетевая карта с ip 192.168.1.2 (смотрящая в локалку) вторая 192.168.1.3 смотрящая на циску, и у циски 192.168.1.2 и в фрибсд заворачивать http трафик на сквид остальное прямиком на циску, она знает что кому можно или нельзя :) Проблем не будет с тем что и тут и там 192.168.1.2 и если указать фряхе 1.2 шлюз, то не будет ли она на свой интерфейс пакеты отправлять?!
Спасибо :)

dmitryst
16-02-2011, 23:14
Сейчас хочу сделать следующее:
трафик с ПК - CISCO - >
- http-трафик через FreeBSD SQUID - CISCO - инет
- остальное Инет
Т.е. http-трафик с циски на сквид, затем обратно на циску и в инет. »
ничего не понял.

Antipiratik
17-02-2011, 11:25
Вобщем сделать надо вот так
http://www.pictureshack.ru/images/792free.JPG

Чтобы с локалки шёл трафик на фряху, на фряхе pf разрешал/запрещал определённым ip c локалки в инет, а весь http трафик на сквид, там сквид+самс разрулят кому что разрешено/запрещено. Ну а дальше на циску.

В общем вопрос в том, как это реализовать? куда копать чтобы и на циске и на фряхе было 192.168.1.2 ?

dmitryst
17-02-2011, 13:22
куда копать чтобы и на циске и на фряхе было 192.168.1.2 ? »
никуда. Низя. На обоих интерфейсах фри должны быть разные сети, или хотя бы разные ПОДсети (192.168.1.0 и 192.168.2.0, например)

Antipiratik
17-02-2011, 15:23
В чём проблема одинаковых сетей на двух интерфейсах?!?
У пользователей прописан один шлюз, на циске будет разрешено только с фрибсд, мимо фряхи юзеры не пройдут. А трафиком рулить с помощью pf.

dmitryst
17-02-2011, 15:37
В чём проблема одинаковых сетей на двух интерфейсах?!? »
не представляю маршрутизацию пакетов между этими интерфейсами. fwd? Вроде, неправильно, а по-другому не знаю, как. Сейчас гуру подтянутся, авось и посоветуют что... :)

Antipiratik
21-02-2011, 17:40
Будет сеть построена как показано на рисунке
http://www.pictureshack.ru/images/2606free1.JPG

Настроен сквид с транспарентным портом.
Вот перед непосредственным внедрением подготовил pf.conf посмотрите свежим взглядом, есть ли косяки?!

Цель: весь http-трафик заворачиваем на сквид и его фильтруем sams/
Остальной трафик, всем разрешить локалку провайдера (тут тоже мне непонятно как организовать, т.к. для фрибсд следующий роутер циска), всем разрешить почту по портам.
випам разрешить всё, остальным ничего (http разрешить, т.к. сквид сам раскидает кому что)


# Локалка (192.168.1.2)
int_if="xl0"

# Вторая сетевая карта Мир (192.168.2.2)
ext_if="bge0"

# LAN (локальная сеть)
lan_net="{ 192.168.1.0/24 }"
# Локалка провайдера
local_net="{10.0.0.0/8}"
cisco_net="{192.168.2.0/24}"

# Разрешено всё
table <VIPusers> { 192.168.1.162, 192.168.1.61 }
# Всё запрещено кроме SQUID
table <users>{ 192.168.1.163 }

NoRouteIPs = "{ 127.0.0.0/8 }"
set block-policy drop
set skip on lo0

block all

# Натим VIP
nat on $ext_if from $VIPusers to any -> ($ext_if)

# Открытые порты для mail
nat pass on $ext_if from $lan_net to any port 25 -> $ext_if
nat pass on $ext_if from $lan_net to any port 110 -> $ext_if
nat pass on $ext_if from $lan_net to any port 955 -> $ext_if

# Разрешена локалка провайдера всем
nat on $ext_if from $lan_net to $local_net -> ($ext_if)

# Заворачиваем весь и от всех http-трафик на SQUID
rdr inet proto tcp from $lan_net to any port www -> 127.0.0.1 port 3128

# ssh
pass in quick on $int_if proto tcp from $lan_net to $int_if port ssh

Пожалуйста, посмотрите и попинайте, т.к. при "внедрении" будет тяжко :( Спасибо.




© OSzone.net 2001-2012