[질문] 외부에서 특정포트 접근시 리다이렉트...

hezron의 이미지

우디 3.0r1에.. boot:에서 bf24 입력해서
커널 2.4 쓰고있는 초보입니다..

고정ip가 주어지는 전용선 - 리눅스 - 허브 - 로컬컴2대의 환경이구요.

kldp.org 와 구글에서의 외국문서와 여기를 뒤적거려가며
대부분의 서버셋팅을 끝냈는데...

추가로 특별히 설정한 것이 있다면...
dselect에서 xinetd와 ipmasq , vsftpd 등을 깔았네요.

현재 로컬컴에서 인터넷은 이상없이 쓰고 있구요...

근데 기본 21번 ftp포트로 접속했을때에는 리눅스서버에 접속이
잘되는데..

제가 임의로 로컬컴에서 serv-u데몬을 띄우고 5858번 포트로 지정했거든요.

기본 ipmasq 설정에다가 추가로

iptables -t nat PREROUTING -i eth0 -p tcp --dport 5858 -j \
DNAT --to 192.168.1.2
iptables -A INPUT -i eth1 -p tcp --dport 5858 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 5858 -j ACCEPT

라고 입력해주었습니다.
(eth0-외부, eth1-내부, 192.168.1.2는 serv-u를 돌리는 로컬컴)

그리고 xinetd.conf 에다가
service 5858
{
disable = no
flags = REUSE
socket_type = stream
protocol = tcp
wait = no
user = root
port = 5858
redirect = 192.168.1.2 5858
}
라고 써줬구요.

그랬더니 제 로컬컴으로 접속은 되는데, list를 요청하면 끊어지네요.
serv-u 로그에는...

[5] Sun 30Mar03 18:54:25 - (000011) Connected to 192.168.1.1 (Local
address 192.168.1.2)
[5] Sun 30Mar03 18:54:25 - (000011) User HEZRON logged in
[5] Sun 30Mar03 18:54:26 - (000011) Closing connection for user HEZRON
(00:00:01 connected)

라고 나오구요,

제 ftp클라이언트에는...
ftp> ls
530 Only client IP address allowed for PORT command.
150 Opening ASCII mode data connection for /bin/ls.
라고 나옵니다.

내부 아이피인 192.168.1.2 로 로컬컴B에서 접속하면
접속이 잘 됩니다.

무엇이 문제일까요? ㅡ.ㅜ

arwace의 이미지

ftp 프로토콜은 접속당 두개의 연결을 가집니다.
하나가 위에서 연결 되었다고 하시는 제어 접속이고 나머지 하나는 데이터 전송을 위한 데이터 접속입니다.
컨트롤 접속은 기본적으로 서버가 리슨 하고 있는 포트에 대해 클라이언트가 서버에 연결을 하게 되므로 리디렉션만 되어 있다면 잘 연결됩니다.
나머지 하나인 데이터 포트는 두가지 방식으로 연결이 되는데..
디폴트는 서버가 클라이언트에 연결을 하는 방식이고 나머지 하나는 제어 접속처럼 클라이언트가 서버에 접속을 하는 방식입니다.
두번째 방식을 패시브(PASV) 접속이라고 합니다.
PASV 접속이 만들어진 이유는 NAT 또는 방화벽 때문에 클라이언트가 외부에 대해 포트를 가질 수 없는 경우가 많아지면서 ftp를 사용할 수 없는 경우가 늘어나면서 부터입니다.

님의 경우에는 클라이언트가 PASV 방식으로 접속을 했거나..
또는 클라이언트가 PASV방식으로 접속하지 않았지만 클라이언트가 방화벽 뒤에 있거나 NAT 방식을 사용하고 있어서 외부에서 접속하지 않는 경우 두가지 중의 하나입니다.
이 두가지 경우 모두 서버와 연결이 이루어지지 않습니다.
해결 방법은 리눅스 서버에 ftp서버를 오픈하고 로컬 파일을 smbmount 하시거나 로컬 컴에서 data 용으로 할당할 포트 대역을 미리 지정해 두고 그 포트를 모두 리디렉션하셔야 할 겁니다.

댓글 달기

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