[질문]proftpd 포트변경에 대해..

chxooi의 이미지

/etc/proftpd.conf 에서 port 바꾸고나서 접속했더니,
500 Illegal Port Command 라고 뜹니다.
그런데 이걸 해결하려면 다들 클라이언트에서 passive 모드로 바꾸라고 합니다.

클라이언트에서 바꿀게 아니라, 클라이언트는 안바꾸고 서버에서 포트변경한방에 하게 할 수는 없을까요?
아래 내용첨부합니다. 여러곳에 질문올렸는데 답변이 없네요..
passive 모드가 아닌 그냥 모드로 쓰고 싶은데...왜..왜...왜...안될까요????

proftpd 를 데비안에 설치 했습니다.
그런데, 20 번 포트를 쓰기가 싫어서 2008 번으로 변경했더니
그다음부터는 client 쪽에서 passive 모드로 접속을 해야만 접속이
되더군요...무엇때문인지는 모르겠지만 수정한것은
/etc/proftpd.conf 에포트정보 뿐입니다.
혹시나해서
/etc/service 파일의 포트도 바꿔봤지만 상관없더군요
debian 에서 뭔가가 디폴트로 ftp 를 잡고있는거 같은데
어디서 뭘바꾸면 active 모드로 바꿀 수 있을까요??

=====================
질문 덧붙임
/etc/proftpd.conf 에서 포트번호 21로 되어있는경우

tcp 0 0 61.42.X.X:20 165.X.1.X:1191
TIME_WAIT
tcp 0 0 61.42.X.X:21 165.X.1.X:1189
ESTABLISHED
tcp 0 0 61.42.X.X:20 165.X.1.X:1195
TIME_WAIT
tcp 0 0 61.42.X.X:20 165.X.1.X:1194
TIME_WAIT
tcp 0 0 61.42.X.X:20 165.X.1.X:1193
TIME_WAIT
tcp 0 0 61.42.X.X:20 165.X.1.X:1192
TIME_WAIT
tcp 0 0 61.42.X.X:20 165.X.1.X:1199
TIME_WAIT
tcp 0 0 61.42.X.X:20 165.X.1.X:1198
TIME_WAIT
tcp 0 0 61.42.X.X:20 165.X.1.X:1197
TIME_WAIT
tcp 0 0 61.42.X.X:20 165.X.1.X:1196
TIME_WAIT
tcp 0 24080 61.42.X.X:20 165.X.1.X:1200
ESTABLISHED
tcp 0 2704 61.42.X.X:22 165.X.1.X:32953
ESTABLISHED

/etc/proftpd.conf 에서 포트번호를 2008 로 바꿨을 경우

tcp 0 24156 61.42.X.X:32875 165.X.1.X:1186
ESTABLISHED
tcp 0 0 61.42.X.X:32874 165.X.1.X:1185
TIME_WAIT
tcp 0 0 61.42.X.X:32873 165.X.1.X:1184
TIME_WAIT
tcp 0 1808 61.42.X.X:22 165.X.1.X:32953
ESTABLISHED
tcp 0 0 61.42.X.X:2008 165.X.1.X:1172
ESTABLISHED
tcp 0 0 61.42.X.X:2008 165.X.1.X:1169
ESTABLISHED
tcp 0 0 61.42.X.X:32872 165.X.1.X:1183
TIME_WAIT
tcp 0 0 61.42.X.X:32871 165.X.1.X:1182 TIME_WAIT

debian woody 3.0r2 입니다.
ftp client 프로그램 실행 시킨후 netstat -an 으로 살펴본 결과입니다.
21번 포트의 경우엔, 위와 같이 20번이 체계적으로 열려있는 반면에 2008번으
로 열었을경우엔 passive 모드만 접속이 가능하며, 여러개의 포트가 동시에 열
리는 것이 보입니다.
이거 왜이런건가요?어디를 고쳐야 해결이 될런지요?

20번이 체계적으로 열리는 이유는 어디 있는거죠?
똑같이 다른 포트 하나 지정해서 체계적으로 열리게 하고 싶은데..

답변부탁 드립니다.
passive 모드가 아니라 active 모드로 쓰고 싶으며 2008포트를 이용하고싶은
데 왜 맘대로 열리는걸까요?????쩝쩝...

Saintlinu의 이미지

FTP 규약입니다.

Active mode일 경우는 ftp 표준 포트를 사용합니다.

NAT등의 환경을 고려해서 passive mode까지 사용가능하죠.

C/S 환경에서 통신하고자 한다면 ftp client / server 모두 프로토콜을

직접 수정하셔야 합니다.

왜냐하면 ftp protocol에서 data transfer port가 20으로 이미 알고

TCP session을 연결하기 때문입니다.

행복하세요 ^_^

chxooi의 이미지

그렇다면 일반적으로 포트를 바꾸면 모든 ftp 프로그램은 다 passive 모드로
동작한다는 뜻인가요?
proftpd.conf 에서 포트를 바꾸는것도 그렇고,
vsftpd.conf 에서 바꾸는것도 그렇고,
심지어 윈도우에서 돌아가는 servU 같은 프로그램도 포트를바꾸는걸로알고있는데 이것들은 따로 client 에서 passive 모드 안해줘도 들어가지 않나요?
기본 ftp 프로토콜이 20번인건 이해하겠는데, 서버들이 포트 바꿀때 마다 client 가 모두 passive 는 아니지 않나요?
일반적인 client 프로그램쓰면 다 접속 잘 되던데....passive on 안해도...
약간...궁금..

Saintlinu의 이미지

Quote:
그렇다면 일반적으로 포트를 바꾸면 모든 ftp 프로그램은 다 passive 모드로
동작한다는 뜻인가요?
proftpd.conf 에서 포트를 바꾸는것도 그렇고,
vsftpd.conf 에서 바꾸는것도 그렇고,
심지어 윈도우에서 돌아가는 servU 같은 프로그램도 포트를바꾸는걸로알고있는데 이것들은 따로 client 에서 passive 모드 안해줘도 들어가지 않나요?
기본 ftp 프로토콜이 20번인건 이해하겠는데, 서버들이 포트 바꿀때 마다 client 가 모두 passive 는 아니지 않나요?
일반적인 client 프로그램쓰면 다 접속 잘 되던데....passive on 안해도...

위의 말씀은 연결/제어 포트 21번을 임의의 포트로 변경하셨을 경우인 듯
합니다.

제가 말씀드린건 연결/제어 포트 21번이 아니라 데이터 전송포트 20번을

말씀 드린것입니다. :(

전송포트를 변경하시려면 FTP Protocol을 변경하셔야 한다는 글이었습니다.

행복하세요 ^_^

chxooi의 이미지

연결제어 포트 21번도 알겠고
데이터 포트 20번도 알겠습니다.

궁금한건.
연결제어포트를 21번이 아닌 2008 로 바꾸면 왜 꼭 passive 모드로
접속하여야 하는가 ? 입니다.

passive 모드로 접속을 안하면
500 Illegal Port commad 라고 나온다는겁니다.

서버가 "2008로 연결해라" 라고 말을 했는데 연결을 못시키고 passive 로
꼭 client 에서 바꿔줘야 하니, 사람들은 웹브라우저에서는 인터넷 옵션에가서
플래그 조정해야 하고 client 프로그램은 passive 옵션 켜야하는 번거로움이
생기더군요...
Client 는 Passive 모드로 바꾸지 않고, 포트만 21에서 2008로 바꾸고 싶은게 욕심이네요.

다른데는 이런답변도 없는데 답변주셔서 어쨌든 감사하네요...
혹시 아시면 다시 달아주세요...
그럼. ^^ :shock:

codebank의 이미지

표준을 지키지 않고 다른 방법을 사용할때 겪어야하는 불편함이라고 보시면 되겠네요.

도시를 만들 계획을 세우고 Taxi는 1번길로 다니도록 약속했다고 해보죠.
그리고 대부분의 자동화된 Taxi가 특별한 명령이 없으면 사람들을 1번길로만
통행을 시켜줍니다.
100명이 이 도시에 살고 있고 거의 대부분의 사람들이 Taxi를 이용합니다.
그런데 2~3명은 이 1번길보다는 다른길이 목적지까지 빨리 도착하기때문에
다른 길을 이용합니다.
Taxi는 자동화 되어있기때문에 다른 길을 이용하려면 특별한 명령을 넣어 주어야
합니다.

사실 포트 번호가 Fix된것은 아닙니다. 반드시 그 포트를 사용해야만 한다라는 규정도
없습니다. 다만 이 포트는 이러한 프로토콜을 위해서 예약되었다고만 말합니다.
즉, 관리하는 사람이 해당포트를 다른 용도로 사용해도 누가 뭐라고 하지는 않습니다.
하지만 표준이나 규약이 지정되어 있는 이유는 혼란을 막고자 하기때문입니다.
따라서 chxooi님이 하시고자하는 일은 규약의 예외이고 이런 예외 상황을 사용할때는
직접 프로그램을 작성하지 않는 이상 Client나 브라우져에서의 불편은 감수하셔야
할걸로 생각됩니다.

------------------------------
좋은 하루 되세요.

chxooi의 이미지

너무 너무 감사합니다.
공부를 해야 할게 많이 있음을 매번 느끼면서도 깊이 파질 못하네요...
가볍게 시작한 리눅스 서버 설치가 때로는 벽에 부딫히면서 고민이
많이 되더군요...
어쨌든 너무 감사드리고..행복한 주말 멋진 발렌타인데이 되십시오.
그럼.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.