FTP 서버에 접속이 안됩니다.

kingkong의 이미지

안녕하세요. 맨날 KLDP에 들르지만 질문은 처음 올리는 초보 리눅서입니다.

제가 터보리눅스를 전체 설치로 설치하였는데 처음 설치하고 보니까 텔넷 서버와 FTP 서버가 동작하지 않아 /etc/inetd.conf 파일에서 ftp와 telnet 설정 앞에 있는 #를 제거하고 inet를 재시작하니까 telnet은 접속이 되는데 ftp는 접속이 안되는군요.

로컬로 접속하면 다음과 같은 메세지가 나오고..
[root@Solo ~]ftp localhost
Connected to localhost.localdomain
421 Service not available, remote server has closed connection

다른 컴터에서 접속하면
C:\>ftp 192.168.0.5
Connected to 192.168.0.5.
Connection closed by remote host.

이런 메세지가 나오는데.. 이유를 잘 모르겠습니다.

리눅스 버전은 터보 리눅스 6.5 이구요. ftp 는 proftp를 선택하였습니다. 기본으로 깔려있는거구요.

inetd.conf의 ftp 부분을 보면
#ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
에서 앞에 있는 #을 제거하였습니다.
그외에 /etc/proftp/proftpd.conf 이나/etc/passwd 파일에서 손봐야 할 부분이 있는걸까요?

ftp 서비스 할건 아니고 저 혼자 사용할거라 부하가 걸릴건 없으니 proftp 단독이 아닌 inetd 포함으로 사용하려고 합니다.

/etc/proftpd/proftpd.conf 파일 제일 앞에 있는
ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on

에서 서버 타입을 inetd 로 바꿔봤는데도 결과는 같았습니다..
그외에 또 바꿔야 할 부분이 있습니까?

mshyun의 이미지

아이피 적으신건 임의로 적으신거죠?
실제는 그아이피아닌거죠?
................................

kingkong의 이미지

로컬로 실제 사용하는 IP입니다.
이 리눅스(192.168.0.5)는 win98(192.168.0.1)의 인터넷 공유를 통해서 인터넷에 접속할 수 있습니다. 네트워크상의 문제는 없다고 보여집니다. 리눅스에서는 다른 모든 곳에 telnet, FTP 모두 접속가능하니까요.

dhc97의 이미지

지금 사용하시는 아이피가 공인 아이피가 아닌걸루 알고 있는데요

비공인이라면 방화벽이 부여한 아이피라서..

외부에서는 들어올수가 없을겁니다..

방화벽 관리자에게 문의하시거나...

NAT걸어서 들어오셔야 할거 같은데요..

kingkong의 이미지

[root@Solo /etc]# ps -ef | more
UID PID PPID C STIME TTY TIME CMD
root 1 0 2 16:19 ? 00:00:04 init [3]
root 2 1 0 16:19 ? 00:00:00 [kflushd]
root 3 1 0 16:19 ? 00:00:00 [kupdate]
root 4 1 0 16:19 ? 00:00:00 [kswapd]
root 5 1 0 16:19 ? 00:00:00 [loopd]
root 6 1 0 16:19 ? 00:00:00 [mdrecoveryd]
root 7 1 0 16:19 ? 00:00:00 [i2oevtd]
root 200 1 0 16:19 ? 00:00:00 /usr/sbin/apmd -p 10 -w 5 -W
root 210 1 0 16:19 ? 00:00:00 syslogd -m 0
root 218 1 0 16:19 ? 00:00:01 klogd
daemon 228 1 0 16:19 ? 00:00:00 /usr/sbin/atd
root 249 1 0 16:19 ? 00:00:00 /sbin/cardmgr
root 263 1 0 16:19 ? 00:00:00 inetd
root 304 1 0 16:19 ? 00:00:01 sshd
root 334 1 0 16:19 ? 00:00:00 crond
root 342 1 0 16:19 ? 00:00:00 /usr/local/apache/bin/httpd
root 344 1 0 16:19 tty1 00:00:00 /sbin/mingetty tty1
root 345 1 0 16:19 tty2 00:00:00 /sbin/mingetty tty2
nobody 346 342 0 16:19 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 347 342 0 16:19 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 348 342 0 16:19 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 349 342 0 16:19 ? 00:00:00 /usr/local/apache/bin/httpd
nobody 350 342 0 16:19 ? 00:00:00 /usr/local/apache/bin/httpd
root 351 1 0 16:19 ? 00:00:00 sh /usr/local/mysql/bin/safe_mys
root 364 351 0 16:19 ? 00:00:00 /usr/local/mysql/libexec/mysqld
root 366 364 0 16:19 ? 00:00:00 /usr/local/mysql/libexec/mysqld
root 367 366 0 16:19 ? 00:00:00 /usr/local/mysql/libexec/mysqld
root 368 263 0 16:20 ? 00:00:00 in.telnetd: avatar.localdomain
root 369 368 0 16:20 pts/0 00:00:00 login -- tykim
tykim 370 369 0 16:20 pts/0 00:00:00 -tcsh
root 382 370 0 16:20 pts/0 00:00:00 -tcsh
root 399 382 0 16:23 pts/0 00:00:00 ps -ef
root 400 382 0 16:23 pts/0 00:00:00 more
[root@Solo /etc]#

방화벽이 현재 동작하고 있는지는 잘 모르겠습니다. 위 프로세스중에 방화벽이 어떤건지 잘 모르겠네요.. 죄송합니다.
하지만
[root@Solo ~]# ftp localhost
Connected to localhost.localdomain.
421 Service not available, remote server has closed connection
ftp>
방화벽이 있으면 위처럼 로컬로도 접속이 안되나요?

inetd.conf에서 ftp 앞에 #을 붙여서 ftp를 사용안하게 하면
[root@Solo /etc]# ftp localhost
ftp: connect: Connection refused
ftp>
이렇게 되니까 이 상태말고 위의 경우엔 프로세스중에 보이진 않지만 ftp 서버가 동작은 하고 있다고 생각됩니다. 제가 잘못 알고 있는걸까요?.
그리고 만약 방화벽이 동작하고 있다면 어떻게 내리죠? 방화벽쪽은 제가 전혀 몰라서. 로컬 네트워크에서만 사용하니 방화벽은 필요없습니다.

cdpark의 이미지

hosts.allow는 고치셨겠죠?

kingkong의 이미지

네...

# Local host
# Allow all requests from localhost

ALL : 127.0.0.1
ALL : ALL

dhc97의 이미지

음 ftp localhost는 안먹는걸루 알고 있구요..
ftp 아이피 로 해보시구요

그경우에 문제가 없다면 정상적인거구요

다른 컴에서 연결이 안된다면 방화벽 문제이거나..

방화벽을 안쓰신다면 사용하시는 아이피가 고정아이피 아닌거 같은데요?

국내 아이피대는 211.....로 시작되는걸루 알고 있는데요...

가상으로 잡으셨다면 외부에서 들어올수는 없구요..

일단 ftp ip 해보시고..안되시면 ftp가 구동이 안된다고 볼수 있습니다.

dhc97의 이미지

위에꺼 로컬에서 하시는 건데요..

localhost라는것은 웹서버에서 가능한데..

보통 서버에 명칭이 부여되기 때문에 그걸루 하셔야 합니다..

kingkong의 이미지

자꾸 귀찮게 해드려 정말 죄송합니다.

[tykim@Solo ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:00:86:61:CE:81
inet addr:192.168.0.5 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:366 errors:0 dropped:0 overruns:0 frame:0
TX packets:251 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:9 Base address:0x300

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

[tykim@Solo ~]# ftp 127.0.0.1
Connected to 127.0.0.1.
421 Service not available, remote server has closed connection
ftp> quit
[tykim@Solo ~]# ftp 192.168.0.5
Connected to 192.168.0.5.
421 Service not available, remote server has closed connection
ftp> quit
[tykim@Solo ~]# su -
Password:
[root@Solo ~]# ftp 127.0.0.1
Connected to 127.0.0.1.
421 Service not available, remote server has closed connection
ftp> quit
[root@Solo ~]# ftp 192.168.0.5
Connected to 192.168.0.5.
421 Service not available, remote server has closed connection
ftp> quit
[root@Solo ~]# ftp 192.168.0.1
Connected to 192.168.0.1.
220 Serv-U FTP-Server v2.5f for WinSock ready...
Name (192.168.0.1:tykim): op
331 User name okay, need password.
Password:
230 User logged in, proceed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye!
[root@Solo ~]#
위에서 보신것처럼 win98(192.168.0.1)에 있는 FTP 서버에는 접속이 잘 되는데 리눅스(192.168.0.5)에는 접속이 안되는군요.. 제 생각에는 FTP 설정쪽의 문제 같습니다.
192.168.0.5에서 192.168.0.1을 외부로 인식하나요? 같은 로컬 네트웍이고, 같은 서브넷안에 있는데.... 또 127.0.0.1도 안되는 걸로 봐서는 방화벽문제는 아니라고 생각됩니다. 성가시게 해드려 죄송합니다.

mshyun의 이미지

혹시 서비스화일에 ftp-data라는것도 열어주셨는지 확인해보시고요
#>ntsysv 를 실행해서
목록에 iptables나 ipchains가 체크가 되어있는지 확인합니다.
체크가 되어있다면 체크를 푸시고 리부팅해보세요.
그게싫으시면
iptables -L 이나 ipchains -L 을 해봅니다.
주루룩 목록이 나오면 그게 현재 설정된 방화벽설정입니다.
한번해보시고 방화벽 설정안돼있으면 다른쪽으로 한번 생각해보겠습니다.

kingkong의 이미지

아직 해결이 안되었습니다. :cry:
services 파일에는

...
ftp-data 20/tcp
ftp 21/tcp
ssh 22/tcp# ssh
ssh 22/udp# ssh
telnet 23/tcp
smtp 25/tcpmail
...
으로 다 열려 있습니다.

방화벽 관련으로 말씀하신 부분은
[root@Solo /etc]# ipchains -L
Chain input (policy ACCEPT):
Chain forward (policy ACCEPT):
Chain output (policy ACCEPT):
[root@Solo /etc]#

다 열려있는거 아닌가요?
다른 명령들(ntsysv, iptables)은 안 먹히더군요.. 제가 잘 몰라서...... :oops:

kingkong의 이미지

해결되었습니다. :D

inetd.conf 에서 사용안하도록 하고
수동으로 proftpd를 실행시켜 주니까 접속이 되는군요.. -_-;;;

[root@Solo ~]# ftp localhost
ftp: connect: Connection refused
ftp> quit
[root@Solo ~]# proftpd
[root@Solo ~]#
[root@Solo ~]# ftp localhost
Connected to localhost.localdomain.
220 ProFTPD 1.2.1 Server (ProFTPD Default Installation) [solo.localdomain]
Name (localhost:tykim):
331 Password required for tykim.
Password:
230 User tykim logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

전에도 이렇게 해본적이 있는데도 몰랐던 이유는

[root@Solo rc.d]# proftpd&
[1] 434
[1] Done proftpd
[root@Solo rc.d]#
이처럼 Done이 나오길래 실행이 안된줄 알고 접속을 시도안해봤던 거 였습니다.. 죄송합니다.

지금까지 안된 그외에 다른 이유는 잘 모르겠지만....
암튼 실행은 됐으니까 그나마 답답하건 조금 나아졌네요.
지금껏 안된 원인은 천천히 찾아보도록 하겠습니다.
여러가지로 도와주셔서 감사합니다.

이석희의 이미지

standalone 으론 정상으로 접속되시는 거죠?

저두 proftpd 를 standalone 으로 사용하고 있어서..한번 수퍼데몬으로

바꿔볼려고 해봤는데..처음엔 님과 똑같은 메시지가 나오더군요...

/etc/proftpd/proftpd.conf 파일을 열어서..

서버타입만..inetd 로 바꿔준후...proftpd.xinetd 파일을 수정하여..

/etc/xinetd.d 디렉토리로 복사후..xinetd 데몬 재시작하니...

정상적으로 되더군요..

암튼 해결하셨다니..그냥 참고만 하시길.!

그럼.

cacolith의 이미지

늦었지만... 알짜 6.2에서 해보니... 잘 되던데요... --;
만약 proftpd 를 실행시켰을 때 만족스러운 결과를 얻으셨다면 /usr/sbin 의 in.proftpd 가 proftpd 로 링크되지 않았기 때문이 아닐까 생각되네요.

제가 해본 알짜 6.2에서 inetd.conf 및 proftpd.conf 입니다.

inetd.conf

Quote:

#
# inetd.conf This file describes the services that will be available
# through the INETD TCP/IP super server. To re-configure
# the running INETD process, edit this file, then send the
# INETD process a SIGHUP signal.
#
# Version: @(#)/etc/inetd.conf 3.10 05/27/93
#
# Authors: Original taken from BSD UNIX 4.3/TAHOE.
# Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
#
# Modified for Debian Linux by Ian A. Murdock <imurdock@shell.portal.com>
#
# Modified for RHS Linux by Marc Ewing <marc@redhat.com>
# Modified for ALZZA Linux by Man-Yong Lee <manyong@gnu.org>
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
# Echo, discard, daytime, and chargen are used primarily for testing.
#
# To re-read this file after changes, just do a 'killall -HUP inetd'
#
#echo stream tcp nowait root internal
#echo dgram udp wait root internal
#discard stream tcp nowait root internal
#discard dgram udp wait root internal
#daytime stream tcp nowait root internal
#daytime dgram udp wait root internal
#chargen stream tcp nowait root internal
#chargen dgram udp wait root internal
#time stream tcp nowait root internal
#time dgram udp wait root internal
#
# These are standard services.
#
#ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a
ftp stream tcp nowait root /usr/sbin/tcpd in.proftpd
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
#
# Shell, login, exec, comsat and talk are BSD protocols.
#
#shell stream tcp nowait root /usr/sbin/tcpd in.rshd
#login stream tcp nowait root /usr/sbin/tcpd in.rlogind
#exec stream tcp nowait root /usr/sbin/tcpd in.rexecd
#comsat dgram udp wait root /usr/sbin/tcpd in.comsat
talk dgram udp wait nobody.tty /usr/sbin/tcpd in.talkd
ntalk dgram udp wait nobody.tty /usr/sbin/tcpd in.ntalkd
#dtalk stream tcp wait nobody.tty /usr/sbin/tcpd in.dtalkd
#
# Pop and imap mail services et al
#
#pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d
#pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
#imap stream tcp nowait root /usr/sbin/tcpd imapd
#
# The Internet UUCP service.
#
#uucp stream tcp nowait uucp /usr/sbin/tcpd /usr/lib/uucp/uucico -l
#
# Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers." Do not uncomment
# this unless you *need* it.
#
#tftp dgram udp wait root /usr/sbin/tcpd in.tftpd
#bootps dgram udp wait root /usr/sbin/tcpd bootpd
#
# Finger, systat and netstat give out user information which may be
# valuable to potential "system crackers." Many sites choose to disable
# some or all of these services to improve security.
#
#finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd
#cfinger stream tcp nowait root /usr/sbin/tcpd in.cfingerd
#systat stream tcp nowait guest /usr/sbin/tcpd /bin/ps -auwwx
#netstat stream tcp nowait guest /usr/sbin/tcpd /bin/netstat -f inet
#
# Authentication
#
# identd is run standalone now
#
#auth stream tcp wait root /usr/sbin/in.identd in.identd -e -o
#
# End of inetd.conf

linuxconf stream tcp wait root /bin/linuxconf linuxconf --http

proftpd.conf

Quote:

# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use. It establishes a single server
# and a single anonymous login. It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName "cacoVM3_Alzza62"
#ServerType standalone
ServerType inetd
DefaultServer on

# Use Pam Module (required /etc/pam.d/ftp)
# please read /usr/doc/proftpd-1.2pre3/mod_pam.c
#
AuthPAMAuthoritative off

# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30

# Set the user and group that the server normally runs at.
User nobody
Group nobody

# To show all filenames including ``dot'' files
LsDefaultOptions "-a"

#
# To allow root login
# be sure to take root out from /etc/ftpusers also :)
#
RootLogin on
#RootLogin off

# Support upload/download ratios
# please read /usr/doc/proftpd-1.2pre3/mod_ratio.c
#
# HostRatio foobar.net 100 10 5 100000

# Normally, we want files to be overwriteable.
<Directory /*>
AllowOverwrite on
</Directory>

# A basic anonymous configuration, no upload directories.
<Anonymous ~ftp>
User ftp
Group ftp
RequireValidShell off

# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp

# Limit the maximum number of anonymous logins
MaxClients 10

# Limit the maximum number per host
# MaxClientsPerHost 1

# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message

# Limit WRITE everywhere in the anonymous chroot
<Limit WRITE>
DenyAll
</Limit>

# Upload directory, allow upload and mkdir and deny download
#
# <Directory incoming>
# <Limit READ>
# DenyALL
# </Limit>
# <Limit STOR MKD>
# AllowALL
# </Limit>
# </Directory>

</Anonymous>

조성현의 이미지

netstat -na 의 결과도 봐보시죠.

0.0.0.0:21 과 20이 열려있는지도 확인하시고요.

제 생각에는 로컬접속이라면 환경설정에 문제가 있는 듯 하네요.

방화벽은 보통 외부에서 내부접속입니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.