외부에서 FTP 접속시 425 에러에 관한 질문입니다.
Reg. Date: January 03, 2004 By 박인호
외부에서 FTP 접속시 425 에러에 관한 질문입니다.
집에 있는 xp host 컴퓨터에 vmware 4.0 을 통해 솔라리스 9 를 깔고
사용중입니다. xp 상에서 솔라리스 를 띄워 놓은 상태이구요
솔라리스 서버는 사설 ip 를 가지고 있습니다.
vmware 자체 포트 포워딩 기능을 통해
xp host IP:xxx1 솔라리스:21(ftp)
xp host IP:xxx2 솔라리스:23(telnet)
xp host IP:xxx3 솔라리스:22(ssh)
xp host IP:xxx8 솔라리스:80(http)
이렇게 포워딩을 해서 외부에서 솔라리스 머신(192.168.x.x)으로 접속을 하는데요
telnet, ssh, http 는 외부에서 다 접속이 잘 이루어집니다.
그런데
ftp 는 외부에서 접속은 이루어 지는데 data connection 이 맺어지지가 않습니다.
다음과 같은 에러가 나네요
425 Unable to build data connection: Connection timed out
물론 윈도우 xp 에서 사설 ip 치고 접속하면 잘되구요
윈도우 xp 에서 포워딩 주소를 통해 접속해도 잘됩니다. 즉
ftp 218.xxx.xxx.xxx xxx1 이렇게 접속을 해도 이상없이 잘됩니다.
ftp 서버에는 문제가 없다는 얘기겠지요
방화벽은 전부 풀어놓은 상태이고 ftp 는 ProFTPD 를 설치 해서 사용중입니다.
제 짧은 생각으로는 외부에서 접속 시도시 \
사설 ip 를 갖고 있는 솔라리스 머신으로 21 번 포트로는
포워딩을 통해 접속이 이루어지는데 20번 data 포트로는 연결이 안되서 그러는 것
같은데 맞는지요? 아래는 외부에서 디버깅 모드로 ftp 서버에 접속 시도한 로그입니다.
o 외부에서 ftp서버로 접속 시도
#ftp 218.xxx.xxx.xxx xxx1
Connected to 218.xxx.xxx.xxx.
220 ProFTPD 1.2.9rc3 Server (ProFTPD Default Installation) [xxxx]
Name (218.xxx.xxx.xxx:root): root
331 Password required for root.
Password:
230 User root logged in.
ftp> debug
Debugging on (debug=1).
ftp> bi
---> TYPE I
200 Type set to I
ftp> ha
Hash mark printing on (8192 bytes/hash mark).
ftp> ls
---> PORT 61,xxx,xxx,66,206,61
200 PORT command successful
---> TYPE A
200 Type set to A
---> NLST
425 Unable to build data connection: Connection timed out
---> TYPE I
200 Type set to I
o 외부에서 접속 시도시 ftp 서버의 netstat 정보
# netstat -an | grep 21
*.32821 Idle
*.21 *.* 0 0 65536 0 LISTEN
*.21 *.* 0 0 65536 0 LISTEN
192.168.44.128.21 61.xxx.xxx.66.52795 64240 0 64240 0 ESTABLISHED
*.21 *.* 0 0 65536 0 LISTEN
# netstat -an | grep 20
*.32820 Idle
192.168.44.128.20 61.xxx.xxx.66.52797 0 0 65700 0 SYN_SENT
위와 같이 21번으로는 Established 되는데
20번 data 포트로는 SYN_SENT 만 되고 커넥션이 맺어지지가 않습니다.
외부에서 이 커넥션을 맺게 하려면 어떻게 해야 하는지요
외부에서 ftp 를 사용하고 싶은데 도저히 안되네요 --+
위 상황에 대한 의견이나 해결책을 아시는분 도움 부탁드립니다.