перенаправление на порт squid (1110):
Код:
$IPTABLES -t nat -A PREROUTING -s $LAN_IP_RANGE -d ! $LAN_IP -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-port 1110
$IPTABLES -t nat -A PREROUTING -s $LAN_IP_RANGE -d ! $LAN_IP -p udp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-port 1110
$IPTABLES -t nat -A PREROUTING -s $LAN_IP_RANGE -d ! $LAN_IP -p tcp -m multiport --dport 8082,8083,8091,8100,8101,8102,8103,8888,777 -j REDIRECT --to-port 1110
$IPTABLES -t nat -A PREROUTING -s $LAN_IP_RANGE -d ! $LAN_IP -p udp -m multiport --dport 8082,8083,8091,8100,8101,8102,8103,8888,777 -j REDIRECT --to-port 1110
Squid скомпилирован со следующими флагами:
Код:
- - elibc_uclibc : <unknown>
- - ipf-transparent : Adds transparent proxy support for systems using IP-Filter (only for *bsd)
+ + kernel_linux : <unknown>
+ + ldap : Adds LDAP support (Lightweight Directory Access Protocol)
- - logrotate : Use logrotate for rotating logs
- - nis : Support for NIS/YP services
+ + pam : Adds support PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip
- - pf-transparent : Adds transparent proxy support for systems using PF (only for *bsd)
- - samba : Adds support for SAMBA (Windows File and Printer sharing)
- - sasl : Adds support for the Simple Authentication and Security Layer
- - selinux : !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
+ + snmp : Adds support for the Simple Network Management Protocol if available
+ + ssl : Adds support for Secure Socket Layer connections
- - zero-penalty-hit : Adds Zero Penalty Hit patch (http://www.it-academy.bg/zph/)
Вот что вижу в броузере:
Код:
ERROR
The requested URL could not be retrieved
While trying to process the request:
GET /index.jsp HTTP/1.1
User-Agent: Opera/9.20 (Windows NT 5.1; U; ru)
Host: www.linux.org.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Cookie: StyleCookie=black
Cookie2: $Version=1
Connection: Keep-Alive
The following error was encountered:
Invalid Request
Some aspect of the HTTP Request is invalid. Possible problems:
Missing or unknown request method
Missing URL
Missing HTTP Identifier (HTTP/1.0)
Request is too large
Content-Length missing for POST or PUT requests
Illegal character in hostname; underscores are not allowed
Your cache administrator is root.
Путем рытья в документации выяснил, что при компиляции необходим ключ --enable-linux-netfilter. Судя по ebuild'у для компиляции с этим ключем необходим флаг kernel_linux, который у меня уже есть.
squid.conf:
Код:
http_port 192.168.0.1:1110
visible_hostname vitserver
icp_port 0
acl QUERY urlpath_regex -i download\d+.avast\.com
no_cache deny QUERY
cache_mem 64 MB
maximum_object_size 100 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 8 KB
cache_dir ufs /var/spool/squid 10000 16 256
cache_store_log /var/log/squid/store.log
negative_ttl 1 minutes
range_offset_limit 0 KB
peer_connect_timeout 3 seconds
read_timeout 5 minutes
request_timeout 60 seconds
half_closed_clients off
acl clients src 192.168.0.0/255.255.255.240
acl all src 0.0.0.0/0.0.0.0
http_access allow clients
http_access deny all
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
nonhierarchical_direct off
redirect_program /opt/rejik3/redirector /opt/rejik3/redirector.conf
cache_effective_user squid
cache_effective_group squid
forwarded_for off
В логах ошибки нет...
Если настроить прокси в броузере то все работает замечательно...
При запуске выдает, что:
2007/05/16 20:26:42| parseConfigFile: line 28 unrecognized: 'httpd_accel_host virtual'
2007/05/16 20:26:42| parseConfigFile: line 29 unrecognized: 'httpd_accel_port 80'
2007/05/16 20:26:42| parseConfigFile: line 30 unrecognized: 'httpd_accel_with_proxy on'
2007/05/16 20:26:42| parseConfigFile: line 31 unrecognized: 'httpd_accel_uses_host_header on'
Все указанные конфиги перенесены из федоры, где все замечательно работало.
Подскажите, где грабли. Очень нехочется собирать сабж вручную, когда все должно работать после emerge squid...