Я хочу отправить сообщения журнала GELF (Graylog Extended Log Format) из экземпляра logstash в Graylog. Но поскольку вывод GELF в logstash не поддерживает TLS, я хочу вместо этого использовать stunnel для шифрования связи.
Я создал тестовую среду, которая состоит из двух stunnels, одного клиента и одного сервера, а также просто netcat, который имитирует принимающую сторону (в конечном итоге Graylog). Однако, когда я все настроил и отправляю сообщения через stunnel, первый пакет данных теряется. Я захватил трафик с помощью tshark и вижу, что данные отправляются из источника в stunnel, но stunnel просто отвечает RST, и пакет нигде не может быть найден, но второй пакет данных доставляется нормально.
Я пытался подключить клиента stunnel к серверу stunnel, graylog, HAProxy, но всегда была потеря пакетов.
Клиент Stunnel
verify = 0
chroot = /usr/local/var/run/stunnel/
pid = /stunnel.pid
setuid = nobody
setgid = nobody
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
debug = 7
output = stunnel.log
client = yes
[test]
accept = 3333
connect = <server>:7777
Stunnel сервер
cert = /etc/stunnel/stunnel.pem
verify = 0
chroot = /usr/local/var/run/stunnel/
pid = /stunnel.pid
setuid = nobody
setgid = nobody
[test]
accept = 7777
connect = 4445
logstash conf
input {
syslog {
port => 10514
}
}
output {
gelf {
host => "localhost"
port => 3333
protocol => TCP
}
}
Я все это тестирую, используя:
loggen --rate 1 --interval 1 localhost 10514
редактировать
Царк общения:
No. Time Source Destination Protocol Length Info
1 0.000000000 127.0.0.1 127.0.0.1 TCP 883 47016 → 3333 [PSH, ACK] Seq=1 Ack=1 Win=342 Len=815 TSval=193491 TSecr=160751
No. Time Source Destination Protocol Length Info
2 0.000028908 127.0.0.1 127.0.0.1 TCP 56 3333 → 47016 [RST] Seq=1 Win=0 Len=0
No. Time Source Destination Protocol Length Info
3 1.019395050 127.0.0.1 127.0.0.1 TCP 76 47040 → 3333 [SYN] Seq=0 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=194510 TSecr=0 WS=128
No. Time Source Destination Protocol Length Info
4 -1525790179.613104197 127.0.0.1 127.0.0.1 TCP 76 3333 → 47040 [SYN, ACK] Seq=0 Ack=1 Win=43690 Len=0 MSS=65495 SACK_PERM=1 TSval=194510 TSecr=194510 WS=128
No. Time Source Destination Protocol Length Info
5 1.019427365 127.0.0.1 127.0.0.1 TCP 68 47040 → 3333 [ACK] Seq=1 Ack=1 Win=43776 Len=0 TSval=194510 TSecr=194510
No. Time Source Destination Protocol Length Info
6 1.019725293 127.0.0.1 127.0.0.1 TCP 883 47040 → 3333 [PSH, ACK] Seq=1 Ack=1 Win=43776 Len=815 TSval=194510 TSecr=194510
No. Time Source Destination Protocol Length Info
7 1.019733354 127.0.0.1 127.0.0.1 TCP 68 3333 → 47040 [ACK] Seq=1 Ack=816 Win=45440 Len=0 TSval=194510 TSecr=194510
[
Спасибо!