Translated message

A translation of this page exists in English.

squidアップストリームバグ #4007 による CLOSE_WAIT 接続

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux (RHEL) 7
  • squid-3.5.20-10.el7

Issue

  • アップストリームの squid バグ #4007 Hang on DNS query with dead-end CNAME に関して、Red Hat ディストリビューションの squid に修正がありますか?
  • telnet が終了した後、予期しない CLOSE_WAIT 接続が発生しています。
# netstat -natp
tcp6 1 0 ::1:8080  ::1:4285     CLOSE_WAIT  -
$ /usr/bin/squidclient -p 8080 mgr:active_requests
...
Connection: 0x565477e1ee28
        FD 33, read 46, wrote 0
        FD desc: Reading next request
        in: buf 0x56547877c640, used 0, free 39
        remote: [::1]:4285
        local: [::1]:8080
        nrequests: 1
uri www.example.com:443
logType TAG_NONE
out.offset 0, out.size 0
req_sz 46
entry (nil)/N/A
start 1534921819.179745 (707.093529 seconds ago)
username -
delay_pool 0

Resolution

7.6.Z Stream Advisory RHBA-2019:0181 以降に同梱されている squid-3.5.20-12.el7_6.1 に更新します。

Root Cause

以前は、IP アドレスをポイントしていない Canonical Name (CNAME) レコードでホストが要求された場合、squid サーバーは接続を終了しませんでした。その結果、接続が応答しなくなりました。このバグは修正され、squid は説明されているシナリオですぐに接続を閉じるようになりました。

Diagnostic Steps

アドレスをポイントしていないCNAME でホストが指定されると、次のログが記録されると共に接続が永久にハングアップします。

18:01:01 kid1| ipcacheParse: No Address records in response to 'example.com'
18:05:15 kid1| ipcacheParse: No Address records in response to 'example.com'

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments