Мой сервер Linux пытается установить соединение LDAPS с сервером глобального каталога, и соединение прерывается (предположительно со стороны GC).
В целях обсуждения, допустим, что 1.1.1.1 является сервером Linux, а 1.2.3.4 - сервером глобального каталога.
Если я пытаюсь использовать telnet
из коробки Linux, я вижу:
[root@foobox ~]# telnet gcfoo.exampleAD.local 3269
Trying 1.2.3.4...
Connected to gcfoo.examplead.local.
Escape character is '^]'.
Connection closed by foreign host.
Там нет задержки между 4-й и 5-й строкой. Это просто немедленно обрывает связь.
Я подумал, что telnet
результаты могут немного вводить в заблуждение (поскольку на самом деле это не подходит для любого типа безопасного обмена данными), поэтому я собрал пакетный захват фактической попытки соединения с устройства (используя реальную программу, требующую LDAPS).
Вот что я вижу (опять же, IP-адреса и исходные порты были переименованы для защиты невинных):
No. Time Source Destination Protocol Length Info
1 0.000000 1.1.1.1 1.2.3.4 TCP 66 27246 > msft-gc-ssl [SYN] Seq=0 Win=5840 Len=0 MSS=1460 SAC_PERM=1 WS=128
2 0.000162 1.2.3.4 1.1.1.1 TCP 62 msft-gc-ssl > 27246 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 SACK_PERM=1
3 0.000209 1.1.1.1 1.2.3.4 TCP 54 27246 > msft-gc-ssl [ACK] Seq=1 Ack=1 Win=5840 Len=0
4 0.003462 1.1.1.1 1.2.3.4 TCP 248 27246 > msft-gc-ssl [PSH, ACK] Seq=1 Ack=1 Win=5840 Len=194
5 0.007264 1.2.3.4 1.1.1.1 TCP 60 msft-gc-ssl > 27246 [RST] Seq=1 Win=64046 Len=0
Я немного заржавел с TCP / IP, поэтому, пожалуйста, прости меня за невежество ... Я вижу, как в пакетах 1-3 происходит трехстороннее рукопожатие. Это имеет смысл. Что происходит в пакете № 4, хотя? Что [PSH, ACK]
значит? Это кажется избыточным подтверждением, которое не нужно. Фактические данные отправляются в этом 4-м пакете? Или это какое-то странное продолжение рукопожатия?