шлюз proxi squid

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
jastreb
Сообщения: 45
ОС: Mandriva 2010 Free

шлюз proxi squid

Сообщение jastreb »

Есть шлюз, поднят на Linux Mandriva 2008.
В качестве прокси сервера используется squid в качестве фаервола iptables.
Два сетевых интерфейса eth1 – internet ip 192.168.0.2
Eth0 – local net ip 192.168.1.1

В данный момент настроен проксик и правила фаервола. Инет раздается машинам и все работает. На машина проксик принудительно прописывается в настройках броузера и других программ которые шарятся в инете.
В данный момнет настройки проскиска squid и фаервола iptables выглядят так:
На squid прописано следующее

Код: Выделить всё

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl localnet src 192.168.1.0/255.255.255.0
acl to_localhost dst 127.0.0.0/8
acl InternetUsers src "/etc/squid/InternetUsers"
acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
acl Safe_ports port 70        # gopher
acl Safe_ports port 210        # wais
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT
http_access allow InternetUsers
http_access allow manager localhost
http_access deny manager
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
icp_access allow all
http_port 192.168.1.1:8080
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 16 MB
cache_dir ufs /cache 200 16 256
access_log /var/log/squid/access.log squid
buffered_logs on


В файле InternetUsers прописаны ip адреса машин с которых можно выходить в Интернет.

Конфиг iptables

Код: Выделить всё

# Generated by iptaues-save v1.3.3 on Wed May 24 19:07:19 2006
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:outtos - [0:0]
:pretos - [0:0]

COMMIT
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]


COMMIT
# Completed on Sat Apr 26 13:03:17 2003
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A INPUT -p ICMP -j ACCEPT
-A OUTPUT -p ICMP -j ACCEPT
-A INPUT -i eth0 -p TCP --dport 137:139 -j ACCEPT
-A INPUT -i eth0 -p UDP --dport 137:139 -j ACCEPT
-A OUTPUT -o eth0 -p TCP --sport 137:139 -j ACCEPT
-A OUTPUT -o eth0 -p UDP --sport 137:139 -j ACCEPT
-A INPUT -s 192.168.1.3 -i eth0 -p TCP --dport 8080 -j DROP
-A OUTPUT -d 192.168.1.3 -o eth0 -p TCP --sport 8080 -j DROP
-A INPUT -i eth0 -p TCP --dport 8080 -j DROP
-A OUTPUT -o eth0 -p TCP --sport 8080 -j DROP
-A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -p TCP --sport 32768:65535 -j ACCEPT
-A OUTPUT -p UDP --sport 32768:65535 -j ACCEPT
-A INPUT -j DROP
-A OUTPUT -j DROP
-A FORWARD -j DROP

COMMIT
# Completed on Sat Apr 26 13:03:17 2003


С настройками приведенными выше Интернет раздается по определенным ip адресам.
Это все предисловие скажем так.
Захотелось настроить прозрачный проксик. Если я правильно понимаю то при работе прозрачного проксика нет необходимости прописывать принудительно параметры проксика в броузере и иже с ним программ.

Пререрыв кучу инфы в сети и посмотрев много примеров изменил настройки squid и iptables на следующие.

Сначала в файле /etc/rc.d/rc.local в конце фала прописал строку
Echo 1 > /proc/sys/net/ipv4/ip_forward

Затем в squid.conf прописал следующее

Код: Выделить всё

http_port 192.168.1.1:8080 transparent


В iptables прописал следующее
Таблица nat

Код: Выделить всё

COMMIT
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -p TCP -i eth0 --dport 80 -j DNAT --to-destination 192.168.1.1:8080
-A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to-ports 8080


Таблица filter

Код: Выделить всё

-A INPUT -s 192.168.1.3 -i eth0 -p TCP --dport 8080 -j DROP
-A OUTPUT -d 192.168.1.3 -o eth0 -p TCP --sport 8080 -j DROP
-A FORWARD -s 192.168.1.3 -i eth0 -p TCP --dport 80 -j ACCEPT
-A FORWARD -d 192.168.1.3 -o eth0 -p TCP --sport 80 -j ACCEPT


И прозрачный проксик не шуршит. В логаш squid есть слующее
Access.log

Код: Выделить всё

1225347137.008      1 192.168.1.3 TCP_IMS_HIT/304 300 GET http://auto.mail.ru/img/both_off.gif - NONE/- -
1225347137.014      5 192.168.1.3 TCP_IMS_HIT/304 300 GET http://auto.mail.ru/img/off.gif - NONE/- -
1225347137.014      5 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_reviews.gif - NONE/- -
1225347137.050     26 192.168.1.3 TCP_IMS_HIT/304 301 GET http://img.auto.mail.ru/img/tefal/bhbg2.jpg - NONE/- -
1225347137.052      2 192.168.1.3 TCP_IMS_HIT/304 301 GET http://img.auto.mail.ru/img/tefal/bhbg3.jpg - NONE/- -
1225347137.052      2 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_business.gif - NONE/- -
1225347137.056      2 192.168.1.3 TCP_IMS_HIT/304 301 GET http://img.auto.mail.ru/img/gradi.jpg - NONE/- -
1225347137.066      9 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_store.gif - NONE/- -
1225347137.068      2 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_catalog.gif - NONE/- -
1225347137.068      2 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_info.gif - NONE/- -
1225347137.082     13 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_consult.gif - NONE/- -
1225347137.082     13 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_travel.gif - NONE/- -
1225347137.082     13 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_photogallery.gif - NONE/- -
1225347137.089      5 192.168.1.3 TCP_IMS_HIT/304 300 GET http://img.auto.mail.ru/img/ico_forum.gif - NONE/- -
1225347137.093      4 192.168.1.3 TCP_IMS_HIT/304 300 GET http://auto.mail.ru/img/ico_moto.gif - NONE/- -
1225347137.099      6 192.168.1.3 TCP_IMS_HIT/304 300 GET http://auto.mail.ru/img/ico_motorshow.gif - NONE/- -
1225347137.530    633 192.168.1.3 TCP_MISS/302 702 GET http://active.macromedia.com/flash2/cabs/swflash.cab - DIRECT/84.53.171.191 -
1225347137.973    441 192.168.1.3 TCP_MISS/302 305 GET http://fpdownload.macromedia.com/get/shockwave/cabs/flash/swflash.cab - DIRECT/84.53.170.70 -
1225347137.982      8 192.168.1.3 TCP_IMS_HIT/304 311 GET http://fpdownload2.macromedia.com/get/shockwave/cabs/flash/swflash.cab - NONE/- -


Также пробовал в squid прописать слудеющее

Код: Выделить всё

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on


Но при запуске squid в логах появились ошибки

Код: Выделить всё

2008/10/30 05:39:16| parseConfigFile: line 3086 unrecognized: 'httpd_accel_host virtual'
2008/10/30 05:39:16| parseConfigFile: line 3087 unrecognized: 'httpd_accel_port 80'
2008/10/30 05:39:16| parseConfigFile: line 3088 unrecognized: 'httpd_accel_with_proxy on'
2008/10/30 05:39:16| parseConfigFile: line 3089 unrecognized: 'httpd_accel_uses_host_header on'


Я эти параметры закомментировал и больше пока не включал

Подскажите, что можно сделать в данной ситуации. Я понимаю что данная тема не раз обсуждалась на форумах и на этом форуме тоже, и мне можно посоветовать юзать поиск и иже сним.
Однако повторюсь я перерыл много инфы и пробовал различные варианты.
Спасибо
Вся власть пингвинам !
Спасибо сказали:
Аватара пользователя
mikes
Сообщения: 294
ОС: ubuntu

Re: шлюз proxi squid

Сообщение mikes »

И прозрачный проксик не шуршит. В логаш squid есть слующее

почему вы считаете что не шуршит??
по логам оч даже хорошо работает.
выдаёт и из кеша, и даёт из инета качать то, чего в кеше нету.
Спасибо сказали:
Аватара пользователя
jastreb
Сообщения: 45
ОС: Mandriva 2010 Free

Re: шлюз proxi squid

Сообщение jastreb »

Страницы не загружаются броузер пишет Невозможно отобразить страницу.
Вся власть пингвинам !
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: шлюз proxi squid

Сообщение skor »

Код: Выделить всё

-A PREROUTING -p TCP -i eth0 --dport 80 -j DNAT --to-destination 192.168.1.1:8080
Зачем эта строчка? Вроде должно хватать:

Код: Выделить всё

-A PREROUTING -p tcp -i eth0 --dport 80 -j REDIRECT --to-ports 8080
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: шлюз proxi squid

Сообщение skor »

jastreb писал(а):
10.11.2008 10:36
Также пробовал в squid прописать слудеющее

Код: Выделить всё

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on


Но при запуске squid в логах появились ошибки

Код: Выделить всё

2008/10/30 05:39:16| parseConfigFile: line 3086 unrecognized: 'httpd_accel_host virtual'
2008/10/30 05:39:16| parseConfigFile: line 3087 unrecognized: 'httpd_accel_port 80'
2008/10/30 05:39:16| parseConfigFile: line 3088 unrecognized: 'httpd_accel_with_proxy on'
2008/10/30 05:39:16| parseConfigFile: line 3089 unrecognized: 'httpd_accel_uses_host_header on'


Я эти параметры закомментировал и больше пока не включал
Эти опции для версии сквида до 2.6
С 2.6 и далее используется http_port 192.168.0.1:3128 transparent
Спасибо сказали:
Аватара пользователя
jastreb
Сообщения: 45
ОС: Mandriva 2010 Free

Re: шлюз proxi squid

Сообщение jastreb »

skor писал(а):
10.11.2008 13:44
jastreb писал(а):
10.11.2008 10:36
Также пробовал в squid прописать слудеющее

Код: Выделить всё

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on


Но при запуске squid в логах появились ошибки

Код: Выделить всё

2008/10/30 05:39:16| parseConfigFile: line 3086 unrecognized: 'httpd_accel_host virtual'
2008/10/30 05:39:16| parseConfigFile: line 3087 unrecognized: 'httpd_accel_port 80'
2008/10/30 05:39:16| parseConfigFile: line 3088 unrecognized: 'httpd_accel_with_proxy on'
2008/10/30 05:39:16| parseConfigFile: line 3089 unrecognized: 'httpd_accel_uses_host_header on'


Я эти параметры закомментировал и больше пока не включал
Эти опции для версии сквида до 2.6
С 2.6 и далее используется http_port 192.168.0.1:3128 transparent


У меня сейчас в squid так и прописано

Код: Выделить всё

http_port 192.168.1.1:8080 transparent


to skor
Только что попробовал строку

Код: Выделить всё

-A PREROUTING -p tcp -i eth0 --dport 80 -j REDIRECT --to-ports 8080


без измененией.

А в таблице фильтр вот эти правила верны для прозрачного прокси?

Код: Выделить всё

-A FORWARD -s 192.168.1.3 -i eth0 -p TCP --dport 80 -j ACCEPT
-A FORWARD -d 192.168.1.3 -o eth0 -p TCP --sport 80 -j ACCEPT
Вся власть пингвинам !
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: шлюз proxi squid

Сообщение skor »

Какое сообщение об ошибке в браузере отображается?
Спасибо сказали:
HRonik
Сообщения: 140
ОС: Debian

Re: шлюз proxi squid

Сообщение HRonik »

доброго времени суток,

Код: Выделить всё

acl InternetUsers src "/etc/squid/InternetUsers"

это не правильное правило.
Почитайте в мануалах для чего используется src и что нужно использовать для описания пользователей.
А если не используете авторизацию, то замените одну из двух строчек

Код: Выделить всё

http_access allow localhost
на

Код: Выделить всё

http_access allow localnet

а лучше настройте прозрачный прокси.
Всего доброго .
Спасибо сказали:
Аватара пользователя
jastreb
Сообщения: 45
ОС: Mandriva 2010 Free

Re: шлюз proxi squid

Сообщение jastreb »

skor писал(а):
10.11.2008 18:00
Какое сообщение об ошибке в браузере отображается?


Ошибок не выводит.
Просто не отображает страницу, словно нет соединения с инетом

доброго времени суток,
Код
acl InternetUsers src "/etc/squid/InternetUsers"

это не правильное правило.
Почитайте в мануалах для чего используется src и что нужно использовать для описания пользователей.
А если не используете авторизацию, то замените одну из двух строчек
Код
http_access allow localhost
на
Код
http_access allow localnet

а лучше настройте прозрачный прокси.
Всего доброго .


Так я и хочу настроить прозрачный прокси и вот бьюсь над этим но никак не выходит.
Потому и написал на форуме про эту проблему
Вся власть пингвинам !
Спасибо сказали:
HRonik
Сообщения: 140
ОС: Debian

Re: шлюз proxi squid

Сообщение HRonik »

Извиняюсь :)
Увидел не правильный acl и дальше не читал...
Спасибо сказали:
Аватара пользователя
jastreb
Сообщения: 45
ОС: Mandriva 2010 Free

Re: шлюз proxi squid

Сообщение jastreb »

HRonik писал(а):
11.11.2008 09:53
Извиняюсь :)
Увидел не правильный acl и дальше не читал...


А чем этот acl неправельный?
Вся власть пингвинам !
Спасибо сказали:
HRonik
Сообщения: 140
ОС: Debian

Re: шлюз proxi squid

Сообщение HRonik »

Код: Выделить всё

-A INPUT -p tcp -j ACCEPT -s 192.168.0.0/24 -d 192.168.1.1 --dport 80
-t nat -A PREROUTING -p tcp -s 192.168.0.0/24 -d 192.168.1.1 --dport 80 -j ACCEPT
-t nat -A PREROUTING -p tcp -s 192.168.0.0/24 -d any/0 --dport 80 -j REDIRECT --to-ports 8080

попробуйте так, вдруг поможет ?)

отмените правила дропающие по умолчанию и попробуйте...
Спасибо сказали:
Аватара пользователя
mikes
Сообщения: 294
ОС: ubuntu

Re: шлюз proxi squid

Сообщение mikes »

если проблема с настройкой iptables ... может попробовать что нить проще? например shorewall для настройки NATов и тд и тп..
Спасибо сказали:
Аватара пользователя
jastreb
Сообщения: 45
ОС: Mandriva 2010 Free

Re: шлюз proxi squid

Сообщение jastreb »

mikes писал(а):
11.11.2008 10:39
если проблема с настройкой iptables ... может попробовать что нить проще? например shorewall для настройки NATов и тд и тп..


С iptables проблем нет. как раз все работает если не заморачиваться с прозрачным порксем.
вот с этимим настройками все прекрасно работает, но нужно явно прописывать в броузере параметры проксика

Код: Выделить всё

# Generated by iptaues-save v1.3.3 on Wed May 24 19:07:19 2006
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:outtos - [0:0]
:pretos - [0:0]

COMMIT
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]


COMMIT
# Completed on Sat Apr 26 13:03:17 2003
# Generated by iptables-save v1.2.7a on Sat Apr 26 13:03:17 2003
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A INPUT -p ICMP -j ACCEPT
-A OUTPUT -p ICMP -j ACCEPT
-A INPUT -i eth0 -p TCP --dport 137:139 -j ACCEPT
-A INPUT -i eth0 -p UDP --dport 137:139 -j ACCEPT
-A OUTPUT -o eth0 -p TCP --sport 137:139 -j ACCEPT
-A OUTPUT -o eth0 -p UDP --sport 137:139 -j ACCEPT
-A INPUT -s 192.168.1.3 -i eth0 -p TCP --dport 8080 -j DROP
-A OUTPUT -d 192.168.1.3 -o eth0 -p TCP --sport 8080 -j DROP
-A INPUT -i eth0 -p TCP --dport 8080 -j DROP
-A OUTPUT -o eth0 -p TCP --sport 8080 -j DROP
-A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -p TCP --sport 32768:65535 -j ACCEPT
-A OUTPUT -p UDP --sport 32768:65535 -j ACCEPT
-A INPUT -j DROP
-A OUTPUT -j DROP
-A FORWARD -j DROP

COMMIT
# Completed on Sat Apr 26 13:03:17 2003


я просто пока не могу понять в чем проблема, где что тормазит в настройках
Вся власть пингвинам !
Спасибо сказали: