Страница 1 из 1

Squid прозрачный прокси без кэша

Добавлено: 2012-11-09 12:11:18
Dark Smoke
Добрый день.
Сижу уже второй день читаю два миллиона статей, все такие разные, а главное что во всех куча разных левых функций. В итоге, я потерялся во всем изобилии информации. И у меня мало памяти ((

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

last pid: 79386;  load averages:  0.03,  0.07,  0.02                                                                          up 7+19:11:51  12:03:27
58 processes:  1 running, 57 sleeping
CPU:  1.3% user,  0.0% nice,  1.3% system,  0.0% interrupt, 97.4% idle
Mem: 186M Active, 6737M Inact, 582M Wired, 235M Cache, 827M Buf, 172M Free
Swap: 50G Total, 380K Used, 50G Free
Я установил squid-2.7.9_1 и lightsquid-1.8_2 для того что бы потом выводить статистику по каждому пользователю.
Все это делаю только для статистики (в человеческом виде, в консоли не подходит вариант) и все.
Скажите с чего начать?

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

FreeBSD 8.3-RELEASE #0: Mon Apr  9 21:23:18 UTC 2012     root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-09 14:35:52
werder31
Я себе такую же фишку сделал, и делал все по ману на лисяре. Там все толково написано... просто отключаете опции Cache_xxx
Если хотите, могу скинуть свой конфиг

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-09 16:45:02
Dark Smoke
хочу, скиньте пожалуйста

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-09 18:04:25
werder31

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

http_port 3128 transparent

cache_mem  2048 MB
cache_swap_high 95
cache_swap_low 50
cache_dir ufs  /usr/local/squid/cache  3072 16 256
cache_access_log  /usr/local/squid/logs/access.log
cache_log /usr/local/squid/logs/cache.log
cache_store_log /usr/local/squid/logs/store.log

hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^gopher:    1440    0%  1440
refresh_pattern .       0   20% 4320
acl	all		src	all
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8

#redirect_program /usr/local/rejik/redirector
#redirect_children 10

acl deny url_regex "/usr/local/etc/squid/deny"
http_access deny deny


acl     user1           src     10.11.1.2/32
acl     user2		src     10.11.1.2/32

acl SSL_ports port 443      # https
acl SSL_ports port 563      # snews
acl SSL_ports port 873      # rsync
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 1025-65535  # unregistered ports
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 Safe_ports port 631     # cups
acl Safe_ports port 873     # rsync
acl Safe_ports port 901     # SWAT
acl CONNECT method CONNECT



# Only allow cachemgr access from localhost
http_access             allow           user1
http_access             allow           user2

# Deny requests to unknown ports

http_access deny !Safe_ports

http_access             deny            CONNECT !SSL_ports
http_access             allow           localhost
http_access             deny            all
icp_access              allow           all

dns_nameservers 8.8.8.8
visible_hostname Internet
error_directory /usr/local/etc/squid/errors/Russian-1251
Ну и убираеш КЕШ

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-09 18:09:38
rayder
7Gb - по вашему это "мало памяти" ?

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-19 10:48:19
Dark Smoke
Только дошли руки.
7Gb - по вашему это "мало памяти" ?
А свободно то сколько? мало..

А фаервол нужно подключать к этой связке? Если да, то как обойтись без пересборки ядра?

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-19 11:16:03
werder31
Ну Ipfw уже входит в Генерик...

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

$/sbin/ipfw fwd 127.0.0.1,3128 tcp from $lannet to any 80 out via $vneshnij interfeis
$/sbin/ipfw divert natd ip from any to any in via $vneshnij interfeis

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-19 11:37:25
Dark Smoke
А запускать его надо из rc.conf?

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-19 12:00:19
Dark Smoke
А нормально что в конце строки стоит вопросительный знак или слеш и вопросительный знак?
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
acl QUERY urlpath_regex cgi-bin \?

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-19 12:39:04
rayder
Dark Smoke писал(а):Только дошли руки.
А свободно то сколько? мало..
ну как бы 7Г и свободно

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-19 12:51:49
werder31
Dark Smoke писал(а):А запускать его надо из rc.conf?
cat /etc/rc.cont:

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

firewall_enable="YES"
firewall_script="/etc/firewall.sh"
файл firewall.sh - Ваш !!!
По поводу слеша и знака вопроса в конце - так и долно быть)
А вообще, http://www.lmgtfy.com/?q=%D1%88%D0%BB%D ... eebsd#seen

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-19 14:29:17
Dark Smoke
запускаю сквид, а он мне пишет
squid -z
FATAL: storeUfsDirParse: invalid size value
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
CPU Usage: 0.007 seconds = 0.000 user + 0.007 sys
Maximum Resident Size: 3460 KB
Page faults with physical i/o: 0
Abort trap: 6
Хочу сквид без дискового кеша и без кеша в ОЗУ и что бы все ходили куда угодно

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

# cat /usr/local/etc/squid/squid.conf
http_port 3128 transparent

cache_mem  1 MB
cache_swap_high 1
cache_swap_low 50
cache_dir ufs  /usr/local/squid/cache  0 0 0
cache_access_log  /usr/local/squid/logs/access.log
cache_log /usr/local/squid/logs/cache.log
cache_store_log /usr/local/squid/logs/store.log

hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^gopher:    1440    0%  1440
refresh_pattern .       0   20% 4320
acl   all      src   all
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8

#redirect_program /usr/local/rejik/redirector
#redirect_children 10

#acl deny url_regex "/usr/local/etc/squid/deny"
#http_access deny deny


acl     user1      src     192.168.100.0/24
#acl     user2      src     10.11.1.2/32

acl SSL_ports port 443      # https
acl SSL_ports port 563      # snews
acl SSL_ports port 873      # rsync
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 1025-65535  # unregistered ports
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 Safe_ports port 631     # cups
acl Safe_ports port 873     # rsync
acl Safe_ports port 901     # SWAT
acl CONNECT method CONNECT



# Only allow cachemgr access from localhost
http_access             allow           user1
#http_access             allow           user2

# Deny requests to unknown ports

http_access deny !Safe_ports

http_access             deny            CONNECT !SSL_ports
http_access             allow           localhost
http_access             deny            all
icp_access              allow           all

dns_nameservers 8.8.8.8
visible_hostname Internet
error_directory /usr/local/etc/squid/errors/Russian-1251

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-19 14:57:09
werder31
Dark Smoke писал(а):запускаю сквид, а он мне пишет
Хочу сквид без дискового кеша и без кеша в ОЗУ и что бы все ходили куда угодно
А смысл в Прокси?

Учитесь искать, я лично решение Вашей проблемы нашел причем в 10-ке гугла...

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-19 22:38:28
Dark Smoke
Уважаемые гуру,
Что то у меня ничего не получается (((

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

# cat /usr/local/etc/squid/squid.conf
#Recommended minimum configuration:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

#
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 1025-65535  # unregistered ports
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

#Recommended minimum configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports

http_access allow localnet
http_access deny all

icp_access allow localnet
icp_access deny all

http_port 192.168.100.250:3128 transparent

access_log /var/log/squid/access.log squid

#Suggested default:
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

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

# cat /home/darksmoke/firewall.sh
#!/bin/sh

ipfw -q -f flush

cmd="/sbin/ipfw add"

${cmd} add allow all from any to any via lo0

${cmd} 100 fwd  127.0.0.1,3128 tcp from 192.168.100.250 to any 80 out via 192.168.200.1
${cmd} 200 divert natd ip from any to any in via 192.168.200.1

${cmd} 65530 allow ip from any to any
Ядро не пересобирал. Дедлал загрузку через /boot/loader.conf

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

kldload ipfw
kldload ipfw_nat
kldload ipdivert
kldload dummynet
при вызове правила fwd получаю ipfw: getsockopt(IP_FW_ADD): Invalid argument

PPPoe подымает машина с IP 192.168.200.1

По итогу Интернет не работает, в чем бок?

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-19 22:52:02
Dark Smoke
Пересобирать ядро нет возможности ((

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-20 13:29:43
werder31
Спасибо за лесть, но я не гуру а обычный НАЧИНАЮЩИЙ админ!!!
при вызове правила fwd получаю ipfw: getsockopt(IP_FW_ADD): Invalid argument
Это потому что

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

${cmd} 100 fwd  127.0.0.1,3128 tcp from 192.168.100.250 to any 80 out via 192.168.200.1
ну воооообщееее неправильное правило, непонятно что куда вы форвардите

Должно быть приблизительно так :

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

$cmd 00100 fwd 127.0.0.1,3128 tcp from $lannet to any 80 out via $eif
Где $lannet - локальная сеть
$eif - Внешний ИНТЕРФЕЙС, а у вас в правиле айпишка )

И вообще, у Вас прокся на шлюзе?????

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-20 18:32:37
Dark Smoke
прокся не на шлюзе, шлюз не имеет прямого выхода в локалку.

интернет -> шлюз 192.168.200.1 -> 192.168.200.2 Контроллер домена 192.168.100.1 -> Локалка

контроллера домена

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

# cat /etc/rc.conf
#keymap="ru.koi8-r"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
scrnmap="koi8-r2cp866"

hostname="PDC.local"

#apache22_enable="YES"
#mysql_enable="YES"

#squid_enable="YES"
#firewall_enable="YES"
#firewall_script="/etc/firewall.sh"


gateway_enable="YES"
sshd_enable="YES"
samba_enable="YES"
winbindd_enable="YES"
rsyncd_enable="YES"

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

clear_tmp_enable="YES"

named_enable="YES"
named_program="/usr/sbin/named"
named_flags="-u bind -c /etc/namedb/named.conf"

cloned_interfaces="vlan6 vlan7"
ifconfig_em0_alias0="inet 192.168.100.250/24"
ifconfig_em1="inet 192.168.200.1/24"
ifconfig_vlan6="inet 172.16.16.16/24 vlandev em0 vlan 6"
ifconfig_vlan7="inet 172.17.17.17/24 vlandev em0 vlan 7"
defaultrouter="192.168.200.250"

dhcpd_enable="YES"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
dhcpd_ifaces="em0"
dhcpd_flags="-q"

slapd_enable="YES"
slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://127.0.0.1/ ldap://192.168.100.250"'
slapd_sockets="/var/run/openldap/ldapi"

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-21 14:11:56
bagas
Посмотри тут, прозрачное проксирование.
Squid прозрачный прокси

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-29 11:14:44
Dark Smoke
Добрый день
Не работает прозрачный прокси. если в браузере пропишу прокси, то работает. Если не прописываю, то не работает. Причем пинги, трасерт ходит на ура. Все это затеял для того что бы считать трафик пользователей, инфа нужна для босса.

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

#uname -a
FreeBSD PDC.local 8.3-RELEASE FreeBSD 8.3-RELEASE #0: Tue Nov 27 17:57:18 EET 2012     darksmoke@PDC.local:/usr/obj/usr/src/sys/MYKERNEL  amd64

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

#cat /etc/rc.conf
hostname="PDC.local"

squid_enable="YES"
firewall_enable="YES"
firewall_script="/etc/firewall.sh"

gateway_enable="YES"
sshd_enable="YES"
samba_enable="YES"
winbindd_enable="YES"
rsyncd_enable="YES"

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

clear_tmp_enable="YES"

named_enable="YES"
named_program="/usr/sbin/named"
named_flags="-u bind -c /etc/namedb/named.conf"

cloned_interfaces="vlan6 vlan7"
ifconfig_em0_alias0="inet 192.168.100.250/24"
ifconfig_em1="inet 192.168.200.1/24"
ifconfig_vlan6="inet 172.16.16.16/24 vlandev em0 vlan 6"
ifconfig_vlan7="inet 172.17.17.17/24 vlandev em0 vlan 7"
defaultrouter="192.168.200.250"

dhcpd_enable="YES"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
dhcpd_ifaces="em0"
dhcpd_flags="-q"

slapd_enable="YES"
slapd_flags='-h "ldapi:///var/run/openldap/ldapi/ ldap://127.0.0.1/ ldap://192.168.100.250"'
slapd_sockets="/var/run/openldap/ldapi"

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

# cat /usr/local/etc/squid/squid.conf
#Recommended minimum configuration:
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

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 1025-65535  # unregistered ports
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

#Recommended minimum configuration:
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports

http_access allow localnet
http_access deny all

icp_access allow localnet
icp_access deny all

http_port 192.168.100.250:3128 transparent

access_log /var/log/squid/access.log squid

#Suggested default:
refresh_pattern ^ftp:         &n... 1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache

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

# cat /etc/firewall.sh
#!/bin/sh

ipfw -q -f flush

cmd="ipfw -q add"

$cmd 070 check-state

$cmd 5900 permit ip from any to any
$cmd 200 fwd 127.0.0.1,3128 tcp from 192.168.100.0/24 to any 80 via em1
$cmd 250 skipto 300 udp from any to any 53 out via em1 keep-state
$cmd 251 skipto 300 tcp from any to any 53 out via em1 setup keep-state
$cmd 300 divert natd all from any to any via em1

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-29 13:38:12
RL
либо

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

http_port 3128 transparent
либо

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

$cmd 200 fwd 192.168.100.250,3128 tcp from 192.168.100.0/24 to any 80 via em1
тогда уж

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-29 16:56:13
Dark Smoke
сделал эти два исправления, не помогло.
Хотя смотрю ipfw show пакеты проходят через форвард.. А сайты не открываются ((

Re: Squid прозрачный прокси без кэша

Добавлено: 2012-11-30 8:21:42
RL
Зачем два? Нужно либо одно, либо другое...