-1
방화벽 뒤에 수동으로 ftp/TLS 서버로 작동하도록 pureftpd를 구성하려고합니다. 연기 기계 :PureFtpd 수동 포트 범위가 수신 대기 주소를 클라이언트에 전달하지 않습니다.
이- 서버 : 192.168.3.220는 (내부 네트워크가 192.168.3.1에서 라우터에 기본 경로) 구성 : PassivePorts 64000 64300와 pureftpd이 MasqueradeAddress의 ww.xx.yy.zz (이 하나가 라우터 : 내부 : 192.168.3.1, DNAT 규칙 (PREROUTING 체인) ww.xx.yy.zz tcp/21,64000 : 64300 192.168.3.220 주소로 NATed,이 패킷을 양방향으로 허용하는 FORWARD 체인.
- 클라이언트 1 : 신도 기계 어딘가에 - 192.168.5.x 네트워크
시나리오 1에 :
- Client1: connect OK, login OK, command 'ls':
gets OK, after PASV:
---> PASV
GNUTLS: REC[0x28ecce0]: Sending Packet[9] Application Data(23) with length: 6
GNUTLS: REC[0x28ecce0]: Sent Packet[10] Application Data(23) with length: 37
GNUTLS: ASSERT: gnutls_buffers.c:322
GNUTLS: ASSERT: gnutls_buffers.c:322
GNUTLS: REC[0x28ecce0]: Expected Packet[9] Application Data(23) with length: 65536
GNUTLS: REC[0x28ecce0]: Received Packet[9] Application Data(23) with length: 64
GNUTLS: REC[0x28ecce0]: Decrypted Packet[9] Application Data(23) with length: 31
<--- 200 Protection set to Private
---> LIST
---> ABOR
흥미로운 것은 내가 pureftpd의 편집 로그에서 볼 수 있듯이 클라이언트에서는 보이지 않는다. - 개인 보호로 설정 한 200 보호 만 ... ACTIVE (!!) 모드 -> ls
을 사용하여 cca 30sec 대기하고 다시 연결합니다.시나리오 2 :
- using Client2 (sorry for czech locales):
---> USER xxxxxx
<--- 331 Password required for xxxxxx
---> PASS XXXX
<--- 230 User xxxxxx logged in
---> PWD
<--- 230 Ls oi a:2013-01-03 21:19:00
---> PBSZ 0
<--- 257 "/" is the current directory
---> PROT P
<--- 200 PBSZ 0 successful
---> PASV
<--- 200 Protection set to Private
---> LIST
---> ABOR
---- Přerušený datový socket bude uzavřen (means closing data socket)
---- Řídicí socket bude uzavřen (means closing control socket)
---- Pasivní režim bude vypnut (means Passive will be turned off)
---- dns cache hit
---- Navazuje se spojení na ftp1.xxxxxxxxx.cz (ww.xx.yy.zz) port 21
<--- 220 ww.xx.yy.zz FTP server ready
... NAT를 컴퓨터에
---> USER xxxxxx
<--- 331 Password required for xxxxxx
---> PASS XXXX
<--- 230 User xxxxxx logged in
---> PWD
<--- 230 Ls oi a:2013-01-03 21:19:22
---> PBSZ 0
<--- 257 "/" is the current directory
---> PROT P
<--- 200 PBSZ 0 successful
---> PORT 192,168,5,xx,185,136
<--- 200 Protection set to Private
---> LIST
<--- 500 Illegal PORT command
---- Closing data socket
---> QUIT
ls: Nepřekonatelná chyba: 500 Illegal PORT command
<--- 425 Unable to build data connection: Connection refused
의 iptables 포트 64000에 내 회계 카운터를 증가하지 않는 : 64300, 그래서 내가 만든 어떤 수동 연결이 없습니다 기대 조금도.
아마도 하나 이상의 덧글 : 라우터의 WAN 인터페이스에 더 많은 IP 주소가 있습니다. 시나리오 1에서 활성 연결이 작동하면 ww.xx.yy.zz : 20에서는 아니지만 aa.bb.cc.dd : 45678 (마스 쿼 레이 딩 된 것)입니다. 방화벽에서 SNAT 규칙에 따라이 문제를 해결할 수 있습니다. 패킷을 192.168.3.220에서 ww.xx.yy.zz로 SNATting 할 수 있지만 수동 연결에는 영향을 미치지 않습니다. 권리? 어떤 힌트 주셔서 감사합니다. – tloudev