Mac, Linux 사용자들과 함께 사용할 수 있는 웹하드 만들기
JAVA 플랫폼은 윈도우, 맥, 리눅스, 솔라리스를 지원하므로,
JAVA기반 웹FTP는 그동안 한국에서 ActiveX방식의 웹하드를 사용하지 못했던 맥, 리눅스 사용자에게도 이제는 윈도우사용자와 동등한 기회를 누릴 수 있게 되었습니다.
특히 Mac(OS X)의 경우, 따로 설치할 필요없이 Apple의 '소프트웨어 업데이트' 기능을 통해서 이미 JAVA가 설치되어 있을 확률이 높습니다. 바로 접속가능하다는 뜻이 되겠죠.
관리를 하는 입장에서는 웹FTP를 웹서버에 설치해 놓고, 단순히 NAS의 사용자와 공유폴더 권한설정만 신경을 쓰면 됩니다.
사용자들이 웹FTP를 통해서 접속을 하면 그것은 FTP환경이므로 모든 권한설정은 NAS의 시스템 설정을 따라가게 됩니다.
》장점《
1. 관리자는 단 한번의 설치로 OS의 종류에 상관없이 모든 회원에게 자료실 제공이 가능하다.
2. 관리자는 각각의 OS별로 신경쓸 필요 없이 하나의 웹FTP 모듈만 유지관리해주면 된다.
3. 관리자는 모든 권한 설정을 NAS의 계정 및 공유폴더 관리를 통해서 가능하므로,
기성웹하드처럼 내부접속과 외부접속을 나눠서 2중으로 관리할 필요가 없다.
4. 사용자는 외부네트워크에서는 윈도우, 맥, 리눅스, 솔라리스 중에서 하나만 쓴다면
웹FTP로 웹하드 접속이 가능하다.
5. 사용자는 내부네트워크에서는 SMB(네트워크드라이브 for 윈도우 or 맥), AFP(맥), NFS(리눅스) 등을
통해서 NAS에 보다 쉽게 접근해서 작업이 가능하다.
》적용예시《
1. 출판사나 광고사에서 맥으로 작업한 파일을 모으거나 배포할 때
2. 윈도우만큼 맥의 비중이 높은 미국의 대학과 자료교환이 필요할 때
3. 리눅스나 솔라리스를 쓸 수 밖에 없는 작업환경에서 편리한 자료교환이 필요할 때
》여담《
만약 웹FTP 모듈을 웹게시판 모듈의 일부로 넣는다면 보안은 한층 강화될 수 있습니다.
왜냐하면 비록 웹FTP 모듈의 주소가 남아있더라도, log out 후에 그 주소로 접근한다면 그 페이지 자체가 인증을 요구할 것이기 때문입니다.
》참고글《
> 웹FTP(웹하드+FTP) - ⑴ 웹하드와 FTP의 절묘한 만남
|
→ ⑴ 웹하드와 FTP의 절묘한 만남 |
웹하드와 FTP의 절묘한 만남, 웹FTP
웹하드의 편리함과 FTP의 막강한 기능이 만났습니다.
웹하드는 웹브라우저 상에서 주소만 입력함으로써 파일을 전송시킬 수 있는 편리함이 있는 반면,
특정 웹브라우저만 지원한다거나 임대나 구매 등에 많은 비용이 들어가는 등의 문제가 있어왔습니다.
FTP는 인터넷 표준 전송프로토콜로 다양한 보안옵션과 태생적인 전송능력으로 막강한 기능을 자랑하지만,
FTP 클라이언트 프로그램(파일질라, 알FTP 등)을 PC에 설치해야하는 불편한 점이 있습니다.
웹FTP는 웹하드와 FTP의 장점을 어울어서 편리하면서도 다양한 기능을 구사할 수 있습니다.
》이 글타래의 목적《
1. 저사양의 NAS에서도 부담없이 돌아가는 웹하드의 구현
2. 비영리목적인 경우, 무료로 사용할 수 있는 웹하드의 구현
3. 복잡하지 않고 편리한 FTP접속
4. 용량제한 없는 파일전송
5. 웹보드나 NAS의 계정과 연동함으로써 사용자의 편의성 극대화
》Test Drive《
각설하고, 일단은 Test Drive를 해본 후 이 글을 이어갈까 합니다.
제가 사용중이고 소개를 드리려고 하는 웹FTP 클라이언트는 JSCAPE사(http://www.jscape.com/)의
Secure FTP Applet(http://www.jscape.com/sftpapplet/index.html )입니다.
Lite버전의 경우, 이 프로그램은 비영리목적으로 사용하는 경우와 제품의 평가가 목적이라면
아무런 제약없이 쓰실 수 있습니다.
만약 상업적인 목적으로 사용하거나, '평가판'이라는 글자가 없는 정식버전이 필요한 경우는
라이센스를 구매해야함.
또한, Lite버전은 실행시 '평가판'이라는 글자가 들어가지만 정식버전의 모든 기능을 다 사용할 수 있음.
완벽한 프로그램은 아니지만 원하는 대부분의 기능을 구현가능하고 성능 또한 크게 나쁘지 않습니다.
일반Client형 웹FTP : http://WebFTP.KR/
완전자동Login 웹FTP : 테스트가 종료되었습니다.
이 홈페이지의 웹FTP클라이언트를 통해서 자신의 서버에 한번 접속해보시기 바랍니다.
이 Applet이 설치된 이후에는 어떤 정보나 자료(서버정보나 계정정보)도 WebFTP.KR 홈페이지로 전송이 되지 않고,
이 Applet은 회원님의 서버와 직접 통신을 하게 되므로 안심하고 쓰셔도 됩니다.
만약 사용중이신 컴퓨터에 JAVA가 설치되어 있지 않으시다면
'Java, Get it now'를 클릭해서 JAVA 플랫폼을 설치하시면 됩니다.
단, 설치과정중에 혹시 'Bing 툴바' 설치를 권유하는 부분이 있다면 체크를 지우시고 진행하십시오.
툴바나 ActiveX는 인터넷과 컴퓨터의 속도를 저하시킬 수 있으므로 개인적으로 추천하지 않습니다.
JAVA 플랫폼 설치 후에 [새로고침] 버튼을 누르시면 WebFTP.KR이 정상적으로 로딩될 것입니다.
》웹FTP의 장점《
1. 임대해서 쓰는 상용웹하드는 임대비용이 들고,
3rd party에서 제공하는 NAS용 상용웹하드는 구입비용이 들지만
웹FTP의 경우 특정한 조건(대부분의 경우 비영리인 경우)에서 무료로 사용할 수 있다.
2. 임대해서 쓰는 상용웹하드는
회사나 학교 내부에서도 웹하드로 접속해서 자료를 올리고 내리면서 작업해야 하는 반면
내부 네트워크에 설치해서 이용하는 웹FTP의 서버는
내부에서는 네트워크드라이브로 편리하게 작업이 가능하다.
3. 3rd party에서 제공하는 NAS용 상용웹하드는
독자적인 사용자관리를 하므로 NAS의 기능과 연동하기 어려우나
웹FTP는 NAS 자체의 FTP기능을 이용하므로, NAS의 사용자 권한설정은 웹FTP에도 바로 적용됨
4. 3rd party에서 제공하는 NAS용 상용웹하드는
웹하드와 네트워크드라이브의 자료 연동이 어렵거나 안되는 것이 비해서,
웹FTP는 NAS 자체의 FTP기능을 이용하므로,
네트워크드라이브와 웹FTP의 서버내 저장공간이 동일하고 직접 연동됨.
5. 3rd party에서 제공하는 NAS용 상용웹하드는
자체웹하드서버의 원활한 구동을 위해서 고급형 NAS가 필요한 경우가 많으나
웹FTP는
가장 가벼운 표준 전송 프로토콜인 FTP를 이용하므로 동급성능을 위해서 저사양의 NAS로도 가능함.
6. 웹FTP는 가장 가벼운 표준 전송 프로토콜인 FTP를 이용하므로
저사양의 NAS에서도 해당NAS의 최고 성능을 제공한다.
7. 웹FTP는 웹하드 수준 혹은 그 이상의 편리한 접속방법을 제공한다.
8. 웹FTP는 전송용량의 제한이 없다.
9. 웹FTP는 OS나 웹브라우저의 특성을 적게 받는다.
》웹FTP의 단점《
1. 해당 웹FTP클라이언트가 지원하지 못하는 OS에서는 사용하지 못합니다.
JAVA 플랫폼의 경우에는 거의 대부분의 OS를 지원합니다.
2. JAVA기반의 웹FTP클라이언트의 경우,
저사양PC에서 200Mbps 이상의 속도로 전송시 CPU점유률이 상당히 높아질 수 있습니다.
100Mbps 이하에서는 크게 무리가 없었습니다.
3. 웹FTP클라이언트는 각 OS의 전용 FTP클라이언트와 비교해서 성능이 비슷하거나 낮을 수 있습니다.
만약 극한의 전송속도를 원하시는 경우에는 전용 FTP클라이언트를 설치하시는 것을 추천합니다.
》웹FTP를 구현하기 위한 최소사양《
FTP서버의 지원은, 당연한 이야기지만, 필수입니다.
웹서버의 지원은 선택사양입니다만, 있다면 설치 및 관리가 편리합니다.
웹서버가 없는 경우에는도, 범용 웹FTP클라이언트(WebFTP.kr 등)를 이용하거나,
다른 웹서버에서 전용 웹FTP클라이언트의 구축이 가능합니다.
》웹FTP 설치방식《
웹FTP에는 ActiveX방식과 JAVA방식이 있습니다.
저는 개인적으로 ActiveX를 싫어하는 관계로 JAVA방식의 웹FTP 프로그램을 선호합니다.
JAVA는 Flash만큼 대중적인 웹기반플랫폼으로 JAVA만으로 돌아가는 장치들도 있을 정도입니다.
대기업컴퓨터의 경우 깔려서 나오는 경우도 많습니다.
만약에 설치가 되지 않은 상황이라도 간단하게 몇번의 클릭만으로도 설치가 가능합니다.
Case별로 웹FTP의 활용방법을 살펴보고, 내부네트워크에서 측정한 성능을 살펴봅니다.
→ ⑵ 활용방법 및 성능테스트
|
⑴ 웹하드와 FTP의 절묘한 만남 |
》활용방법《
각 공유폴더에 대한 접근권한은 네트워크드라이브든지 FTP든지 웹FTP든지 내장웹하드든지
NAS 내부의 권한설정을 그대로 따라갑니다.
따라서 NAS의 권한설정 하나만으로 모든 접근방식에 대한 일괄적인 관리가 가능합니다.
만약 보안전송이 필요하다면 FTPS나 SFTP 등 보안FTP전송방식을 통해서
전송과정 중 생길 수 있는 계정 유출이나 자료 유출을 차단할 수 있습니다.
단, 빠르고 다수의 보안전송을 지원하기 위해서는 성능이 좋은 NAS를 설치하시는 것을 추천합니다.
(1) 회사나 학교에서 업무용 및 작업용
내부구성원은 회사나 학교 내부에서는 네트워크드라이브로 접속해서 사용하고,
외부에서는 FTP나 웹FTP로 접속해서 파일을 올리고 내릴 수 있습니다.
웹FTP는 접속방법이 웹하드만큼 편리하면서 전송능력이 FTP만큼 강력합니다.
회사의 고객이나 거래처에 NAS계정을 각각 할당하고 공유폴더로 공용자료를 전송가능하게 설정하고
개인폴더에 자사의 자료를 올리거나 내려갈수 있도록 설정하실 수 있습니다.
NAS 관리자는 각각의 개인폴더에 접근가능해서 자료를 필요한 부서의 폴더로 복사할 수 있습니다.
모든 접속방식이 NAS 계정, 그룹 및 공유폴더 권한설정으로 일괄 관리가 가능합니다.
내부와 외부에서 동일한 공유폴더 내용과 권한설정이 웹FTP의 장점이 됩니다.
중요한 자료라면 보안전송을 통해서 해킹으로 부터 자료를 보호하시기 바랍니다.
다시 한번 말씀드립니다만, 영리목적으로 사용하신다면 반드시 라이센스를 구입하셔야 합니다.
서버 한대당 약 $500정도입니다.
비영리목적이라면 '평가판'이라는 글자가 뜨지만 모든 기능을 제약없이 쓰실 수 있습니다.
(2) 개인의 파일 공유서버
유료웹하드에서는 누릴 수 없는 무한한 공간의 자료를 편리하게 공유하시기 바랍니다.
또한 집밖에서 NAS의 자료에 간편한 방법으로 접근하시기 바랍니다.
회원님의 자료를 필요로 하는 친구나 동료분들께 웹FTP를 통해서
편리하고도 강력한 전송환경을 제공하시기 바랍니다.
또한 회원님은 집에서 네트워크드라이브를 통해서 편리하게 자료정리를 할 수 있으므로 편리합니다.
친구들과 동료들의 접근권한 및 접근영역 제한은 NAS의 권한설정으로 편리하게 관리가 가능합니다.
》전송속도《
현재 제가 있는 곳이 한국 내의 전송속도를 측정해볼 수 없어서, 내부전송속도 측정한 값을 올립니다.
그리고, 제가 테스트한 컴퓨터들이 사양이 낮은 제품들이라 고속전송에서 JAVA의 CPU 부하로 인해 속도가 제한적입니다.
네트워크 토폴로지도 조금 복잡하게 구성되어서 최상의 네트워크 성능을 기대하기는 어렵습니다.
참고자료로만 이해해 주십시오.
(1) DS-106e(PPC 266MHz) ↔ 듀얼아톰 1.6GHz(D510) on 100Mbps회선
파일크기 : 8.73 GB (9,384,067,305 Byte)
Upload : 23분45초 6.28MB/s
Download : 13분25초 11.12MB/s
→ 업로드의 속도저하는 DS-106e의 성능때문인지 웹FTP의 성능때문인지 정확히 확인이 어려움
(2) DS-1010+(AtomD510 1.6GHzX2) ↔ P4 2.8GHz(Prescrott) on 1Gbps회선(MTU 9000)
파일크기 : 2.74 GB (2,939,627,520 Byte)
Upload : 너무 느림, 55KB/s 전후
Download : 2분19초 20.2MB/s
→ JAVA나 sftpapplet이 JumboFrame 9K 설정을 제대로 인식하지 못하는 것으로 판단됨
고속전송(20MB/s 다운로드)시 JAVA플랫폼의 CPU점유률이 100%정도로 상당함.
더 좋은 PC로 테스트했다면 속도가 더 나올듯
(3) DS-1010+(AtomD510 1.6GHzX2) ↔ P4 2.8GHz(Prescrott) on 1Gbps회선(MTU 1500)
파일크기 : 12.82 GB (13,760,046,728 Byte)
Upload : 16분10초 13.53MB/s
Download : 13분04초 16.74MB/s
→ JumboFrame설정을 끄고나서 업로드속도가 어느정도 나옴
이제는 Secure FTP Applet을 실제 NAS에 적용해본 결과를 살펴보겠습니다.
→ ⑶ 적용예시 : Synology DS108j
|
⑴ 웹하드와 FTP의 절묘한 만남 |
이번 글에서는 웹FTP를 보급형NAS인 Synology DS108j에 실제 적용해보겠습니다.
(참고로 DS108j는 PPC 200MHz 32MB입니다.)
DS108j에서는 아래의 방법을 통해서 외부와 파일을 전송하는 것이 가능합니다.
> 웹FTP - 일반 웹하드처럼 특정페이지에 접속만으로 편리하게 파일전송을 가능하게 해줌
> 일반FTP - 파일질라나 알FTP같은 일반 FTP 클라이언트를 컴퓨터에 설치하여서 파일전송
> FileStation - DiskStation의 내장웹하드인 FileStation을 통해서 파일전송
> FileStation의 Link - 계정이 있는 사람들에게, 메일이나 웹보드를 통한 대량배포시 사용
> isul님의 EzLink - 계정이 없는 사람들에게, 메일이나 웹보드를 통한 대량배포시 사용
DS 한대에 모두 다 설치해서 모든 것을 다 보여드리고 싶지만, 일련의 글타래들이 웹FTP에 관한 내용들이고
또한 제가 이 글타래를 준비한 이유중의 하나가 저사양의 NAS에서도
기성 웹하드 못지 않은 편리한 전송방법을 사용할 수 있음을 말씀드리는 것에 중점을 두고 싶습니다.
다른 전송방법에 관한 글은 검색을 통해서 어렵지 않게 찾아보실 수 있을겁니다.
|
|
제가 설치해놓은 DS108j를 웹FTP로 접속하는 방법은 3가지입니다.
[1] 일반 FTP 클라이언트처럼 접속하기
웹FTP를 일반 FTP 클라이언트처럼 서버주소, ID, Password를 모두 직접 입력하여 접속하는 방법입니다.
가장 기초적인 웹FTP방식으로, 구현하는 방법이 가장 쉬운 반면 접속자들의 편의도는 가장 낮습니다.
[2] 서버주소와 ID는 미리 입력되어 있고, Password만 입력으로 바로 접속하기
웹FTP 접속시 암호를 제외한 다른 모든 정보를 미리 설정해놓는 경우,
사용자는 Password만 혹은 ID와 Password만 입력함으로써
사용자의 입력을 최소화해서 좀더 편리하게 접속이 가능합니다.
일반웹하드 정도나 그 이상의 편리한 접속을 예상할 수 있습니다.
또한 웹보드에서 연결되는 웹하드를 추구하신다면, 이런 방법이 도움이 될 수 있습니다.
[3] 원클릭으로 완전 자동접속하기
단순히 웹FTP 링크를 누르는 것만으로 완전자동로그인이 되도록 하는 것이 가능합니다.
사용자의 입장에서는 가장 편리한 방법이 되겠지만, 보안상으로는 가장 취약한 나쁜 방법이 됩니다.
따라서 이런 방식을 구현하고자 한다면, 보안이 된 영역 안에 웹FTP를 구축하거나
특별한 접근경로설정 후 e-mail로 주소 발송 등을 통해
다른 사람들에게 공개되지 않는 방법으로 제공하실 것을 추천합니다.
또한 이런 방식의 경우, 웹보드와 계정 연동이 가능한 NAS에서는
웹보드 로그인 후 직접연결가능한 웹FTP링크를 붙여주는 방식도 가능합니다.
이런 세가지 방법은 다음 글인 '설치, 설정, 보안'에서 설명드리는 설정방법을 조합하기만 하신다면
어렵지 않게 구현하실 수 있습니다.
또한 설정방법의 조합으로 더 다양한 방법의 제공이 가능합니다.
참고로...
제 DS108j는 LG가정용인터넷에 연결되어 있으므로,
LG쓰시는 분들이 속도가 가장 잘 나오고, KT가 그다음, SK가 가장 느리게 나올 확률이 높습니다.
또한, 이 회선에는 저희집에 있는 모든 서버들와 PC들이 연결되어 지속적으로 회선을 사용중입니다.
그리고 DS108j는 PPC 200MHz라서 성능도 뛰어나지 못합니다.
따라서 제 DS108j와의 전송속도로 웹FTP의 성능으로 이해하시면 곤란하다는 말씀입니다.
다만, 이런식의 접속이 가능하다는 정도로만 이해해 주시고, 실제 전송속도는 IDC에 있는 서버와 연결해보시기 바랍니다.
만약 회원님의 NAS나 서버에서는 어느 정도의 속도가 나오는지 궁금하시다면,
http://www.webftp.kr/ 에서 회원님의 서버로 접속하신 후 전송테스트을 해보시기 바랍니다.
참고로, 웹FTP 사이트에 접속하시면, 접속프로그램만 받아서 설치할 뿐 어떠한 전송내용도 웹FTP사이트에 남지 않으므로 데이터 유출에 대한 걱정은 하지 않으셔도 됩니다.
제 서버의 time out은 300초(5분)입니다.
아무 작동 없이 5분이 지나는 경우에는, 비록 applet상으로 연결되어있는 것으로 보이나, 실제로는 접속이 끊어집니다.
이런 경우 어떤 작동을 시도하면 아래의 에러메시지가 뜹니다.
이 웹FTP Applet을 설치하는 방법과 보안관련이슈를 살펴봅니다.
→ ⑷ 설치, 설정, 보안 및 맺는말
|
⑴ 웹하드와 FTP의 절묘한 만남 |
》설치《
http://www.jscape.com/sftpapplet/ 에서 가장 최신버전의 Secure FTP Applet을 다운로드하시기 바랍니다.
이 글에 첨부된 Secure FTP Applet은 ver. 6.4입니다.
압축을 풀어서 웹서버 폴더에 넣기만 하면 기본설치는 완료됩니다.
(물론 웹서버 root의 아래에 서브디렉토리를 만들어서 넣으시는 것도 가능합니다.)
웹보드에 웹FTP를 연동시키기 위해서는 일단 웹보드의 계정정보추출방법을 확인하신 후
Secure FTP Applet의 설명서에서 스크립트부분을 참고하신다면 연동이 가능하실 것으로 판단됩니다.
굳이 스크립트가 아니라도 PHP로 어렵지 않게 짤 수 있는 부분이구요.
Case by case인 상황이라 이 글에서 모두 다 설명을 드리지 못함을 이해해 주십시오.
또한, 보안상의 이유로 NAS의 계정정보는 추출하기 어려운 경우가 많습니다.
따라서 NAS와 웹보드의 연동이 불가능하다면, 웹보드와 웹FTP의 연동 또한 제한적일 수밖에 없습니다.
》설정《
index파일의 object와 embed 테그를 통해서 설정하거나, params.txt를 수정해서 설정가능합니다.
전자보다 후자의 경우가 설정이 편하고 좀 더 보안성이 높으므로, params.txt를 통한 설정을 살펴봅니다.
다음은 http://ds108j.homeserver.kr/ 에서 설정된 params.txt을 조금 수정하였습니다.
첨부된 params.txt를 다운로드하셔서 수정 후 사용하실 수 있습니다.
|
|
만약 특정서버주소를 지정한 후 사용자가 수정하지 못하게 하여 전용접속툴로 만들고 싶으시다면,
enableHost를 false로 설정하시면 됩니다.
서버주소, ID, Password를 지정한 후 완전자동으로 접속가능하게 만들고 싶으시다면,
autoConnect를 true로 설정하시면 됩니다.
만약 한가지의 정보라도 틀리다면 자동접속은 되지 않습니다.
더 자세한 설정방법에 관해서는 http://www.jscape.com/sftpapplet/docs/HTML/를 참고하십시오.
》보안《
params.txt에서 username, password를 비워둠으로써 일반 웹하드 수준의 보안으로 설정할 수 있습니다.
hostname, username, password를 비워둔다면, 일반 FTP Client수준의 보안으로 설정할 수 있습니다.
모든 정보를 미리 입력해놓고 완전자동접속을 설정하는 경우, 이 웹FTP의 구조를 아는 사람은
자동접속에 사용한 아이디와 비밀번호의 추출을 시도할 수 있다.
이런 경우, 자동접속이 가능한 웹FTP 자체를 보안이 설정된 구역속에 포함시키거나
접속설정파일에서 비밀번호를 암호화시키는 방법을 이용하면 원래 비밀번호가 노출되지 않는 방법이 가능합니다.
이 웹FTP applet으로 파일서버에 접속할 때, 이 Applet이 실행되고나면 더 이상 Applet을 제공한 웹서버와는 데이터전송이 없습니다. 그 이후는 오직 이 Applet과 파일서버 사이에만 접속이 이루어집니다.
다시 설명드리면, Applet을 제공한 웹서버로는 어떤 정보도 흘러나가는 것이 없습니다.
안심하고 쓰셔도 됩니다.
추가적인 보안절차로 index파일에 인증과정을 넣거나, .htaccess를 통해서 폴더자체에 인증요구를 할 수 있습니다.
》맺는말《
제가 웹FTP에 대한 예제로 설명드린 JSCAPE사의 Secure FTP Applet은 다양한 웹FTP Client 프로그램들 중에서 하나에 지나지 않습니다.
인터넷을 찾아보시면 더 편리하고 더 안정적이면서 더 적합한 프로그램들이 많이 있습니다.
이 웹FTP 프로그램이 여러분 서버를 이용하시는 분들에게 편리한 접속방법을 제공하기를 바라지만,
진정으로 최고의 성능을 내기 위해서는 해당OS에 직접 FTP Client를 설치하시라는 말씀도 해드리고 싶습니다.
제가 개인적으로 FTP전송을 좋아하고 많은 분들께 편리한 접속방식을 위해서 이 프로그램을 설명드리만,
최상의 성능을 내기 위해서는 해당OS에 직접 설치되는 FTP Client만한 것이 없기 때문입니다.
웹FTP에 대한 소개를 통해서, 서버와 NAS 운영자들이 좀 더 유연하면서도 편리한 데이터전송방법에 대한 안목을 넓히실 수 있기를 바라는 마음으로 이 글타래를 매듭짓고자 합니다.
부족한 글솜씨로 적은 제 포스트를 읽어주셔서 정말 고맙습니다.
꼬로록...
⒪ 서론
|
→ ⒪ 서론 |
이 글의 목표 : 공유기나 방화벽을 사용하는 집이나 회사에서,
내부 뿐만 아니라 외부에서도 NAS에 접속가능하도록 만들기
공유기나 방화벽을 사용하는 경우, 네트워크환경은 내부와 외부로 나뉘게 됩니다.
만약 집에 NAS를 설치한다면, 내부는 집안이 될 것이고 외부는 집밖이 될것입니다.
만약 회사에 NAS를 설치한다면, 내부는 회사안이 될 것이고 외부는 거래처나 집이 될 것입니다.
▷ '내부에서는 NAS에 접속할 수 있지만, 외부에서 NAS로 접속하지 못한다.
어떻게 하면 가능하겠는가?'
라는 질문이 자주 올라오곤 합니다.
이 문제는 내부IP설정, 포트포워딩설정, DDNS설정 등 여러 문제가 동시에 엉켜서 문제를 더 어렵게 만듭니다. 네트워크 문제를 많이 다뤄보지 못한 초보나 중수 분들께도 여전히 어려울 수 밖에 없는 문제입니다.
이 문제의 해결은 3층집을 짓는 것과 비슷합니다.
1층이 없이는 2층이 존재할 수 없는것처럼, 내부설정이 제대로 되지 않으면 외부설정을 하더라도 접속이 될 수 없습니다.
따라서, 이 문제 해결을 위해서는 내부 설정에서부터 외부 설정까지 하나하나씩 문제를 해결해나가야 합니다.
이 글에서 제시하는 해결과정을 단 한단계도 뛰어넘지 말고 차근차근 설정을 하는 것을 추천합니다.
이 문제의 해결은 뭐낙 복잡하기 때문에, 이 글에서는 모든 경우에 대한 완벽한 해결방법을 설명드리지는 못합니다.
다만, 문제해결을 위한 큰 뼈대를 설명드리고 방향을 제시해드립니다.
뼈대에 나머지 살을 붙이는 것은 여러분의 몫입니다.
단, 모든 경우에서 외부접속이 가능한 것은 아닙니다!!!
특히 회사의 네트워크 보안 정책상 외부에서 내부로의 접속을 원천적으로 차단하는 경우에는, 네트워크 관리자의 허락을 받지 않는 한은 방법이 없습니다. 또한 일부 기숙사나 고시원 등 본인이 관리조작할 수 없는 상위level에 공유기나 방화벽이 있는 경우에도, 해당 관리자의 허락 없이는 불가능합니다.
그러나 이런 경우는 아주 소수의 경우에 해당되므로 너무 걱정하지 마시고 Step by Step으로 문제를 해결해보시기 바랍니다.
외부접속을 위해서 이 글을 따라 하나하나씩 해결을 해가는 과정에서,
혹시나 모르는 부분이나 궁금증이 생기신다면, 이 게시글의 덧글로 질문을 올리지 마시고
넷하드 카페(http://cafe.naver.com/networkhard)에서 새 질문글로 올려주십시오.
저는 한번 올린 게시글을 매일 확인하면서 덧글을 체크하진 않습니다.
즉 덧글로 질문을 주셔도 제가 못볼 가능성이 큽니다.
또한 질문글로 올리실 때, 막연하게 잘 안된다는 질문보다는 '몇번째 단계 어느어느 과정에서 무엇무엇이 잘 안된다'라는 형태로 질문을 해주시면서 동시에 자신의 NAS와 인터넷환경에 관한 자세한 정보를 제공해주시기 바랍니다.
자세한 정보를 주지 않으시면 답변해주시는 분들께서 무엇이 문제인지를 찾아내시기 어렵기 때문입니다.
그럼 문제 해결의 첫단계부터 시작을 해 보실까요?
→ ⑴ NAS의 고정IP 설정
⑴ NAS의 고정IP 설정
|
⒪ 서론 |
일반적으로 인터넷공유기에 PC나 NAS를 연결하면 (사용자의 편의를 위해서) 자동으로 IP를 할당(dhcp)합니다.
그러나, 공유기나 방화벽이 있는 환경에서 NAS를 운영하기 위해서는 외부에서의 접속을 항상 NAS 쪽으로 연결을 시켜주어야 하고, 그러기 위해서는 NAS를 고정IP로 설정하는 것이 좋습니다.
만약 공유기가 192.168.0.XXX라는 내부IP를 사용한다면, 가능하면 NAS는 자동할당이 되기 어려운 영역(특히 뒤쪽IP번호)으로 고정해주는 것이 좋습니다.
192.168.0.1 ~ 192.168.0.254까지가 할당가능한 번호라고 할때, 192.168.0.200 정도가 적당하지 않을까 싶습니다.
이 글에서는 192.168.0.200으로 설정하는 것으로 가정하겠습니다.
NAS에서 고정IP로 할당하는 방법은 해당 NAS의 메뉴얼을 참고하시기 바랍니다.
NAS의 IP를 내부IP로 고정하였다면, 다음 단계인
⑵ 내부네트워크에서 내부IP로 NAS 접속
로 넘어갑니다.
⑵ 내부네트워크에서 내부IP로 NAS 접속
|
⒪ 서론 |
바로 앞단계에서 NAS의 IP를 내부IP 중 하나로 고정시키는 작업을 하였습니다.
이번 단계에서는 내부에서 내부IP를 이용해서 NAS로 접속가능한지 확인해보겠습니다.
NAS의 웹서버를 활성화시킵니다.
그리고 웹서버 root에 index파일은 하나쯤 있어야 합니다.
웹서버의 활성화에 관해서는 해당 NAS의 메뉴얼을 참고하시기 바랍니다.
NAS와 동일한 내부네트워크상에 위치한 PC에서 웹브라우저를 실행시키고 주소창에 NAS의 내부IP를 주소창에 입력하시고 Enter를 누르십시오.
만약 본인 NAS의 내부IP가 192.168.0.200 이라고 가정한다면, 주소창에 http://192.168.0.200/ 을 입력하시면 됩니다.
설정해놓은 index파일이 정상적으로 보임으로써, 웹서버가 정상적으로 작동함을 확인하십시오.
또한, 주소창에 NAS의 IP가 그대로 남아있음을 확인하셔야 합니다.
만약 이 주소가 바뀌거나 다음의 그림과 같은 형태라면 어느 과정에서 설정이 잘못되었음을 의미합니다.
이런 경우에는
1. 내부IP가 제대로 설정되었는가를 확인
2. 웹서버가 제대로 설정되었고 실행이 되고 있는가를 확인
3. 웹서버 root에 index파일이 존재하는가를 확인
하셔야 합니다.
만약 웹서버가 정상적으로 작동하는 것을 확인하였다면, 다음 단계인
⑶ 포트포워딩 설정
로 넘어갑니다.
⑶ 포트포워딩 설정
|
⒪ 서론 |
내부에서 연결에 성공했다면, 그 다음 단계는 내부네트워크와 외부네트워크 사이에 다리를 놓는 과정입니다.
일부공유기에서는 포트포워딩을 NAT설정이라고 표현하기도 합니다.
이 과정에는 두가지 방법이 있습니다.
1. 포트포워딩 설정
2. DMZ 설정
DMZ 설정은 해킹의 가능성, HDD 슬립모드 불가, 포트변경 불가 등의 이유로 추천하지 않습니다.
서비스하는 포트만 정확하게 포트포워딩을 해주는 것이 좋은 방법입니다.
아래의 외부포트들을 다음의 내부포트들로 포워딩설정을 해줍니다.
Web 80 → 80 Web 2 7080 → 80 80포트가 막힌 경우 우회용 FTP-Control 21 → 21 FTP-Control 2 7021 → 21 21포트가 막힌 경우 우회용 FTP-Data 20 → 20
만약 Synology DiskStation을 사용한다면, 필요한 경우에만 아래의 포트들을 추가로 포트포워딩시켜줍니다.
FTP-Passive 55536~55663 → 55536~55663 DS-Login 5000 → 5000 DS-Login(보안접속) 5001 → 5001 https 보안접속 DS-FileStation 7000 → 7000 DS-FileStation(보안접속) 7001 → 7001 https 보안접속
포트포워딩하는 방법에 관해서는 해당 공유기의 메뉴얼을 참고하시기 바랍니다.
포트포워딩 설정을 끝내셨다면, 다음 단계인
⑷ 외부네트워크에서 외부IP로 NAS 접속
로 넘어갑니다.
⑷ 외부네트워크에서 외부IP로 NAS 접속
|
⒪ 서론 |
내부와 외부사이에 다리를 놓았으면, 그 다리가 제대로 작동하는지를 확인해보는 것이 이번 과정입니다.
대부분 공유기의 첫 설정화면을 보면 해당 공유기가 받은 공인IP(외부IP)를 알려줍니다.
이 화면에서 얻은 외부IP를 이용해서 외부접속을 시도하고자 합니다.
그전에 먼저 간단한 테스트가 필요합니다.
Test : 공유기화면의 외부IP와 http://ip.homeserver.kr/ 에서 얻은 외부IP가 동일한지 확인
Yes → 공유기가 인터넷에 직접 연결됨. 외부IP 접속테스트 시작
No → 공유기 상단에 또다른 공유기나 방화벽이 존재함. 이 문제 먼저 해결 필요!!! ※ 만약 공유기의 외부IP와 ip.homeserver.kr에서 얻은 외부IP가 다르다면,
이 공유기는 인터넷이 직접 연결된 것이 아니라
네트워크 상부위치에 또다른 공유기나 방화벽이 존재함을 의미합니다.
이런 경우는 그 상위에 위치한 공유기에도 바로 앞단계에서 했던 포트포워딩을 동일한 방법으로
설정을 해주어야 합니다. 상위에 위치한 공유기를 관리하는 네트워크관리자와 상의를 하셔서
해당포트를 여러분의 공유기로 포워딩해달라고 부탁하십시오.
만약 상위에 위치한 공유기를 설정할 수 없다면 외부에서 NAS로 접속하는 것은 불가능합니다.
이제 '외부IP 접속테스트'를 해봅니다.
만약 확인한 외부IP가 126.122.196.216 이라고 가정을 하면, 외부링크 주소는 http://126.122.196.216/ 이 됩니다.
이 주소를 이용해서 친구에게 부탁을 하거나 직접 외부에 나가서 접속을 시도하시면 됩니다.
Test : 외부PC의 주소창에 외부IP주소(예 http://126.122.196.216/ )를 입력해보시기 바랍니다. index화면이 보입니까?
Yes → 80포트는 정상적으로 열려있음. 바로 '⑸ DDNS 설정'으로 넘어가시면 됩니다.
No → 80포트가 막혀있음. 인터넷공급업체(예 - KT Quuk, SK Broadband,
LG PowerComm 등)에서 서버운영에 필요한 포트들을 막아놓았을 가능성이 큽니다.
추가Test 필요함.
↘ 추가Test : 외부PC의 주소창에 7080포트의 외부IP주소(예 http://126.122.196.216:7080/ )을
입력해봅니다. index화면이 보입니까?
Yes → 7080포트는 정상적으로 열려있음. 80포트 대신 7080포트를 써야함.
No → 포트포워딩 설정이 잘못되었거나 7080포트마저 막혀있을 가능성이 높습니다.
이런경우 1. 포트포워딩 확인, 2. 네트워크관리자에 문의해보시기 바랍니다.



sftpapplet_6.4.zip
params.txt