Jump to content

Recommended Posts

Добрый день!

У нас в работе сейчас в работе запущен ViPNet Coordinator HW2000, к которому подключаются масса HW1000 с клиентами и подсеть с серверами.

Соответственно, сервера приходят на один интерфейс HW2000, там данные шифруются и рассылаются к клиентам на HW1000

 

С недавних пор некоторые "долгие" запросы HTTP перестали успешно завершаться. Проанализировав трафик, я выяснил, что HW2000 убивает проходящее через него TCP-соединение ровно через 300 секунд после отправки по данному соединению последнего пакета. В итога получается, что клиентские запросы, которые выполняются более 5 минут (отчёты, поиск и пр.) просто напросто не могут получить ответ от сервера т.к. TCP-соединения нет.

WireShark запрос относительно клиента выглядит вот так:

 

No.    Time        Source        Destination    ProtocolLeigth    Info    
33    1.261490000    10.0.0.101    10.0.0.4    TCP    74    54863→80 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=10823079 TSecr=0 WS=128
34    1.261838000    10.0.0.4    10.0.0.101    TCP    74    80→54863 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=847151612 TSecr=10823079 WS=128
35    1.261852000    10.0.0.101    10.0.0.4    TCP    66    54863→80 [ACK] Seq=1 Ack=1 Win=29312 Len=0 TSval=10823079 TSecr=847151612
36    1.261909000    10.0.0.101    10.0.0.4    HTTP    759    POST /getmodule.php HTTP/1.1  (application/x-www-form-urlencoded)
37    1.262264000    10.0.0.4    10.0.0.101    TCP    66    80→54863 [ACK] Seq=1 Ack=694 Win=15872 Len=0 TSval=847151612 TSecr=10823079
429    11.279537000    10.0.0.101    10.0.0.4    TCP    66    [TCP Keep-Alive] 54863→80 [ACK] Seq=693 Ack=1 Win=29312 Len=0 TSval=10825584 TSecr=847151612
430    11.279916000    10.0.0.4    10.0.0.101    TCP    66    [TCP Keep-Alive ACK] 80→54863 [ACK] Seq=1 Ack=694 Win=15872 Len=0 TSval=847161630 TSecr=10823079
5357    21.295601000    10.0.0.101    10.0.0.4    TCP    66    [TCP Keep-Alive] 54863→80 [ACK] Seq=693 Ack=1 Win=29312 Len=0 TSval=10828088 TSecr=847161630
5358    21.296037000    10.0.0.4    10.0.0.101    TCP    66    [TCP Keep-Alive ACK] 80→54863 [ACK] Seq=1 Ack=694 Win=15872 Len=0 TSval=847171646 TSecr=10823079
...
30022    291.727535000    10.0.0.101    10.0.0.4    TCP    66    [TCP Keep-Alive] 54863→80 [ACK] Seq=693 Ack=1 Win=29312 Len=0 TSval=10895696 TSecr=847432064
30023    291.727888000    10.0.0.4    10.0.0.101    TCP    66    [TCP Keep-Alive ACK] 80→54863 [ACK] Seq=1 Ack=694 Win=15872 Len=0 TSval=847442080 TSecr=10823079
30120    301.743538000    10.0.0.101    10.0.0.4    TCP    66    [TCP Keep-Alive] 54863→80 [ACK] Seq=693 Ack=1 Win=29312 Len=0 TSval=10898200 TSecr=847442080
30121    301.743884000    10.0.0.4    10.0.0.101    TCP    66    [TCP Keep-Alive ACK] 80→54863 [ACK] Seq=1 Ack=694 Win=15872 Len=0 TSval=847452096 TSecr=10823079

И всё. Дальше больше ни одного пакета не идёт, в netstat соединение пропадает.

Пробовал подключаться в обход HW2000 и делать похожие действия - TCP-соединение спокойно проходит планку 300 секунд и где-то на 460 секунде возвращает пользователю результат.

Полазив в настройках HW2000 я не нашёл каких-либо опций для увеличения данного таймаута хотя бы до 600. Я даже залез в shell и посмотрел sysctl, но там на 300 были только 2 опции (net.ipv4.neigh.default.base_reachable_time_ms = 30000  и net.ipv4.route.gc_timeout = 300), увеличение которых никак на проблеме не сказались.

 

Подскажите, где можно увеличить данный таймаут для TCP-соединения?

 

 

 

 

 

Share this post


Link to post
Share on other sites

Приветствую.

Посмотрите в документации к вашей версии ПО координатора вот такой параметр:

connection-ttl-tcp 

А load-balancer'а перед веб-сервером нет случайно? Обычно у них как раз такое значение тайм-аута..

 

Share this post


Link to post
Share on other sites

connection-ttl-tcp= 310

Очень похоже кстати. Я его видел, но пропустил т.к. решил, что это не секунды, а прыжки.

Сейчас попробую поменять и отпишусь

 

Load-balancer есть, но он уже настроен на увеличенный тайм-аут. Пробовал с ним напрямую работать - всё в порядке.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site, you agree to our Terms of Use.