외부 접속 가능한 서버 구축하기 + [Desktop] | 2013/11/12 14:22 |
출처 : http://youngjinoh.tistory.com/3
회사에서 다른 개발자들하고 일하면서 집에 리눅스 서버를 하나 구축해서 활용하고 있다고 말하면, 슈퍼(?)컴퓨터를 생각하는 사람이 생각보다 많더라. 물론 많은 사용자가 접속해야 되는 서버는 고가의 컴퓨터 구축이 필요하지만, 나처럼 개인용도로 사용하는 경우에는 그냥 굴러다니는 컴퓨터에 서버용 프로그램만 설치하면 된다.
번거롭게 외장형 HDD없이도 집에 있는 컴퓨터를 원격부팅후 FTP로 접속해서 내 자료를 가져다 쓰거나 올릴 수도 있고 간단한 사이트를 직접 하나 만들어서 운영해도 되고...
NAS 스토리지 같은 장비를 사면 간단히 운영은 가능하지만 내가 직접 사이트를 만들 수 없으니 제외. 필요할 때마다 원격으로 껐다 켤수 있어야 하고, 항상 켜두어야 할 때에는 300~500W짜리 파워가 달린 일반 개인용 PC를 쓰기에는 전기세가 부담되니 최소한의 전력으로 동작되는 베어본 PC로 결정하자. 운영체제는 GUI를 쓰지 않고 작은 용량으로도 고성능을 발휘하는 리눅스 외에는 대안이 없을 것 같다.
아래 내용은 기본적인 개요 정도로만 소개하고, 원격부팅 환경을 만드는 방법에 초점을 맞추었다. 좀 더 자세한 내용은 시간이 날 때 다시 추가할 예정이다.
준비물)
- 베어본 PC
- 우분투 리눅스 10.04
- USB Memory
- IP공유기
설치를 위해 모니터,키보드는 기존 PC에서 잠깐 빌렸다가 설치가 끝나면 돌려주면 된다.
1. 베어본 PC
내가 2년전(?) 쯤에 구입했던 베어본 PC는 Shuttle사의 K45 라는 모델이다. 아래처럼 생긴 녀석인데, CPU는 64비트가 지원되고 저전력의 코어2듀어 셀러론과 2GB 메모리를 구입해서 장착했다. LAN카드와 VGA카드는 내장되어 있고 HDD는 최대 2개까지 장착이 되며, 시디롬 드라이브 장착은 안된다. 중요한 건 파워가 100W 이내로 동작이 된다는 점. 시디롬 장착이 되는 K45 SE라는 모델도 있는데 서버용으로 쓸 것이라 운영체제 한번 설치를 위해 시디롬 드라이브를 사줄 수는 없지 않은가?
2. 우분투 리눅스 10.04
그럼 왜 하필 많은 리눅스 중에서도 우분투 리눅스를 쓰냐고 묻는다면, K45 를 구입했을 때 우분투 리눅스 8.04 를 설치했기 때문이고... 유지관리가 편해서이다. 기왕 다시 설치하기로 했으니 최신버젼(10.04)으로 설치할 생각이다.
http://www.ubuntu.com/getubuntu/download-server
용량은 677 MB 정도되며 다운받으면 ISO 파일로 저장이 된다. 서버용이기 때문에 데스크탑용 우분투 리눅스에서 제공하는 X-Windows의 GUI는 제공하지 않으며 필요하지도 않다.
(2010.06.01 수정) 우분투 사이트가 개편되면서 다운받는 주소가 아래와 같이 변경되었다.
http://www.ubuntu.com/server/get-ubuntu/download
3. USB Memory
베어본 PC에 시디롬을 잠깐 연결해서 설치해도 되는데, 마침 시디롬이 인식불량이 되버리는 바람에 메인컴퓨터의 윈도우즈7을 설치할 때에도 외장형 USB HDD를 이용해서 설치를 해야 했다.
UFDUtility라는 프로그램을 이용해서 집바닥에 굴러다니는 1GB USB Memory에 다운받은 우분투 리눅스를 부팅가능하게 인식되도록 했다.
자, 기본적인 준비는 다 끝났다.
베어본 PC를 인터넷이 되는 IP공유기에 연결하자. 모니터와 키보드, USB Memory를 뒤에 끼고 부팅해서 CMOS에서 USB Memory 로 부팅하게 한 다음 우분투 리눅스를 설치하자. 인스톨러가 친절하게 화면에 다 표시해주니까... 별다른 내용은 없다. 사용자 추가하고, 파티션 설정하고 등등... BASE 패키지만 설치하되 OpenSSH Sever 패키지는 미리 선택해서 설치하자.
설치가 끝나면 root 계정 암호를 설정하고, 인터넷도 잘되는지 테스트 할 겸 root 권한으로 apt-get을 이용해서 update, upgrade 도 한번 돌려주자. 이상이 없으면 halt 를 입력해서 베어본 PC를 끈다.
참고)
4. IP공유기 (ipTime G504)
베어본 PC 에 우분투 설치가 모두 끝났다면, 모니터, 키보드는 주인에게 돌려주고 주변정리를 하자. 이제부터 베어본 PC는 원격으로만 접속해서 사용할 것이다. 일단 베어본 PC의 전원버튼을 눌러 다시 켠 다음 SSH를 지원하는 텔넷 프로그램으로 접속해보자. 공짜 프로그램으로는 PuTTy가 있는데, 여기서는 SecureCRT를 이용했다.
설치된 환경을 대충 살펴보면 리눅스 커널 2.6.32-22 SMP 64비트 버젼이고, 2GB 메모리에 170메가정도 사용중이고, HDD는 2개인데 하나는 시스템용으로 쓰는 640GB 짜리가 있고, 나머지 한개는 사용자 계정 /home 디렉토리에 마운트해서 쓰는 1TB 짜리가 있다. 그런데 원격으로 부팅은 어떻게 해야될까?
베어본 PC에 정말 손댈 일이 없게 하려면, 우분투에 WOL(Wake On LAN)이 동작되도록 해야 한다. 베어본 PC를 재부팅하면서 CMOS에서 LAN카드의 WOL기능을 활성화하고, 우분투 포럼에 Chris Tucker 라는 사람이 올린 글을 따라해서 우분투에 반영하면 된다.
http://ubuntuforums.org/showthread.php?t=234588
이제부터 IP공유기를 통해서 부팅하게 해보자. 메인컴퓨터에서 IP공유기로 접속해서 관리도구로 들어가면 WOL기능이 있다. IP공유기에 따라 방법이 다르겠지만 대부분 지원할 것이다.
MAC주소찾기를 눌러서 등록하면 된다. 위의 그림에서 MAC주소는 보안상 지웠다. 베어본 PC를 끈 다음 IP공유기에서 부팅이 되는지 테스트를 해보자.
그 다음은 집이 아니라, 회사나 PC방 등에서 IP공유기에 접속할 수 있게 해보자.
인터넷 서비스 업체를 통해 집에서 접속하는 IP주소는 고정IP가 아니라 대부분 유동IP이다. 그래서 IP주소가 변경되더라도 특정 도메인 주소로 매핑시켜주는 것이 DDNS (Dynamic DNS)라고 한다더라. 즉, 내 IP주소가 어떻게 변경됐는지 몰라도 도메인 주소만 알면 접속할 수 있다는 뜻이겠지?
그런데 이것만으로는 IP공유기 접속이 안된다. 아래 그림처럼 관리포트를 설정해준다.
설정이 끝났다면 이제부터 언제 어디서든지 외부에서 IP공유기에 접속할 수 있다. IP공유기는 웬만하면 전원을 끌 일이 없지 않은가? DDNS+원격관리포트 설정이 끝나면, 외부에서 접속할 때, http://xxxx.iptime.org:1234 이런 식으로 주소를 입력하면 집에 있는 IP공유기 관리화면으로 들어갈 수 있다.
정리하면, 외부에서 IP공유기를 통해 베어본 PC의 우분투 서버를 부팅할 때 다음과 같이 하면된다.
- DDNS를 통해 IP공유기 접속
- IP공유기의 WOL기능을 통해서 베어본 PC를 부팅
외부에서 베어본 PC에 설치된 우분투로 접속하려면 어떻게 해야할까? 예를 들어 텔넷(SSH)으로 접속하려고 하면, 접속주소를 사설IP주소(192.168.0.xxx)가 아닌, xxxx.iptime.org:22 이런식으로 하면 될까? 맞다. 하지만 한가지 설정을 더 해줘야 한다.
베어본 PC는 IP공유기에 사설IP로 물려있기 때문에, 외부에서 접속할 때 IP공유기와 베어본 PC 와의 포트(Port)를 매핑해주는 작업이 필요하다. SSH의 기본 포트는 22 이니까, 아래와 같이 포트포워딩을 추가하면 된다.
위의 그림을 보면 짐작이 되겠지만, "우분투(웹) 포트 80" 이 항목은 우분투 서버에 웹 서버를 구축해서 사이트를 만든 다음 외부에서 접속이 되게 하려고 한 것이다. DDNS를 이용해서, http://xxxx.iptime.org 이렇게만 입력하면 내 집에 있는 우분투 서버의 웹 컨텐츠를 외부에 서비스할 수 있다. 나중에 FTP를 추가하고 싶을 때에는 우분투 서버에 FTP를 설치하고 포트포워딩에서 설정만 해주면 된다.
이제부터는 원격으로 우분투 서버를 부팅하고 텔넷(SSH)으로 접속해서 전원을 끌 수 있다.
꼭 서버구축이 아니더라도 자기가 쓰는 메인컴퓨터를 외부에서 사용하려고 할 때에는 위와 같은 방법을 응용하면 된다. Windows 계열은 텔넷(SSH)이 아닌, 원격 데스크탑을 이용해서 내 컴퓨터의 화면을 그대로 외부에서 사용할 수 있다.
참고로, OpenSSH Server 패키지가 설치되어 있다면 위에서 접속했던 텔넷(SSH) 접속 이외에도 별다른 설치 과정없이 SFTP를 이용해서 파일을 업로드/다운로드를 할 수 있다. 단, 그냥 FTP로는 접속이 안된다.
'비즈니스 트렌드(BUSINESS Trend) > 기타사항(ETC)' 카테고리의 다른 글
일부 2010년형 맥 모델들도 최대 16기가까지 메모리를 업그레이드 할 수 있는 것으로 밝혀져 (0) | 2015.01.16 |
---|---|
*개인 사업자는 회사 계정으로 등록이 지원되지 않는 서비스입니다. (0) | 2015.01.14 |
진정한 스타트업의 3가지 조건 (0) | 2015.01.14 |
Monosnap으로 녹화하기 (0) | 2015.01.14 |
동영상 다운로드 하기 (0) | 2015.01.14 |