Периодическая потеря соединения ICQ

Автор: bsm Дата: 09.08.2006 11:15
Здравствуйте.
Имею ASPLinux 9, kernel-2.6.13.4, squid-2.5.STABLE5-2.9.0asp.
Соединение с провайдером организовано через его локальную сеть, а доступ к Интернет- через тоннель. ICQ бегает через squid.
При этом наблюдается странная ситуация- часто во второй половине дня у большинства клиентов обрывается соедиенение с ICQ; хотя бывают случаи непрерывной работы ICQ круглосуточно по несколько дней подряд. В момент отсутствия доступа к ICQ из предприятия, доступ к сервису из сети провайдера имелся.
Для решения проблемы использовал статью [www.opennet.ru]
Ни одна из рекомендаций не улучшила ситуацию.
Прошу помощи в решении данной проблемы.

Привожу squid.conf

hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

cache_mem 64 MB
maximum_object_size 16384 KB
cache_dir ufs /var/spool/squid 500 16 256
cache_store_log none
redirect_program /home/traffic/cgi-bin/Squid/mySQL/redirect-mysql.pl

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl RootUser src "/etc/squid/squidblock/users/root.users"
acl SSL_ports port 443 563 5190 # ssl, icq- 443, 5190
acl SSL_ports port 4242 4661 4662 # eMule
acl SSL_ports port 44777 7177 # svn
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
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

acl ICQbanner urlpath_regex /client/ate/ad-handler
http_access deny ICQbanner

http_access allow localhost
http_access allow RootUser

acl BadUsers src "/etc/squid/squidblock/users/bad.users"
http_access deny BadUsers

acl squid_block_badlang url_regex -i "/etc/squid/squidblock/badlang.block.txt"
acl squid_unblock_badlang url_regex -i "/etc/squid/squidblock/badlang.unblock.txt"
acl squid_block_entertain url_regex -i "/etc/squid/squidblock/entertain.block.txt"
acl squid_unblock_entertain url_regex -i "/etc/squid/squidblock/entertain.unblock.txt"
acl squid_block_games url_regex -i "/etc/squid/squidblock/games.block.txt"
acl squid_unblock_games url_regex -i "/etc/squid/squidblock/games.unblock.txt"
acl squid_block_mp3 url_regex -i "/etc/squid/squidblock/mp3.block.txt"
acl squid_block_pirate url_regex -i "/etc/squid/squidblock/pirate.block.txt"
acl squid_unblock_pirate url_regex -i "/etc/squid/squidblock/pirate.unblock.txt"
acl squid_block_porn url_regex -i "/etc/squid/squidblock/porn.block.txt pron.block.txt"
acl squid_unblock_porn url_regex -i "/etc/squid/squidblock/porn.unblock.txt"
http_access allow squid_unblock_badlang
http_access deny squid_block_badlang !squid_unblock_badlang
http_access deny squid_block_entertain !squid_unblock_entertain
http_access deny squid_block_games !squid_unblock_games
http_access deny squid_block_pirate !squid_unblock_pirate
http_access deny squid_block_mp3
http_access deny squid_block_porn !squid_unblock_porn

acl AntiChat urlpath_regex chat
http_access deny AntiChat

acl TimeNoMusic time MTWHF

acl MusicVideoFiles urlpath_regex \.avi$
acl MusicVideoFiles urlpath_regex \.mov$
acl MusicVideoFiles urlpath_regex \.mp.*$
acl MusicVideoFiles urlpath_regex \.wav$
acl MusicVideoFiles urlpath_regex \.wmv$
http_access deny MusicVideoFiles TimeNoMusic

acl Time_Kutsenko time MTWHF 7:00-17:00
acl Workstation_Kutsenko src 192.168.0.119/255.255.255.255
acl WEB_Redactor src 192.168.0.147/255.255.255.255
acl TimeSmena time 8:00-22:00
acl LocalNetwork src "/etc/squid/squidblock/users/local.users"

#******************************************************************************
#
# ICQ *** test ***
#
# Проба устранить пропадание связи с ICQ_DOMAINS
#
acl ICQ_USERS src localhost
acl ICQ_USERS src "/etc/squid/squidblock/users/root.users"
acl ICQ_USERS src "/etc/squid/squidblock/users/local.users"

acl ICQ_DOMAINS dstdomain aol.com icq.com login.icq.com
acl ICQ_ADDRESS dst 64.12.0.0/16 205.188.0.0/16
acl ICQ_PORTS port 443 5190
acl ICQ_PROTOCOL proto HTTPS

# test 1 ***
http_access allow ICQ_USERS ICQ_ADDRESS ICQ_PORTS ICQ_PROTOCOL CONNECT
always_direct allow ICQ_ADDRESS ICQ_PORTS CONNECT
always_direct allow ICQ_DOMAINS ICQ_PORTS CONNECT
acl CONNECT method CONNECT

# test 2 ***
#http_access allow CONNECT ICQ_PORTS
#http_access allow ICQ_USERS ICQ_PORTS

# test 3 ***
#http_access allow CONNECT ICQ_USERS ICQ_DOMAINS ICQ_PORTS

# test 4 ***
#acl ICQ_DATA url_regex data? monitor?
#http_access allow ICQ_DOMAINS
#http_access allow ICQ_ADDRESS ICQ_PROTOCOL
#http_access allow ICQ_ADDRESS ICQ_DATA
#******************************************************************************

acl MaxOpenURL maxconn 7

client_db on

acl ip_0_10 src 192.168.0.10/255.255.255.255
acl mac_0_10 arp 00:11:-D8:A4:46:AC
http_access allow ip_0_10 mac_0_10 TimeSmena
..
acl ip_0_119 src 192.168.0.119/255.255.255.255
acl mac_0_119 arp 00:80:48:12:AD:2C
http_access allow ip_0_119 mac_0_119 Time_Kutsenko
..
acl ip_7_235 src 192.168.7.235/255.255.255.255
http_access allow ip_7_235 TimeSmena

http_access deny all

delay_pools 3
delay_class 1 1
delay_access 1 allow localhost
delay_access 1 allow RootUser
delay_access 1 deny all
delay_parameters 1 -1/-1
delay_class 2 2
delay_access 2 allow LocalNetwork
delay_access 2 allow Workstation_Kutsenko
delay_access 2 allow WEB_Redactor
delay_access 2 deny all
delay_parameters 2 48000/48000 32000/48000
delay_class 3 1
delay_access 3 allow BadUsers
delay_access 3 deny all
delay_parameters 3 300/500

icp_access allow all
visible_hostname proxy.my_domain.com
append_domain .my_domain.com

acl onserver url_regex .*my_domain\.com
acl DirectIPs dst 192.168.0.0/255.255.255.0
always_direct allow onserver
always_direct allow DirectIPs
acl SiteMyProvider dstdomain .smela.com.ua
always_direct allow SiteMyProvider

extension_methods REPORT MERGE MKACTIVITY CHECKOUT DELETE

Спасибо.

Re: Периодическая потеря соединения ICQ 09.08.2006 12:50shutdown-h-now
Разрешите на один день ICQ через нат, а не через прокси и посмотрите, останется ли проблема. Если останется, значет дело не проксике, а в качестве связи. Аська чувствительна даже к таким коротким перебоям в связи, на которые остальные программы не обращают внимания.
Re: Периодическая потеря соединения ICQ 09.08.2006 16:35bsm
Сегодня ICQ пробержалась до начала 15 часа.
Отложил в сторону squid и попытался решить проблему иначе-

#!/bin/sh
#

iptables=/sbin/iptables
lan_ip_range=192.168.0.0/24

sets() {
#
# https --> 443/{tcp,udp}
# icq --> 4000/udp
# icq --> 5190/tcp
#
for port_icq in https icq; do
for protocol in tcp udp; do
$iptables $1 FORWARD --source $lan_ip_range --protocol $protocol --destination-port $port_icq -m state --state NEW,ESTABLISHED -j ACCEPT
$iptables --table nat $1 POSTROUTING --source $lan_ip_range --protocol $protocol --destination-port $port_icq -j MASQUERADE
$iptables $1 FORWARD --protocol $protocol --source-port $port_icq --destination $lan_ip_range -m state --state ESTABLISHED,RELATED -j ACCEPT
done
done
} # sets()

deny_icq() {
$iptables -A FORWARD --destination login.icq.com -j DROP
$iptables -A FORWARD --source login.icq.com -j DROP
} # deny_icq()

case "$1" in
start)
sets -A
;;

stop)
sets -D
;;

restart)
stop
sleep 7
start
;;

status)
$iptables --list FORWARD
;;

deny_icq)
deny_icq
;;

*)
echo "Используйте $0 {start|stop|restart|status|deny_icq}"
esac

exit 0

Результат тот же.
Что делать - не знаю.

Re: Периодическая потеря соединения ICQ 09.08.2006 22:52shutdown-h-now
Ваш сервер не при чем. Либо у вас низкое качество связи, либо глючит сам сервер ICQ. Попробуйте провайдеру пожаловаться.
Re: Периодическая потеря соединения ICQ 10.08.2006 05:01INF[SZ]
Либо периодически отваливается линк между вами и провом,
либо периодически не хватает ширины канала в инет у провайдера
Re: Периодическая потеря соединения ICQ 10.08.2006 10:20bsm
У меня 512Kbps канал. По правилам очерёдности выполняемых запросов (HTB-) запросы Аськи идут до http запросов.

..
# маркируем пакеты с помощью fwmark - устанавливаем значения 20-26 в зависимости от нужного класса.
# Высший приоритет - 20.
#
# ICMP (ping) - высокий приоритет,
iptables -t mangle -A MYSHAPER-OUT -p icmp -j MARK --set-mark 20
#
# распознавание имен DNS (маленькие пакеты)
iptables -t mangle -A MYSHAPER-OUT -p udp -j MARK --set-mark 21
#
# маленькие пакеты, скорее всего ACK-пакеты
iptables -t mangle -A MYSHAPER-OUT -p tcp -m length --length :64 -j MARK --set-mark 21
#
# интернет-пейджер aol
iptables -t mangle -A MYSHAPER-OUT -p tcp --destination-port 5190 -j MARK --set-mark 21
#
# 20- ftp-data, низкий приоритет
iptables -t mangle -A MYSHAPER-OUT -p tcp --destination-port ftp-data -j MARK --set-mark 25
#
# 22- secure shell, 23- telnet (ew...)
iptables -t mangle -A MYSHAPER-OUT -p tcp -m multiport --destination-port ssh,telnet -j MARK --set-mark 22
iptables -t mangle -A MYSHAPER-OUT -p tcp -m multiport --source-port ssh,telnet -j MARK --set-mark 22
#
# 25- SMTP - исходящая почта
iptables -t mangle -A MYSHAPER-OUT -p tcp --destination-port smtp -j MARK --set-mark 26
iptables -t mangle -A MYSHAPER-OUT -p tcp --source-port smtp -j MARK --set-mark 26
#
# 80,443- локальный веб-сервер
iptables -t mangle -A MYSHAPER-OUT -p tcp -m multiport --source-port http,https -j MARK --set-mark 23
#
# IPSec - мы не знаем полезную нагрузку, однако...
iptables -t mangle -A MYSHAPER-OUT -p ipv6-crypt -j MARK --set-mark 24
#
# Низкоприоритетный трафик
iptables -t mangle -A MYSHAPER-OUT -p tcp --source-port 0:1024 -j MARK --set-mark 24
iptables -t mangle -A MYSHAPER-OUT -p tcp --destination-port 0:1024 -j MARK --set-mark 24
#
# избыточно - смаркировать все неотмаркированые пакеты как 26 (низкий проиритет)
iptables -t mangle -A MYSHAPER-OUT -m mark --mark 0 -j MARK --set-mark 26
#
..

Мои виндошные клиенты для постоянной работы с Аськой используют программу http-tunnel client от
http-tunnel.com и работают без проблем.

Re: Периодическая потеря соединения ICQ 15.08.2006 05:03YED
В силу морального устаревания протокола ICQ, технология этого вида интернет-пейджеров даёт сбой. Ваш провайдер совсем ни при чём -- это перестаёт отвечать сервер ICQ!
Рекомендую уже перебираться потихоньку на Jabber -- в этом случае подобное поведение наблюдаться не будет.
Re: Периодическая потеря соединения ICQ 15.08.2006 10:11bsm
Спасибо. Попробую. Но в таком случае на jabber придётся переходить всем, пользующим ICQ. С этим согласятся не все.
Re: Периодическая потеря соединения ICQ 16.08.2006 11:23YED
в Жаббере есть поддержка гейта с ICQ -- это немного решает проблему Улыбка
Re: Периодическая потеря соединения ICQ 16.08.2006 12:30bsm
Я говорил с некоторыми из своих пользователей, использующих ICQ (, Miranda, R&Q), о переходе на Jabber- получил отказ.
Сегодня 3-и сутка, как Аська не падает. Весьма странно.
Re: Периодическая потеря соединения ICQ 16.08.2006 12:37bsm
Дополнение - не падает у меня на сервере, но пользователям приходится использовать http-tunnel.
Почему? Где собака зарыта?
Re: Периодическая потеря соединения ICQ 17.08.2006 12:02YED
К Миранде присобачиваешь плагин для Джаббера и твои пользователи даже ничего не заподозрят Улыбка
Re: Периодическая потеря соединения ICQ 17.08.2006 12:15bsm
Попробую. Спасибо.

RSS-материал