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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   [решено] Проски squid (http://forum.oszone.net/showthread.php?t=225059)

~user~ 12-01-2012 18:59 1834164

Проски squid
 
Поднял инет на прокси Squidна serverUbuntu 11.10, активировал его sudo /usr/sbin/squid -D вот только никак понять не могу инет раздается через SQUId или через dnsmasq. Если через прокси то в браузере нужно открыть порт 3128, я его что открываю что не открываю все равно инет есть на клиентский компах. Вот как узнать проходит ли трафик через squid

vadblm 12-01-2012 19:08 1834171

Цитата:

Цитата ~user~
через SQUId или через dnsmasq. »

Через dnsmasq инет никак раздаваться не может, поскольку это всего лишь кэширующий DNS сервер.
Цитата:

Цитата ~user~
Вот как узнать проходит ли трафик через squid »

Код:

sudo tcpdump -i <интерфейс, на котором слушает сквид> port 3128
Если пакетики бегают, то инет идёт через сквид.

~user~ 12-01-2012 19:27 1834187

Цитата:

Цитата vadblm
sudo tcpdump -i <интерфейс, на котором слушает сквид> port 312 »

т.е. надо прописать имя сетевой карты в которую воткнут патч-корд раздающий инет? если да то вот лог

Цитата:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
0 packets captured
0 packets received by filter
0 packets dropped by kernel
и похоже трафик через squid не проходит. как сделать чтобы проходил?

exo 12-01-2012 19:28 1834188

tail /var/log/sqiud/access.log -f
или где у вас лежит файл лог сквида... для 3 версии var/log/sqiud3/access.log

Цитата:

Цитата ~user~
как сделать чтобы проходил? »

настройка для дебиана с авторизацией в домене по NTLM
http://www.exonix.ru/?l0ralehzdxivlxedrkfbkm2.htm

vadblm 12-01-2012 19:35 1834197

Цитата:

Цитата ~user~
и похоже трафик через squid не проходит. »

Покажите-ка ещё
Код:

sudo netstat -atnp | grep :3128

~user~ 12-01-2012 19:59 1834231

вот по этой команде что вышло
Цитата:

Цитата vadblm
sudo netstat -atnp | grep :3128 »

tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 742/squid

vadblm 12-01-2012 20:11 1834247

Слушает на всех интерфейсах, так что нужно tcpdump'ом на всех и слушать.

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

~user~ 12-01-2012 20:31 1834265

вот что прописал iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
далее расскомментировал такие строки в squid
acl localnet scr 192.168.0.0/24
http_access allow local net
http_port 3128 transparent<<сам вставил
cache_mem 512 MB
cache_dir ufs /var/spool/squid 2048 64 256
error_directory /usr/share/squid/errors/ru
memory_pools on
memory_pools_limit 40 MB
Пересоздал кэш sudo /usr/sbin/squid -z
потом запустил squid sudo /usr/sbin/squid -D
все делал по видио инструкции. После этих настроек вроде как должен заработать инет через прокси, а у меня он не заработал. мб надо что-то еще добавить?

vadblm 12-01-2012 20:38 1834267

Цитата:

Цитата ~user~
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE »

Это правило для просто NAT, напрямую, без прокси.
Правило для заворота на прокси выглядит примерно так
iptables -t nat -A PREROUTING -i <внутренний интерфейс> -p tcp --dport 80 -j REDIRECT --to-port 3128

~user~ 12-01-2012 20:51 1834277

Цитата:

Цитата vadblm
<внутренний интерфейс> »

<< сюда писать имя сетевой карты которая подключена к инету?

vadblm 12-01-2012 20:54 1834278

Цитата:

Цитата ~user~
сюда писать имя сетевой карты которая подключена к инету? »

Нет, той, что смотрит во внутреннюю сетку.

~user~ 12-01-2012 21:01 1834281

Ок. Завтра на работу приду буду пробовать, если что отпишу :)

vadblm 12-01-2012 21:05 1834283

Пишите. Я, правда, не великий знаток iptables - больше с BSD работаю, так что могу и ошибаться... Но суть правила в том, что все пакеты из внутренней сетки, направленные во внешний мир на порт 80 (http) перехватываются и направляются на порт 3128, где с ними разбирается сквид.

exo 12-01-2012 21:16 1834298

Цитата:

Цитата ~user~
http_port 3128 transparent<<сам вставил »

для прозрачного я делал вот по этой статье:
http://www.cyberciti.biz/tips/linux-...uid-howto.html
но там используется NAT
собственно правила там:
Цитата:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

~user~ 13-01-2012 09:14 1834564

Прописал новое привило
Цитата:

Цитата vadblm
iptables -t nat -A PREROUTING -i <внутренний интерфейс> -p tcp --dport 80 -j REDIRECT --to-port 3128 »

после этого вроде как перестал заходить на прямую инет, прописал порт вроде как стал заходить в инет, только через оперу не заходит и не пинигуются сайты
после прописал это
Цитата:

Цитата vadblm
sudo netstat -atnp | grep :3128 »

и вот что показало

tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 858/squid
tcp 0 0 192.168.0.9:3128 192.168.0.192:4194 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4153 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4149 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4169 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4193 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4167 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4165 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4148 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4147 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4155 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:3987 ESTABLISHED 858/squid
tcp 0 0 192.168.0.9:3128 192.168.0.192:4178 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4191 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4192 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4190 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4180 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:4195 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:3485 ESTABLISHED 858/squid
tcp 0 0 192.168.0.9:3128 192.168.0.192:4189 TIME_WAIT -
tcp 0 0 192.168.0.9:3128 192.168.0.192:3899 ESTABLISHED 858/squid
tcp 0 0 192.168.0.9:3128 192.168.0.192:4154 TIME_WAIT

это значит раздается через squid??

~user~ 13-01-2012 11:16 1834630

Код:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

eth1<<<раздает инет??
eth0<<<внутренняя сеть?
192,168,1,1:3128<<< внешний или внутренний адрес?

exo 13-01-2012 12:30 1834677

~user~, ссылку читали? там всё описано.
Цитата:

ii) Eth0: IP:192.168.1.1
iii) Eth1: IP: 192.168.2.1 (192.168.2.0/24 network (around 150 windows XP systems))
в данном примере все сети внутренние. Просто после сети 1 стоит ещё один фаервол.
Цитата:

Here is complete shell script. Script first configure Linux system as router and forwards all http request to port 3128 (Download the fw.proxy shell script):
#!/bin/sh
# squid server IP
SQUID_SERVER="192.168.1.1"
# Interface connected to Internet
INTERNET="eth0"
# Interface connected to LAN
LAN_IN="eth1"
# Squid port
SQUID_PORT="3128"
Цитата:

Цитата ~user~
прописал порт вроде как стал заходить в инет »

порт где? в браузере??? у вас прозрачный прокси! адрес прокси прописывается шлюзом по умолчанию у клиентов.
Цитата:

Desktop / Client computer configuration
Point all desktop clients to your eth1 IP address (192.168.2.1) as Router/Gateway (use DHCP to distribute this information). You do not have to setup up individual browsers to work with proxies.
Если не знаете английского - переводчики (типа гугла) его знают. В данном примере заворачивается только 80 порт, остальные (ваш пинг) идут как и шли напрямую через прокси, но не обрабатываются им.

~user~ 13-01-2012 15:13 1834861

Цитата:

Цитата exo
В данном примере заворачивается только 80 порт, остальные (ваш пинг) идут как и шли напрямую через прокси, но не обрабатываются им. »

как сделать чтобы он обрабатывал и проходили пинги и еще чтобы постовик мог отправлять и принимать письма?

exo 13-01-2012 15:24 1834873

Цитата:

Цитата ~user~
как сделать »

ссылку мою внимательно прочитать и сделать всё как там есть. Естественно подставив свои значения В ней описывается настройка простого NAT маршрутизатора, с заворотом http трафика.
Другой трафик идёт как через простой NAT маршрутизатор.
Т.к. у вас прозрачный прокси - то сможете обрабатывать только HTTP и FTP трафик.
Если нужно считать другие протоколы - вам нужен не прозрачный прокси с прописью его в браузере. Ссылку для настройки в домене я давал.

~user~ 13-01-2012 16:20 1834938

Цитата:

Цитата exo
Если нужно считать другие протоколы - вам нужен не прозрачный прокси с прописью его в браузере. Ссылку для настройки в домене я давал. »

У меня не домен а рабочая группа!

exo 13-01-2012 16:31 1834947

Цитата:

Цитата ~user~
У меня не ... а »

напишите полное ТЗ. Что у вас за сеть, какие цели.

~user~ 13-01-2012 16:59 1834974

есть сеть не домен а "рабочая группа" 1сервер(win2008)+15клиентских компьютеров(winXP/7) и 5 ноутбуков, но они подключаются по сети только чтобы обновить базу антивируса и все т.к. у нас в организации у работников выездая работа вот для этого им нужны ноуты.
До этого на своем компьютере раздавал интернет на Usergate на 10 сессий. Т.к. эта прога платная и чтобы раздать инет другим компам нужно докупать еще сессии.
Вот я решил поднять сервер на ServerUbuntu 11.10 для раздачи интернета.
Подключил к сети, раздал инет через шлюз и кэшэм dnsmasq это сделал без проблем. А вот тут я круто забуксовал, когда надо поднять прокси и вести всю статистику потребляемого трафика(чтобы все протоколы считал) т.к. трафик лимитный, также надо по возможности отключать/включать инет определенным пользователям, по возможности сделать ограничения для определенных пользователей для скачки информации, ограничить если надо будит кое-кому скорость.
с этим скриптом вроде как инет стал раздаваться через прокси
Код:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 312
Есть 1 больше НО: пинги не идут и почтовик не может принимать\отправлять почту.

exo 13-01-2012 17:26 1835005

Цитата:

Цитата ~user~
потовик не может про=инимать\отправлять почту. »

его можете не через прокси пускать, а как было раньше. у нас так. нафиг почту через прокси...
Цитата:

Цитата ~user~
1сервер(win2008)+15клиентских компьютеров(winXP/7) »

а чего домен не сделаете - удобно же.

~user~ 13-01-2012 17:48 1835025

Цитата:

Цитата exo
его можете не через прокси пускать, а как было раньше. у нас так. нафиг почту через прокси... »

А как сделать если весь трафик через squid идет, еще раздражает что пинги не идут, а так когда сайт пинингуется чувствуешь себя удовлетворенно и спокойно :)
Цитата:

Цитата exo
а чего домен не сделаете - удобно же. »

Как-то не думал тут еще до моего прихода была "раб. групп" да и приоритетная для меня щас задача раздать инет.

exo 13-01-2012 19:15 1835110

Цитата:

Цитата ~user~
еще раздражает что пинги не идут »

нужно настраивать IPTABLES. я в этом не силён...

~user~ 13-01-2012 23:02 1835278

мде... тут что-то мало посетителей в Linux теме.
Тут что больше некому подсказать?

exo 14-01-2012 13:32 1835591

http://www.google.de/search?aq=0&oq=...0&pf=p&pdl=500

и убунты есть свой сайт с форумом. попробуйте там спросить. решение, пожалуйста, напишите здесь.

~user~ 14-01-2012 18:04 1835808

Все нашел решение
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
почтовик работают и пинги проходят.
Только понять не могу когда отключаю squid, http сайты не открываются, а аська, скайп и прочие клиенты работают и сайты пинингуются и я не открывал порт 3128 в свойствах обозревателся, это как так?

exo 14-01-2012 18:54 1835835

Цитата:

Цитата ~user~
Только понять не могу когда отключаю squid, http сайты не открываются, а аська, скайп и прочие клиенты работают и сайты пинингуются и я не открывал порт 3128 в свойствах обозревателся, это как так? »

мы вам писали уже - прозрачный прокси работает только с HTTP, FTP трафиком. Ни аська, ни пинги не работают по этим протоколам. Вы можете прописать в аське прокси - тогда будет работать через него. Так же вы можете (наверное) IPTABLES завернуть порты аськи на 3128. тогда она отключится в случае отключения прокси.


Время: 14:10.

Время: 14:10.
© OSzone.net 2001-