Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

윈도우 8.1에서 방화벽과 함께 FTP 서버 여는 방법

당연히, FTP 서버 먼저 설치를 해야겠지요! ^^ 이를 위해 "제어판"의 "Programs and Features"에 가서 "Turn Windows features on or off" 링크를 눌러 다음의 창을 띄우고,

ftp_nat_1.png

그림에서 지정한 대로 "Internet Information Services" 하위의 "FTP Server" / "FTP Service"를 체크하고, 이와 함께 "Web Management Tools" / "IIS Management Console" 항목을 체크해서 설치를 하면 됩니다.

이후, IIS 관리 콘솔에서 FTP를 통해 공유를 원하는 폴더를 선택하고 서비스를 제공할 수 있습니다.




문제는! 방화벽입니다. 물론 방화벽을 끄면 FTP 서비스가 아무런 문제없이 동작하겠지만 요즘 같은 세상에 방화벽을 끄는 것은 여간 찜찜한 일이 아닐 수 없습니다.

그래서 방화벽을 살려둔 상태에서 FTP 서비스를 하려는데, 일단 "Windows Firewall with Advanced Security"에서 FTP Server 관련해 "21번 포트 - FTP Server(FTP Traffic-In)"와 패시브 모드 연결을 위한 "1024-65535 동적 포트를 담당하는 항목 - FTP Server Passive (FTP Passive Traffic-In)"을 활성화하고,

ftp_nat_2.png

다른 컴퓨터에서 접속을 시도해봤지만, 이런 식으로 오류만 발생했습니다.

C:\temp>ftp 192.168.0.22
> ftp: connect :Connection timed out
ftp>

알드라이브 같은 프로그램은 "서버에 연결할 수 없습니다. (Error: couldn't connect to host)"라는 오류 메시지를 냅니다.

이 문제의 해결책을 다음의 글에 달린 덧글을 통해 알 수 있었습니다.

How to Configure Windows Firewall for a Passive Mode FTP Server
; https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd421710(v=ws.10)

Restart of 'Microsoft FTP Service' required for port restriction to take effect


제가 해보니, 'iisreset'으로 해서는 안되고 반드시 "NT 서비스"인 "Microsoft FTP Service"를 (서비스 관리자 등을 통해) 재시작해야만 했습니다.

재미있는 것은, 최초 한번만 이렇게 해주면 그 이후로는 방화벽 규칙을 실시간으로 변경해도 즉각 반영이 됩니다. (즉, 서비스 재시작이 필요없습니다.)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 8/14/2024]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 76  77  78  79  80  81  82  [83]  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
11894정성태5/10/201924480VS.NET IDE: 135. Visual Studio - ML.NET Model Builder 소개 [5]
11893정성태5/10/201920566오류 유형: 535. C# 6.0 이상의 문법을 컴파일 시 오류가 발생한다면?
11892정성태5/10/201920474웹: 38. HTTP Cookie의 expires 시간 형식(RFC7231)
11891정성태5/9/201923610.NET Framework: 831. (번역글) .NET Internals Cookbook Part 12 - Memory structure, attributes, handles
11890정성태5/8/201919253개발 환경 구성: 439. "Visual Studio Enterprise is required to execute the test." 메시지와 관련된 코드 기록
11889정성태5/8/201919291개발 환경 구성: 438. mstest, QTAgent의 로그 파일 설정 방법
11888정성태5/8/201937196.NET Framework: 830. C# - 비동기 호출을 취소하는 CancellationToken의 간단한 예제 코드 [1]파일 다운로드1
11887정성태5/8/201923057.NET Framework: 829. C# - yield 문을 사용할 수 있는 메서드의 조건
11886정성태5/7/201920106오류 유형: 534. mstest.exe 실행 시 "Visual Studio Enterprise is required to execute the test." 오류 [2]
11885정성태5/7/201917586오류 유형: 533. mstest.exe 실행 시 "File extension specified '.loadtest' is not a valid test extension." 오류 발생
11884정성태5/5/201922500.NET Framework: 828. C# DLL에서 Win32 C/C++처럼 dllexport 함수를 제공하는 방법 - 두 번째 이야기
11883정성태5/3/201927503.NET Framework: 827. C# - 인터넷 시간 서버로부터 받은 시간을 윈도우에 적용하는 방법파일 다운로드1
11882정성태5/2/201923951.NET Framework: 826. (번역글) .NET Internals Cookbook Part 11 - Various C# riddles파일 다운로드1
11881정성태4/28/201924068오류 유형: 532. .NET Core 프로젝트로 마이그레이션 시 "CS0579 Duplicate 'System.Reflection.AssemblyCompanyAttribute' attribute" 오류 발생
11880정성태4/25/201919801오류 유형: 531. 이벤트 로그 오류 - Task Scheduling Error: m->NextScheduledSPRetry 1547, m->NextScheduledEvent 1547
11879정성태4/24/201928733.NET Framework: 825. (번역글) .NET Internals Cookbook Part 10 - Threads, Tasks, asynchronous code and others파일 다운로드2
11878정성태4/22/201923988.NET Framework: 824. (번역글) .NET Internals Cookbook Part 9 - Finalizers, queues, card tables and other GC stuff파일 다운로드1
11877정성태4/22/201924188.NET Framework: 823. (번역글) .NET Internals Cookbook Part 8 - C# gotchas파일 다운로드1
11876정성태4/21/201922485.NET Framework: 822. (번역글) .NET Internals Cookbook Part 7 - Word tearing, locking and others파일 다운로드1
11875정성태4/21/201924300오류 유형: 530. Visual Studo에서 .NET Core 프로젝트를 열 때 "One or more errors occurred." 오류 발생
11874정성태4/20/201924323.NET Framework: 821. (번역글) .NET Internals Cookbook Part 6 - Object internals파일 다운로드1
11873정성태4/19/201922987.NET Framework: 820. (번역글) .NET Internals Cookbook Part 5 - Methods, parameters, modifiers파일 다운로드1
11872정성태4/17/201923859.NET Framework: 819. (번역글) .NET Internals Cookbook Part 4 - Type members파일 다운로드1
11871정성태4/16/201921742.NET Framework: 818. (번역글) .NET Internals Cookbook Part 3 - Initialization tricks [3]파일 다운로드1
11870정성태4/16/201920625.NET Framework: 817. Process.Start로 실행한 콘솔 프로그램의 출력 결과를 얻는 방법파일 다운로드1
11869정성태4/15/201926950.NET Framework: 816. (번역글) .NET Internals Cookbook Part 2 - GC-related things [2]파일 다운로드2
... 76  77  78  79  80  81  82  [83]  84  85  86  87  88  89  90  ...