Страница 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
либо
либо
Код: Выделить всё
$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
Зачем два? Нужно либо одно, либо другое...