LINUX.ORG.RU
ФорумAdmin

SQUID: цепочка с parent глючит


0

1

Сквидерам)

В первый раз в жизни вынужден был использовать сквид) Вылезли три проблемы.

Сеттинг:

server1(site) <-> server2(squid2)<->VPN<->server3(squid3,firefox3)<->VPN<->server4(firefox4)

на server1 находится сайт, на server4 - клиент пытается посмотреть сайт в огнелисе.

Сайт на server1 сделан с помощью адового вебдваноль и флеша.

1) (самая важная).

Если обратиться смотреть сайт напрямую через server3+firefox3 (т.е. использовать прокси напрямую), то он работает ОК.

Но если открыть его в server4+firefox4(т.е. запрос тогда будет идти через цепочку прокси firefox->squid3->squid2->site), то он НЕ работает. Не то чтобы вообще не открывается - нет, работает, но ГЛЮЧИТ.

что может быть не так?

в конфиге прописано элементарно: cache_peer server2 parent 4050 4051

2) (не самая важная :)

HTCP не работает. Я сконпелировал сервер со всеми флагами согласно оффсайту, в том числе флаг на включение HTCP. А он всё равно не работает :(

(кстати, открыться на порту по умолчанию (4827) он не может (занят чем-то, чем - не знаю, может другим сквидом, но он же умеет его автоматом определять? если не умеет, что надо писать в конфиге?)

ну так вот, даже несмотря на порт, он всё равно не работает. При старте сервера пишет «HTCP Disabled.» и всё.

Вот как конпелял:

SERVER_HOME=/long/path/to/the/server/home
export SERVER_HOME

./configure --prefix=$SERVER_HOME/usr --datadir=$SERVER_HOME/usr/share/squid \
      --sysconfdir=$SERVER_HOME/usr/etc/squid --libexecdir=$SERVER_HOME/usr/lib/squid \
      --localstatedir=$SERVER_HOME/usr/var --enable-auth="basic,digest,ntlm" \
      --enable-removal-policies="lru,heap" \
      --enable-digest-auth-helpers="password" \
      --enable-storeio="aufs,ufs,diskd" \
      --enable-basic-auth-helpers="DB,LDAP,MSNT,NCSA,PAM,POP3,SASL,SMB,YP,getpwnn
am,multi-domain-NTLM,squid_radius_auth" \
      --enable-external-acl-helpers="ip_user,ldap_group,session,unix_group,wbinff
o_group" \
      --enable-ntlm-auth-helpers="smb_lm,fakeauth,no_check" \
      --enable-delay-pools --enable-arp-acl --enable-ssl --enable-snmp \
      --enable-linux-netfilter --enable-ident-lookups \
      --enable-useragent-log --enable-cache-digests --enable-referer-log \
      --enable-async-io --enable-truncate --enable-arp-acl \
      --enable-htcp --enable-carp --enable-epoll --with-maxfd=4096 \
      --with-large-files \
      --with-logdir=$SERVER_HOME/usr/var/log/squid --with pidfile=$SERVER_HOME/usr/var/run/squid.pid \
      --with-default-user=MyDefaultUser

3) Нужно отфорвардить с server3 на server2 не ВообщеВсё, а только один-единственный домен, скажем ".my.domain.com". Кто-нибудь может предложить рабочую строчку в конфиге, которая это делает? Маны курил, ничо не пашет ((

на всякий случай лог старта PRIMARY:

2010/10/27 19:11:45| Adding nameserver 172.XX.X.XX from /etc/resolv.conf
2010/10/27 19:11:45| Adding nameserver 172.XX.X.XX from /etc/resolv.conf
2010/10/27 19:11:45| User-Agent logging is disabled.
2010/10/27 19:11:45| Referer logging is disabled.
2010/10/27 19:11:45| Unlinkd pipe opened on FD 11
2010/10/27 19:11:45| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
2010/10/27 19:11:45| Store logging disabled
2010/10/27 19:11:45| Swap maxSize 0 + 262144 KB, estimated 20164 objects
2010/10/27 19:11:45| Target number of buckets: 1008
2010/10/27 19:11:45| Using 8192 Store buckets
2010/10/27 19:11:45| Max Mem  size: 262144 KB
2010/10/27 19:11:45| Max Swap size: 0 KB
2010/10/27 19:11:45| Using Least Load store dir selection
2010/10/27 19:11:45| Set Current Directory to /long/path/to/the/server/home/usr/var/cache
2010/10/27 19:11:45| Loaded Icons.
2010/10/27 19:11:45| Accepting  HTTP connections at [::]:4050, FD 12.
2010/10/27 19:11:45| Accepting ICP messages at [::]:4051, FD 13.
2010/10/27 19:11:45| HTCP Disabled.
2010/10/27 19:11:45| Squid modules loaded: 0
2010/10/27 19:11:45| Ready to serve requests.
2010/10/27 19:11:46| storeLateRelease: released 0 objects

на всякий случай оба тестовых конфига сквида:

PRIMARY (server2)

acl all src all

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
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 localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

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

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 4050

icp_access allow localnet
icp_access deny all
icp_port 4051

hierarchy_stoplist cgi-bin ?
coredump_dir /long/path/to/the/server/home/usr/var/cache
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


SLAVE (server3)

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
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
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_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 3128
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
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
coredump_dir /var/cache/squid

cache_peer server2 parent 4050 4051

#cache_peer server2   sibling 4050 4051
#cache_peer_domain server2 .my.domain.com

★★★★☆

Добавь в конфиг slave prefer_direct off. Должно помоч

codoranro
()

Плохо курил маны)

cache_peer_access <parent_ip> allow <acl>
cache_peer_access <parent_ip> deny all
blind_oracle ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.