SSH 역방향 터널은 작동하지만 Davmail은 작동하지 않습니다.

SSH 역방향 터널은 작동하지만 Davmail은 작동하지 않습니다.

나는 누군가가 내 VPS 서버(서버라고 함)를 통해 Davmail IMAP 서버에 액세스하는 것을 불가능하게 만들려고 노력하고 있습니다(지역 차단으로 인해, 그러나 반드시 관련이 있는 것은 아닙니다). 아래 다이어그램에서 서로 다른 당사자 간의 연결을 설명합니다.

연결 다이어그램

이 명령을 사용하여 Davmail(공개적으로 액세스할 수 없음)에서 SSH 서버(공개적으로 액세스할 수 있음)로 터널을 설정합니다.

ssh -g -R \*:2143:localhost:1143 -N user@server

SSH 서버 자체에서 로컬 호스트로 사용하면 제대로 연결되고 작동합니다. 디버깅을 위해 텔넷을 사용하고 있으며 앞으로는 IMAP(또는 IMAPS)이 있어야 합니다.

# telnet localhost 2143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4REV1 AUTH=LOGIN MOVE SPECIAL-USE] IMAP4rev1 DavMail 5.5.1-trunk server ready
. LOGIN user pass
. OK Authenticated

그러나 포트의 SSH 서버에 원격으로 연결하면 연결되지만 (거의) 데이터가 전달되지 않습니다.

$ telnet server 2143
Trying 94.130.99.72...
Connected to server.
Escape character is '^]'.

그리고 연결이 끊어졌습니다. 그러나 이 설정에서 사용하면 netcat이 작동하고 데이터가 양방향으로 전송됩니다. SSH 클라이언트는 연결이 있음을 나타냅니다.

debug3: receive packet: type 90
debug1: client_input_channel_open: ctype forwarded-tcpip rchan 4 win 2097152 max 32768
debug1: client_request_forwarded_tcpip: listen  port 2143, originator 195.113.180.82 port 16119
debug2: fd 6 setting O_NONBLOCK
debug2: fd 6 setting TCP_NODELAY
debug1: connect_next: host 192.168.10.161 ([192.168.10.161]:1143) in progress, fd=6
debug3: fd 6 is O_NONBLOCK
debug3: fd 6 is O_NONBLOCK
debug1: channel 2: new [195.113.180.82]
debug1: confirm forwarded-tcpip
debug3: channel 2: waiting for connection
debug1: channel 2: connected to 192.168.10.161 port 1143
debug3: send packet: type 91

Davmail에는 초기 연결이 표시되지만 실제로 상대방에서는 데이터가 수신되지 않습니다(내가 아는 한).

2024-03-03 17:06:44,338 DEBUG [davmail.imap.ImapServer] davmail  - Connection from /192.168.10.161 on port 1143
2024-03-03 17:06:44,338 INFO  [davmail.imap.ImapServer] davmail.connection  - CONNECT - 192.168.10.161:59732 
2024-03-03 17:06:44,382 DEBUG [ImapConnection-59732] davmail.exchange.ExchangeSession  - Test configuration status: 302
2024-03-03 17:06:44,383 DEBUG [ImapConnection-59732] davmail  - > * OK [CAPABILITY IMAP4REV1 AUTH=LOGIN MOVE SPECIAL-USE] IMAP4rev1 DavMail 5.5.1-trunk server ready

서버에서 방화벽이 비활성화되었습니다.

# ufw status 
Status: inactive

GatewayPort가 열려 있습니다.

# /etc/ssh/sshd_config
GatewayPorts yes
AllowTcpForwarding yes

어떻게 더 디버깅할 수 있나요?

관련 정보