Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   Помощь в настройке FreeBSD++Squid+SAMS (http://forum.oszone.net/showthread.php?t=198448)

Antipiratik 03-02-2011 11:28 1603396

Помощь в настройке FreeBSD++Squid+SAMS
 
Имеем:
Локальную сеть (~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 по мануалу до 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 1603407

Цитата:

Цитата Antipiratik
Организовать прозрачный прокси сервер без роутинга!!! »

Цитата:

Цитата Antipiratik
Что делаю не так? »

то, что подчеркнуто. разнесите сети в разные диапазоны (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 1603537

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

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

dmitryst 04-02-2011 00:30 1603962

Цитата:

Цитата Antipiratik
Т.е. получится что все будут ходить в инет через фрибсд, минуя циско?! так ест-но нельзя »

нет, не так

(циска 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 1604066

Всё понятно, по поводу раскидать по сеткам...
Про фаервол да, почитал, он заворачивает трафик на squid.
Буду пробовать.

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

dmitryst 04-02-2011 19:57 1604641

Цитата:

Цитата Antipiratik
к нам из внехи подключаются по тунелю (впн), с этим проблем не возникнет?! »

не должно. В фаере надо разрешить протокол GRE (allow gre from any to me) и открыть порт 1728. В конфигурацию natd добавить опцию same_ports.

Цитата:

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

нет. Это сквида не касается, https, vpn И прочее не кешируются

Antipiratik 07-02-2011 16:04 1606869

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

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

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

dmitryst 08-02-2011 15:20 1607637

Цитата:

Цитата Antipiratik
сделать прокси сервер параллельно локалке »

ну-ну

Цитата:

Цитата Antipiratik
Разбираюсь с 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 1614557

Итак, потихоньку движемся.

Сейчас всё работает параллельно локалке, путь трафика:
ПК - 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 1614881

Цитата:

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

ничего не понял.

Antipiratik 17-02-2011 11:25 1615166

Вобщем сделать надо вот так


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

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

dmitryst 17-02-2011 13:22 1615276

Цитата:

Цитата Antipiratik
куда копать чтобы и на циске и на фряхе было 192.168.1.2 ? »

никуда. Низя. На обоих интерфейсах фри должны быть разные сети, или хотя бы разные ПОДсети (192.168.1.0 и 192.168.2.0, например)

Antipiratik 17-02-2011 15:23 1615393

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

dmitryst 17-02-2011 15:37 1615402

Цитата:

Цитата Antipiratik
В чём проблема одинаковых сетей на двух интерфейсах?!? »

не представляю маршрутизацию пакетов между этими интерфейсами. fwd? Вроде, неправильно, а по-другому не знаю, как. Сейчас гуру подтянутся, авось и посоветуют что... :)

Antipiratik 21-02-2011 17:40 1618495

Будет сеть построена как показано на рисунке


Настроен сквид с транспарентным портом.
Вот перед непосредственным внедрением подготовил 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

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


Время: 05:27.

Время: 05:27.
© OSzone.net 2001-