The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Не работает прозрачный прокси squid-3.5.3_1 "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от westvovik email(ok) on 03-Июн-15, 12:47 
Не могу понять в чем дело, перековырял вроде все настройки, до этого все работало, после обновления не пашет именно прозрачный прокси, в логах ничего нету!

ipfw2 initialized, divert loadable, nat enabled, rule-based forwarding enabled, default to deny, logging disabled

ipfw add 1000 allow tcp from me to any out via rl0 keep-state uid squid
ipfw add 1010 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80-83,8080-8083 out via rl0

uname -a 9.1-RELEASE-p22 FreeBSD 9.1-RELEASE-p22


squid.conf

access_log syslog:LOG_LOCAL4 squid

cache_mem 128 MB
cache_dir ufs /var/spool/squid 2048 64 256
maximum_object_size 8092 KB
maximum_object_size_in_memory 1024 KB
max_filedescriptors 8128

shutdown_lifetime 1 seconds
connect_timeout 20 seconds

#url_rewrite_program /usr/local/bin/squidGuard

#
# Recommended minimum configuration:
#

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 192.168.0.10-192.168.0.254     # RFC1918 possible internal network
acl admin src 192.168.0.2-192.168.0.9

acl SSL_ports port 443          # https
acl Safe_ports port "/usr/local/etc/squid/safe_ports.acl"
acl Safe_ports port 1025-65535  # unregistered ports

acl purge method PURGE
acl CONNECT method CONNECT

http_access deny !Safe_ports

http_access allow localhost
http_access allow admin
http_access allow localnet

http_access allow all
http_access deny all

icp_access allow localnet
icp_access deny all

# Deny CONNECT to other than secure SSL ports
#http_access deny CONNECT !SSL_ports

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

# And finally deny all other access to this proxy
http_access deny all

# Squid normally listens to port 3128
http_port 3128
http_port 127.0.0.1:3128 intercept

dns_v4_first on

# Leave coredumps in the first cache dir
coredump_dir /var/squid/cache/squid

# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp:         &n... 1440    0%      10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

squid/cache.log


2015/06/03 12:43:34 kid1| Set Current Directory to /var/squid/cache/squid
2015/06/03 12:43:34 kid1| Starting Squid Cache version 3.5.3 for amd64-portbld-freebsd9.1...
2015/06/03 12:43:34 kid1| Service Name: squid
2015/06/03 12:43:34 kid1| Process ID 65092
2015/06/03 12:43:34 kid1| Process Roles: worker
2015/06/03 12:43:34 kid1| With 8128 file descriptors available
2015/06/03 12:43:34 kid1| Initializing IP Cache...
2015/06/03 12:43:34 kid1| DNS Socket created at [::], FD 6
2015/06/03 12:43:34 kid1| DNS Socket created at 0.0.0.0, FD 8
2015/06/03 12:43:34 kid1| Adding domain backup.hochuvotpusk.ru from /etc/resolv.conf
2015/06/03 12:43:34 kid1| Adding nameserver 192.168.0.1 from /etc/resolv.conf
2015/06/03 12:43:34 kid1| Adding nameserver 213.134.192.18 from /etc/resolv.conf
2015/06/03 12:43:34 kid1| Adding nameserver 213.134.195.253 from /etc/resolv.conf
2015/06/03 12:43:34 kid1| Logfile: opening log syslog:LOG_LOCAL4
2015/06/03 12:43:35 kid1| Unlinkd pipe opened on FD 12
2015/06/03 12:43:35 kid1| Store logging disabled
2015/06/03 12:43:35 kid1| Swap maxSize 2097152 + 131072 KB, estimated 171401 objects
2015/06/03 12:43:35 kid1| Target number of buckets: 8570
2015/06/03 12:43:35 kid1| Using 16384 Store buckets
2015/06/03 12:43:35 kid1| Max Mem  size: 131072 KB
2015/06/03 12:43:35 kid1| Max Swap size: 2097152 KB
2015/06/03 12:43:35 kid1| Rebuilding storage in /var/spool/squid (clean log)
2015/06/03 12:43:35 kid1| Using Least Load store dir selection
2015/06/03 12:43:35 kid1| Set Current Directory to /var/squid/cache/squid
2015/06/03 12:43:35 kid1| Finished loading MIME types and icons.
2015/06/03 12:43:35 kid1| HTCP Disabled.
2015/06/03 12:43:35 kid1| Squid plugin modules loaded: 0
2015/06/03 12:43:35 kid1| Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 15 flags=9
2015/06/03 12:43:35 kid1| Accepting NAT intercepted HTTP Socket connections at local=127.0.0.1:3128 remote=[::] FD 16 flags=41
2015/06/03 12:43:35 kid1| Done reading /var/spool/squid swaplog (13 entries)
2015/06/03 12:43:35 kid1| Finished rebuilding storage from disk.
2015/06/03 12:43:35 kid1|        13 Entries scanned
2015/06/03 12:43:35 kid1|         0 Invalid entries.
2015/06/03 12:43:35 kid1|         0 With invalid flags.
2015/06/03 12:43:35 kid1|        13 Objects loaded.
2015/06/03 12:43:35 kid1|         0 Objects expired.
2015/06/03 12:43:35 kid1|         0 Objects cancelled.
2015/06/03 12:43:35 kid1|         0 Duplicate URLs purged.
2015/06/03 12:43:35 kid1|         0 Swapfile clashes avoided.
2015/06/03 12:43:35 kid1|   Took 0.02 seconds (698.66 objects/sec).
2015/06/03 12:43:35 kid1| Beginning Validation Procedure
2015/06/03 12:43:35 kid1|   Completed Validation Procedure
2015/06/03 12:43:35 kid1|   Validated 13 Entries
2015/06/03 12:43:35 kid1|   store_swap_size = 164.00 KB
2015/06/03 12:43:36 kid1| storeLateRelease: released 0 objects

Если попробовать перенастроить браузер на прокси 192.168.0.1:3128 все работает
но прозрачный никак, где я накосячил?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от arachnid (ok) on 03-Июн-15, 16:11 
лучше, если вы приведете все правила, а то согласно этим двум ничего работать и не будет

> ipfw2 initialized, divert loadable, nat enabled, rule-based forwarding enabled, default
> to deny, logging disabled
> ipfw add 1000 allow tcp from me to any out via rl0
> keep-state uid squid
> ipfw add 1010 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80-83,8080-8083 out
> via rl0

для начала
1. приходят ли пакеты от клиентов на прокси? проверяется tcpdump
2. работает ли форвард?

можно вывод ipfw show

3. сквид с пакетов или пакеджей? включена ли в нем поддержка прозрачности через ipfw?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от westvovik email(ok) on 03-Июн-15, 17:16 
>[оверквотинг удален]
>> ipfw add 1000 allow tcp from me to any out via rl0
>> keep-state uid squid
>> ipfw add 1010 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80-83,8080-8083 out
>> via rl0
> для начала
> 1. приходят ли пакеты от клиентов на прокси? проверяется tcpdump
> 2. работает ли форвард?
> можно вывод ipfw show
> 3. сквид с пакетов или пакеджей? включена ли в нем поддержка прозрачности
> через ipfw?

Да форвардинг работает ipfw2 initialized, divert loadable, nat enabled, rule-based forwarding enabled, default to deny, logging disabled!


Вот конфиг ipfw

#!/bin/sh
ipfw -f flush

ip_out="85.236.xx.xx"
lan_in="192.168.0.0/24"

ipfw add 5 allow all from me to me via lo0

ipfw add 10 check-state

ipfw add 20 pass ip from me to any established

# разрешаем все через интерфейс локальной сети
ipfw add 100 allow tcp from any to any via ale0
ipfw add 110 allow udp from any to any via ale0
ipfw add 120 allow icmp from any to any via ale0

#ftp
ipfw add 200 pass all from me to any 20,21 via rl0 keep-state
ipfw add 210 allow all from any to me 20,21 via rl0 keep-state

#web
ipfw add 300 allow tcp from me to any 80, 8080, 443, 3128 via rl0 keep-state
ipfw add 310 allow tcp from any to me 80, 443 via rl0 keep-state

#mail
ipfw add 350 allow all from any to me 25, 110, 143, 2525 via rl0 keep-state
ipfw add 360 allow ip from me to any dst-port 25,110,143,2525 via rl0 keep-state

#dns
ipfw add 400 allow all from me to any 53 via rl0 keep-state

#icmp
ipfw add 710 allow icmp from any to me via rl0

#squid
ipfw add 1000 allow tcp from me to any out via rl0 keep-state uid squid
ipfw add 1010 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80-83,8080-8083 out via rl0

ipfw add 1050 deny ip from any to 192.168.0.0/16 in recv rl0
ipfw add 1060 deny ip from 192.168.0.0/16 to any in recv rl0
ipfw add 1070 deny ip from any to 172.16.0.0/12 in recv rl0
ipfw add 1080 deny ip from 172.16.0.0/12 to any in recv rl0
ipfw add 1090 deny ip from any to 10.0.0.0/8 in recv rl0
ipfw add 1100 deny ip from 10.0.0.0/8 to any in recv rl0
ipfw add 1110 deny ip from any to 169.254.0.0/16 in recv rl0
ipfw add 1120 deny ip from 169.254.0.0/16 to any in recv rl0

# настройка ната.
ipfw nat 1 config log if rl0 reset same_ports deny_in

#ssh
ipfw add 57000 allow ip from any to me 22

# заварачиваем все что проходит через внешний интерфейс в нат
ipfw add 65000 nat 1 ip from any to any via rl0

Последнее правило deny ip from any to any

squid собран с поддержкой естественно ipfw

squid -v
Squid Cache: Version 3.5.3
Service Name: squid
configure options:  '--with-default-user=squid' '--bindir=/usr/local/sbin' '--sbindir=/usr/local/sbin' '--datadir=/usr/local/etc/squid' '--libexecdir=/usr/local/libexec/squid' '--localstatedir=/var' '--sysconfdir=/usr/local/etc/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid/squid.pid' '--with-swapdir=/var/squid/cache' '--without-gnutls' '--enable-auth' '--enable-build-info' '--enable-loadable-modules' '--enable-removal-policies=lru heap' '--disable-epoll' '--disable-linux-netfilter' '--disable-linux-tproxy' '--disable-translation' '--disable-arch-native' '--disable-eui' '--disable-cache-digests' '--disable-delay-pools' '--disable-ecap' '--disable-esi' '--disable-follow-x-forwarded-for' '--enable-htcp' '--disable-icap-client' '--disable-icmp' '--enable-ident-lookups' '--disable-ipv6' '--enable-kqueue' '--without-large-files' '--disable-http-violations' '--without-nettle' '--enable-snmp' '--disable-ssl' '--disable-ssl-crtd' '--disable-stacktraces' '--disable-ipf-transparent' '--enable-ipfw-transparent' '--disable-pf-transparent' '--without-nat-devpf' '--disable-forw-via-db' '--enable-wccp' '--enable-wccpv2' '--with-heimdal-krb5=/usr' 'CFLAGS=-I/usr/include -pipe -g -fstack-protector -fno-strict-aliasing' 'LDFLAGS=-L/usr/lib  -pthread -fstack-protector' 'LIBS=-lkrb5 -lgssapi -lgssapi_krb5 ' '--enable-auth-basic=DB SMB_LM MSNT-multi-domain NCSA PAM POP3 RADIUS fake getpwnam NIS' '--enable-auth-digest=file' '--enable-external-acl-helpers=file_userip time_quota unix_group' '--enable-auth-negotiate=kerberos wrapper' '--enable-auth-ntlm=fake smb_lm' '--enable-storeio=ufs aufs diskd' '--enable-disk-io=AIO Blocking IpcIo Mmapped DiskThreads DiskDaemon' '--enable-log-daemon-helpers=file' '--enable-url-rewrite-helpers=fake' '--enable-storeid-rewrite-helpers=file' '--disable-optimizations' '--enable-debug-cbdata' '--prefix=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' '--build=amd64-portbld-freebsd9.1' 'build_alias=amd64-portbld-freebsd9.1' 'CC=cc' 'CPPFLAGS=' 'CXX=c++' 'CXXFLAGS=-pipe -g -fstack-protector -fno-strict-aliasing' 'CPP=cpp' --enable-ltdl-convenience

Интернет работает без прокси, и с прокси если вручную прописать в браузере 192.168.0.1:3128

Как только ставлю правило заворачивать трафик на 127.0.0.1 3128, в браузере инет пропадает
ipfw add 1010 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80-83,8080-8083 out via rl0

При этом в логах вообще пусто и в access.log и cache.log

Но судя по выводу ipfw трафик на правило 1010 идет, но вот трафик на правило 1000 нет

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от arachnid (ok) on 03-Июн-15, 18:30 
если бы вы привели то, что я просил, было бы чуть проще :)

ipfw show показывает не то, что вы прописали, а то, что сейчас работает. причем со счетчиками по правилам :)

в 1000 правило у вас редко что попадать будет - есть 300, в котором и будут считаться все, что уехало наружу на 80 порт

и вывод sockstat -4 -l дайте, плз

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от westvovik email(ok) on 03-Июн-15, 18:36 
> если бы вы привели то, что я просил, было бы чуть проще
> :)
> ipfw show показывает не то, что вы прописали, а то, что сейчас
> работает. причем со счетчиками по правилам :)
> в 1000 правило у вас редко что попадать будет - есть 300,
> в котором и будут считаться все, что уехало наружу на 80
> порт
> и вывод sockstat -4 -l дайте, плз

squid    squid      32736 6  udp4   *:17156               *:*
squid    squid      32736 15 tcp4   *:8080                *:*
squid    squid      32736 16 tcp4   127.0.0.1:3128        *:*

00005    21980    34031574 allow ip from me to me via lo0
00010        0           0 check-state
00020  2287518  3498872402 allow ip from me to any established
00100 19661349 14460320610 allow tcp from any to any via ale0
00110   531121    95034555 allow udp from any to any via ale0
00120    41658     2333880 allow icmp from any to any via ale0
00130        0           0 allow ip from me to 127.0.0.1 dst-port 3551 keep-state
00150        0           0 allow ip from me to 127.0.0.1 dst-port 9000 keep-state
00200        0           0 allow ip from me to any dst-port 20,21 via rl0 keep-state
00210   222195   205204968 allow ip from any to me dst-port 20,21 via rl0 keep-state
00300    12624     6854989 allow tcp from me to any dst-port 80,8080,443,3128 via rl0 keep-state
00310     1093      101948 allow tcp from any to me dst-port 80,443 via rl0 keep-state
00350   469987   318919845 allow ip from any to me dst-port 25,110,143,2525 via rl0 keep-state
00360    74812    61487409 allow ip from me to any dst-port 25,110,143,2525 via rl0 keep-state
00400   165149    32499199 allow ip from me to any dst-port 53 via rl0 keep-state
00500        0           0 allow ip from me to 127.0.0.1 dst-port 4949 keep-state
00710     9682      873088 allow icmp from any to me via rl0
00800     2414      183967 allow ip from any to me dst-port 123 via rl0 keep-state
00810     1240       94240 allow ip from me to any dst-port 123 keep-state
01000        0           0 allow tcp from me to any out via rl0 uid squid keep-state
01010       48        4764 fwd 127.0.0.1,3128 tcp from 192.168.0.3 to any dst-port 80-83,8080-8083 out via rl0
01050        0           0 deny ip from any to 192.168.0.0/16 in recv rl0
01060        0           0 deny ip from 192.168.0.0/16 to any in recv rl0
01070        0           0 deny ip from any to 172.16.0.0/12 in recv rl0
01080        0           0 deny ip from 172.16.0.0/12 to any in recv rl0
01090        0           0 deny ip from any to 10.0.0.0/8 in recv rl0
01100      127       94388 deny ip from 10.0.0.0/8 to any in recv rl0
01110        0           0 deny ip from any to 169.254.0.0/16 in recv rl0
01120        0           0 deny ip from 169.254.0.0/16 to any in recv rl0
57000     3342      453600 allow ip from any to me dst-port 22
65000 17035413 12675655901 nat 1 ip from any to any via rl0
65535       26        1872 deny ip from any to any

Трафик не идет ни какой судя по комманде

tcpdump -v -i lo0 dst 127.0.0.1 and port 3128

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от михалыч (ok) on 04-Июн-15, 04:53 
в строке
> ipfw add 1010 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80-83,8080-8083 out via rl0

убрать out via rl0 или заменить на in recv ale0

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от westvovik email(ok) on 04-Июн-15, 11:40 
> в строке
>> ipfw add 1010 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80-83,8080-8083 out via rl0
> убрать out via rl0 или заменить на in recv ale0

Не помогло, трафик по правилу вообще не идет, попробовал поставить повыше 270, все равно также история, возникла идея может это как то связано с keep-state, и трафик просто не на те правила попадает

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от omnomnim on 04-Июн-15, 11:43 
>> в строке
>>> ipfw add 1010 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80-83,8080-8083 out via rl0
>> убрать out via rl0 или заменить на in recv ale0
> Не помогло, трафик по правилу вообще не идет, попробовал поставить повыше 270,
> все равно также история, возникла идея может это как то связано
> с keep-state, и трафик просто не на те правила попадает

ессно

оно сначала сюда
>00100 19661349 14460320610 allow tcp from any to any via ale0

попадает

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от westvovik email(ok) on 04-Июн-15, 11:55 
>>> в строке
>>>> ipfw add 1010 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any 80-83,8080-8083 out via rl0
>>> убрать out via rl0 или заменить на in recv ale0
>> Не помогло, трафик по правилу вообще не идет, попробовал поставить повыше 270,
>> все равно также история, возникла идея может это как то связано
>> с keep-state, и трафик просто не на те правила попадает
> ессно
> оно сначала сюда
>>00100 19661349 14460320610 allow tcp from any to any via ale0
> попадает

Поставил 50, трафик пошел, интернет работает, НО смущает что в access.log нет ничего

Выключил squid, интернет все равно работает )) c этим правилом

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от Алексей (??) on 06-Июн-15, 15:13 
Времени нет писать. Должно быть так:
http_port 127.0.0.1:3128
http_port 127.0.0.1:3129 intercept

Строчка в rc.firewall
${fwcmd} add "номерправила" fwd 127.0.0.1,3129 tcp from "откуданужно" to any dst-port 80


Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от Алексей (??) on 06-Июн-15, 15:16 
Да, ну и прокся должна быть собрана с опцией прозрачности IP_IPFW
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от Алексей (??) on 06-Июн-15, 15:19 
Как обновлял squid? Через порты или пакеты?


Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Не работает прозрачный прокси squid-3.5.3_1 "  +/
Сообщение от westvovik email(ok) on 08-Июн-15, 15:18 
> Как обновлял squid? Через порты или пакеты?

Обновлял через порты, опция ip_fw включена, пробывал и пересобирать все зависимости, один фиг не работает!

Люди вот знающие с другого форума подсказали что проблема скорее всего в версии системы,
squid 3.5 не поддерживает FreeBSD 9.1, но пока это только идея, что могли нового внести в ipfw такого в новых версиях не понятно.

Так что пока оставил до лучших времен, щас времени нет обновлять систему, боюсь на рабочем роутере это делать.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру