2003 서버에서 FTP 포트변경하기... Passive Mode > server

본문 바로가기
사이트 내 전체검색

server

2003 서버에서 FTP 포트변경하기... Passive Mode

페이지 정보

작성자 서방님 댓글 5건 조회 190회 작성일 09-08-28 16:29

본문

2003 설치했다. 포트 변경했다가.. 안돼서 ..고민한적이 있나요??

나처럼 고생할 사람들을 위해 글로 남겼다.

 

요즘은 2003 서버 서비스 팩 덕에.. .방화벽이 기본으로... 들어 있다.

당연히 방화벽은 올려야 된다..

 

그런데 FTP 를 기본 21이 아닌 다른 포토로 변경했을때 ... .문제가 발생한다...

리얼IP면 상관 없지만 사설일경우에 문제가 생긴다...

사설이라 들어오는 포트가 차단되다 보니 서버와 FTP 통신이 안된다.

 

 

이럴때 사용되는것이 Passive 모드 통신이다.

하지만 기본적으로 서버가 지정한 랜덤 패시브 포트 역시.... 방화벽에 의해 기본 차단되어 있다....

 

아주 낭패다.....

 

이럴때 해결법은 서버에서 Passive 모드에 대한 셋팅을 지정하고 방화벽 또한 맞추어준다.

 

 

1> 메타베이스를 수정한다.

    메타 수정도 2가지 방법이 있다.

 

     2가지 방법은 MS사이트에 소개돼 있다.

 

http://support.microsoft.com/kb/555022

 

a) To Enable Direct Metabase Edit
1. Open the IIS Microsoft Management Console (MMC).
2. Right-click on the Local Computer node.
3. Select Properties.
4. Make sure the Enable Direct Metabase Edit checkbox is checked.

 
b) Configure PassivePortRange via ADSUTIL script
1. Click Start, click Run, type cmd, and then click OK.
2. Type cd Inetpub\AdminScripts and then press ENTER.
3. Type the following command from a command prompt.
    adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5700"
4. Restart the FTP service.

한글로 설명하자면 IIS관리창의 서버에서 속성->메타베이스 직접편집 허용을 체크한후

C:\WINDOWS\system32\inetsrv\metabase.xml   파일을 열어서

<IISFtpService> 부분을 찾어서 

 PassivePortRange="5001-5011"      <= 를 추가한다.   (사이에공란이 없도록)

위줄을 추가한후 저장. IIS 를 재시작 한다.

이때 방화벽에서 포트 하나 하나 열어야 되므로 범위를 좁게 잡자...... 난 11개 열었다....

 

그리고 ADSUTIL 을 이용한 방법은..
Adsutil.vbs set /MSFTPSVC/PassivePortRange "5001-5011"

 

 

 

 

2> 방화벽을 포트를 연다.

  

    패시브 포트로 연 포트들을 방화벽에서 하나하나 등록해야 된다....

 

 

 

 

위 작업을 간단히

배치파일로 처리가 가능하다.

 

 

================= PassivePort.bat ======

Echo OFF

ECHO ADDING PORT RANGE TO IIS
CScript.Exe C:\Inetpub\AdminScripts\adsutil.vbs set /MSFTPSVC/PassivePortRange "5001-5011"

ECHO OPENING FIREWALL PORTS
FOR /L %%I IN (5001,1,5011) DO NETSH FIREWALL ADD PORTOPENING TCP %%I 패시브FTP%%I

iisreset

ECHO FINISHED
Pause

=========================================

위 내용부분을 서버에서 bat  파일로 저장후에 실행하자..... 간단히 해결된다....

 

 

 

 

참고한사이트들..  (참고라기보단 긁거온거에 가까운가...)

http://support.microsoft.com/kb/555022
http://www.dervishmoose.com/blog/index.cfm/2008/9/2/Windows-2003-Server-FTP-and-Firewall-Passive-port-range-tweak

http://clintm.esria.com/2006/11/20/configuring-windows-2003-firewall-and-iis-6-for-pasv-ftp-port-range/
http://cafe.naver.com/younetwork.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=286

 

 

 

 

PassivePortRange는 5001이상 부터 사용이 가능합니다.
서버에 Windows방화벽을 사용하면서 Passive포트의 구간을 정해서 사용하려면 위에서 설정한 구간의 포트값들을 Windows방화벽의 예외 부분에 포트값으로 추가해줘야합니다. (20개 구간이라면 20번작업)
* 고급란에서 따로 더 추가해 주는 부분이 있는데, 이분에 FTP서버를 설정해버리면 예외부분과 중복이 되서...Passive모드 정상동작이 안됩니다. *

 

 

덧붙이자면,
서버가 방화벽을 사용 중이라면 클라이언트가 private IP일 경우엔 연결이 안됩니다.(20/21 포트 외 다른 포트를 사용할 때)

댓글목록

TIger님의 댓글

TIger 작성일

<p>안녕하세요.</p>
<p>네트워크에 관심이 많은 대학생 입니다.</p>
<p>&nbsp;</p>
<p>다름이 아니라 이번에 FTP서버 구축을 하였는데 문제가 발생하였습니다.</p>
<p>집의 네트웍 구성은 공유기와 스위치 입니다.</p>
<p>FTP서버의 포트가 21,21이 아닌 어떤 포트이던간에 내부네트웍에서는 접속이 잘 됩니다.</p>
<p>하지만 FTP서버 포트를 21이아닌 다른 포트로 설정하고 포트포워딩 후 외부에서 접속하면</p>
<p>접속은 되지만 아무런 디렉토리도 나타나지 않습니다. 포트를 21로 해서 포워딩 하면 외부에서 접속해도</p>
<p>잘되구요...</p>
<p>윈도우 방화벽은 사용하지 않고있고 접속시에는 내,외부 네트워크 어디서든 항상 패시브 모드로 접속합니다.</p>
<p>이번 현상때문에 액티브 모드로도 접속은 해보았으나 안되더군요.</p>
<p>도데체 왜이럴까요 ㅜ 도움 부탁드립니다.</p>

Tiger님의 댓글

Tiger 작성일

<p>문제가 바뀌었습니다.ㅜ</p>
<p>위의 상태에서 FTP서버의 포트를 21이아닌 다른것으로 변경한 뒤 포트포워딩하고</p>
<p>클라이언트에서 접속할때 패스브에 체크안하고 액티브로 접속하니 되내요...</p>
<p>왜 이러죠 액티브는 20,21번 쓰는거 아닌가요? 포트는 다른 번호인대 왜 엑티브로 들가야 보일까요..</p>

TIger님의 댓글

TIger 작성일

<p>이제 정확히 증상 파악했습니다.</p>
<p>현재 FTP서버 포트 1111으로 되어있고 포트포워딩 상태입니다</p>
<p>내부 내트웍에서는 액태브, 패시브 어떤걸로 접속해도 다 정상적으로 동작하고.</p>
<p>외부에서는 액티브로 접속하면 정상이고 패시브로 접속하면 디렉토리가 뜨지 않내요..</p>
<p>정상인지 모르겠습니다</p>

Tiger님의 댓글

Tiger 작성일

<p>아 또 문제가 환영 메세지가 첫줄밖에 나오지 않내요.</p>
<p>첫번째 줄에 쓰인 환영 메시지만 나오내요</p>

Total 356건 20 페이지
게시물 검색

회원로그인

접속자집계

오늘
135
어제
225
최대
1,347
전체
154,894
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.