Advanced
Using OpenWRT-based Router to Build a Multi-function Web Server
Using OpenWRT-based Router to Build a Multi-function Web Server
Journal of the Korea Institute of Information and Communication Engineering. 2014. Apr, 18(4): 833-838
Copyright © 2014, The Korea Institute of Information and Commucation Engineering
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/li-censes/by-nc/3.0/) which permits unrestricted non-commercial use, dist ribution, and reproduction in any medium, provided the origin al work is properly cited.
  • Received : December 04, 2013
  • Accepted : January 12, 2014
  • Published : April 30, 2014
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
태학 반
승업 하
준기 민
회경 정
hkjung@pcu.ac.kr

Abstract
최근 사용되는 유무선 공유기는 하나의 IP를 여러 대의 컴퓨터가 인터넷에 접속할 수 있도록 해주는 기능을 한다. 또한 웹 서버나 프린트 서버, 웹 하드, P2P의 기능을 하기 위해서는 PC나 서버에서 별도의 설정 또는 구축 작업을 통해서만 가능하였다. 본 논문에서는 OpenWRT를 지원하는 공유기를 활용하여 네트워크 설정과 방화벽 및 다양한 서비스 설정을 기반으로 한 다기능의 웹 서버를 구축 및 연구한다. 구축된 웹 서버는 보안이 강화된 서버를 통해 안정적이며 안전한 멀티미디어 서비스 및 인터넷 전화를 제공할 수 있다. OpenWRT기반의 웹 서버 공유기는 모바일 APP 및 PC프로그램을 통해 서비스를 제공받을 수 있다.
Keywords
Ⅰ. 서 론
최근 하나의 네트워크를 통해 다수의 IT기기들에서 인터넷을 사용할 수 있게 해주는 유무선 공유기의 사용이 증가하고 있다.
현재 국내 IT 환경에서 임베디드 리눅스, VPN (Virtual Private Network), 홈서버와 같은 단어들은 전혀 생소하지 않지만, 이러한 기술들을 실제 접하기는 어려운게 현실이다. 그러나 사람들이 모르는 사이에도 이러한 기술들은 지속적으로 발전해 왔고, 우리 주위에 언제든 사용할 수 있을 만큼 공개되어 있다. 공개된 기술들을 적절하게 사용하여 실생활에 적용한다면, 가정 및 기업에서 사용하는 내부 전화망에 대해 OpenWRT (Open Wireless Router)를 이용하여 손쉽고 저렴한 비용으로 구축할 수 있으며, 현재 사용하는 스마트폰에서도 앱(App)을 이용하여 사용할 수 있어 통신비를 크게 절감할 수 있다. 스마트폰 데이터 통신을 이용하면 가정에서도 VoIP(Voice over Internet Protocol) 서비스 로 인한 통신비용을 절약할 수 있다. OpenWRT는 오픈소스 임베디드 리눅스를 통하여 VPN 서버를 구축 하는 것으로부터 시작해서, 다양한 응용서비스를 갖춘 홈 서버를 손쉽고 저렴하게 구축하는 방법을 제시한다 [1] .
기존의 네트워크 분야에서 각종 서버의 구축과 서비스를 제공하기 위해서는 별도의 장비와 구축작업이 필수적이었다. 하지만 기존의 유무선 공유기와 리눅스 기반의 무선랜 라우터를 위한 오픈소스인 OpenWRT [2 , 3] 를 통해 저 전력의 소형서버를 구축하여 운영 할 수 있다. 기존의 공유기 설정과 유사한 설정을 통해 환경 설정을 진행 할 수 있고, 보안이 강화된 안정적이며 안전한 멀티미디어 서비스 및 인터넷전화(VoIP) [4 , 5] 를 제공한다. 또한 모바일기기 및 일반 PC에서 서비스를 제공하기 때문에 서로 다른 시스템 간 호환성의 문제도 해결된다.
이에 본 논문에서는 OpenWRT 기반 유무선 공유기 를 이용한 웹서버 구축을 통해 저 전력, 저비용으로 소형의 간단한 서버를 구축하여 다기능의 서비스를 제공한다.
Ⅱ. 관련 연구
- 2.1. OpenWRT
OpenWRT는 임베디드 디바이스를 위한 리눅스 배포판이다. 2004년 초부터 배포된 공개 소프트웨어인 OpenWRT에서는 임베디드 기기 응용을 패키지 수준에서 쉽게 지원해주는 패키지 관리 툴과 프로그램 개발을 지원해 주는 OpenWRT SDK(Software Development Kit) 툴을 제공한다.
특정 응용을 위해 펌웨어를 처음부터 코드수준에서 직접 개발할 필요 없이 OpenWRT를 하나의 기본 시스 템으로 간주하고 그 위에 필요한 패키지를 추가하거나 또는 기본 시스템에 포함되어 있지만 불필요한 패키지 를 삭제하여 원하는 최적의 펌웨어를 쉽게 만들 수 있 다.이를 위해 OpenWRT에서는 패키지 관리 툴(ipkg 또는 opkg 툴)을 제공한다. 또한 특정 응용을 위해 개발 자가 코드 수준에서 작업하는 것을 도와주기 위한 OpenWRT SDK툴을 제공한다.
OpenWRT는 일반 게이트웨이 장비에 내장된 펌웨어가 제공하는 여러 기능들, 예를 들어 DHCP(Dynamic Host Configuration Protocol)서비스나 WEP(Wired Equivalent Privacy), WPA(Wi-Fi Protected Access), WPA2 같은 무선 보안 기능들을 기본적으로 제공한다. 또한 기본적인 기능 이외에 기본 펌웨어에서 제공하지 않는 여러 종류의 기능들을 추가로 제공하여 좀 더 효 율적인 공유기 사용을 하게 할 수 있다.
- 2.2. OPKG
OpenWRT의 Kamikaze에서는 프로그램을 간단히 추가 설치할 수 있도록 하기 위해 OPKG(Open PacKaGe Management) [6 - 8] 라는 패키지 관리 툴을 제공해 준다. OPKG는 임베디드 시스템을 위해 개발된 Package Management System으로 OpenWRT, Openmoko, WebOS, Gumstix, the iPAQ, QNAP NASes 등에서 사용할 수 있는 프로그램 파일로써 오픈소스를 기반으로 한다. OPKG는 윈도우에 있는 설치파일과 비슷하며, OPKG를 설치하여 사용 가능하다. 또한 .opk라는 이름 의 확장자를 가진다. OPKG는 특정한 목표나 기능을 가진 임베디드 프로그램을 오픈소스 형식으로 간단하게 임베디드 기기에 이식할 수 있게 도와주기 때문에 복잡 하지 않다. 또한, opkg install이라는 명령어를 이용해 바로 프로그램을 설치할 수 있으므로 일일이 개발해야 하는 시간을 단축시키고 많은 사전작업들을 생략할 수 있게 도와준다. 유무선 공유기에서 OpenWRT 펌웨어를 사용하는 경우에는 자신이 필요한 패키지들만 설치하여 원하는 여러 가지 기능을 사용하는 것이 가능하다. 일부 OPKG들은 모듈로 작용하여 공유기에 USB storage, video, audio, LCD, bluetooth 등과 연동시킬 수 있는 환경을 제공한다.
- 2.3. Buffalo사의 WZR-HP-G330NH 제품
본 논문에서 사용된 Buffalo사의 WZR-HP-G300NH 제품은 내부 LAN 유선 포트가 기가비트를 지원하고, OpenWRT 펌웨어를 사용하는 경우, 램 디스크 영역이 32MB로 설정되어 다양한 응용프로그램 패키지 설치가 가능하고, 가격이 상대적으로 저렴하여 가격대 성능비가 훌륭한 편에 속한다. 본 논문에서는 Buffalo사의 WZR-HP-G300NH 제품을 기준으로 OpenWRT의 응용 프로그램 설치 및 설정을 통해 설계 및 구축한다. OpenWRT에서 지원하는 유무선 공유기는 펌웨어의 설치방법이 기존의 유무선 공유기의 설치방법과 동일하다. OpenWRT 펌웨어 설치만 완료된다면, 리눅스 시스템에서의 일반적인 서버구축 방법과 규칙 및 구축방법은 동일하다.
Ⅲ. OpenWRT 기반 유무선 공유기를 이용한 웹 서버 설계
OpenWRT 기반 유무선 공유기를 통한 웹 서버 설계 를 위해 Buffalo사의 WZR-HP-AG300H제품을 사용하 여 웹 서버를 구축하였다.
유무선 공유기의 OS를 시스템의 목적에 맞게 프로그램을 설계하였고, 하나의 네트워크 회선을 통해 공유기 OS시스템을 CCTV기능과, VoIP, 웹 하드, 웹 서버 구축에 맞게 설정하여 PC와 스마트기기 등 인터넷이 사용가능한 단말이라면 OS의 제약 없이 언제나 사용가능하게 설계하였다. 또한 설계하는 웹 서버의 주요 기능은 Web-Cam을 이용한 원격 감시 시스템, 공유기를 통한 VoIP 인터넷 통화 서비스, 홈페이지 및 웹 서비스를 위한 웹 서버, 네트워크 드라이브를 통한 파일전송 서비스인 웹 하드 구축 등 네가지 서비스의 구축을 위해 시스템을 설계하였다. 전체적인 시스템 구성도 로컬 VoIP는 그림 1 과 같고, 시스템 구성도에서의 스마트폰 mVoip는 그림 2 와 같으며, 유무선 공유기 시스템의 내부구조도는 그림 3 , 구성사항은 표 1 과 같다.
PPT Slide
Lager Image
로컬 VoIP Fig. 1 Local VoIP
PPT Slide
Lager Image
스마트폰 mVoIP Fig. 2 Smart Phone mVoIP
PPT Slide
Lager Image
유무선 공유기 내부 구조도 Fig. 3 Router internal structure
유무선 공유기 시스템의 구성사항Table. 1Components of the router
PPT Slide
Lager Image
유무선 공유기 시스템의 구성사항 Table. 1 Components of the router
OpenWRT 기반 유무선 공유기 설계과정에서 Open WRT Router, SIP, PC, X-Lite 4, Bria를 이용하여 설계 하였다. OpenWRT 기반 유무선 공유기 설계과정은 세 가지의 과정으로 이루어지며, 첫 번째 과정은 OPKG를 이용한 서비스 구축이다.
Router(WZR-HP-AG300H)에 OpenWRT를 구축 및 설정하여 크로스 컴파일(Cross Compile)을 진행하기 위해 환경 구축(VMWare Workstation8.1, Ubuntu 12.10) 을 통한 OpenWRT Attitude Adjustment 12.09(Trunk Version 34505)를 가지고 컴파일 및 에러 검출을 하였다. 또한, Binary File 펌웨어 업데이트 후에 OPKG를 이용하여 필요패키지 설치 및 설정을 하고, 서비스 정상 작동 유무 확인, 문제점 정리를 하였다.
두 번째로, 크로스 컴파일시 서비스 추가하여 컴파일을 진행하는 과정이다. Router(WZR-HP-AG300H)에 OpenWRT구축 및 설정, OpenWRT를 크로스 컴파일하기 위하여 환경 구축, OpenWRT Attitude Adjustment 12.09(Trunk Version 34505)를 가지고 컴파일 및 에러 검출 후 사용할 패키지 기능 추가 후 컴파일 및 펌웨어 의 서비스 설정 및 정상작동 유무를 확인하였다. 이후 패키지 수정 후 컴파일 및 펌웨어 연동과정을 진행한다. 세 번째로, Asterisk 설정 및 외부 연동 과정이다. 우선, sip_user.conf 파일을 설정하여 클라이언트를 추가하고 extensions.conf 파일에 전화 교환 정보 추가 및 PC, Smart Phone에 X-lite 및 Bria설치 후 내선 통화의 연결여부를 확인한다. 이후, 외부 SIP계정 구매를 통해 extensions.conf 파일에 외부 SIP설정 및 연동을 확인하 게 된다.
OpenWRT 기반 유무선 공유기 설계 부분에서의 전체적인 과정은 그림 4 와 같다.
PPT Slide
Lager Image
OpenWRT 기반 유무선 공유기 설계 Fig. 4 OpenWRT-based router design
Ⅳ. OpenWRT 기반 유무선 공유기를 이용한 웹 서버 구현
OpenWRT 기반 유무선 공유기를 이용한 웹 서버 구 현 부분에서는 WebCam을 통한 CCTV, 인터넷 전화서 비스, 웹 하드, 공유기를 이용한 게임서비스를 구현하 였다.
리눅스를 통해 OpenWRT 커널을 컴파일하여 OPKG 를 통해 설정 및 서비스를 제공한다. 대표적으로 인터넷 전화서비스를 이용하기 위해서는 서비스 제공자의 계정을 설정 후 추가적인 외부 연결 설정작업을 필요로 한다. 구축된 유무선 공유기를 기반으로 윈도우 PC 및 안드로이드 단말에서 테스트를 진행하였고, 인터넷이 가능한 환경이면 웹 브라우저에서 실행이 가능하다. 그림 5 는 WebCam을 통한 CCTV, 그림 6 은 인터넷 전화 서비스, 그림 7 은 웹 하드, 그림 8 은 공유기를 이용한 게임서비스의 구현 화면이다.
PPT Slide
Lager Image
WebCam을 통한 CCTV 구현화면 Fig. 5 Screen of CCTV implementation using WebCam
PPT Slide
Lager Image
인터넷 전화서비스 구현화면 Fig. 6 Implementations screen of internet phone service
PPT Slide
Lager Image
웹 하드 구현화면 Fig. 7 Implementation screen of web harddisk
PPT Slide
Lager Image
게임서비스의 구현화면 Fig. 8 Implementation screen of game service
Ⅴ. 결 론
본 논문에서 구현한 OpenWRT기반 유무선 공유기 를 이용한 웹 서버 시스템을 통해 서버구축이 필요한 사용자라면 손쉽게 소형서버를 구축하여 운영 할 수 있다. 기존의 공유기 설정과 유사한 설정을 통해 환경설정을 진행 할 수 있고, 보안이 강화된 안정적이며 안전한 멀티미디어 서비스 및 인터넷전화를 제공할 수 있다.
본 논문의 시스템은 Linux기반이기 때문에 확장성이 용이하고, 저렴한 비용으로 소형 서버를 구축할 수 있고 연구소나 가정, 기업에서 사용하는 내부 전화망을 OpenWRT를 이용하여 손쉽고 적은 비용으로 구축할 수 있다. 또한 현재 사용하는 스마트폰에서도 앱 어플리케이션을 이용하여 사용할 수 있기 때문에 통신비용을 절감할 수 있다는 이점이 존재한다.
그리고 모바일기기 및 일반 PC에서 서비스를 제공함으로써, 서로 다른 OS를 사용하는 환경에서 사용할 수 있다는 장점이 있다. 향후 연구과제로는 외부 SIP와 통화 연결시 안정화 작업과, SRTP를 사용한 보안이 강화된 VoIP서비스 구축, 저용량 코덱을 통한 통화연결성 향상에 대한 연구가 필요하다.
Acknowledgements
본 연구는 2013년도 산업단지 캠퍼스 조성사업 의 지원에 의하여 이루어진 연구로서, 관계부처에 감사드립니다.
BIO
반태학(Tae-Hak Ban)
2011년 배재대학교 컴퓨터공학과(공학사)
2013년 배재대학교 컴퓨터공학과(공학석사)
2013년 ~ 현재 배재대학교 컴퓨터공학과 박사과정
※ 관심분야 : 차세대 인터넷, XML, USN, 웹서비스, MPEG, 영상처리, 빅데이터
하승업(Seung-Eup Ha)
2013년 배재대학교 컴퓨터공학과(공학사)
2013년 ~ 현재 배재대학교 정보운영과 근무
※관심분야 : 네트워크, 임베디드 시스템, 보안 솔루션, Android 시스템
민준기(Jun-Gi Min)
2013년 ~ 현재 배재대학교 컴퓨터공학과 학부과정
※관심분야 : 영상처리, 임베디드 시스템, 웹 서비스
정회경(Hoe-Kyung Jung)
1985년 광운대학교 컴퓨터공학과(공학사)
1987년 광운대학교 컴퓨터공학과(공학석사)
1993년 광운대학교 컴퓨터공학과(공학박사)
1994년 ~ 현재 배재대학교 컴퓨터공학과 교수
※관심분야 : 멀티미디어 문서정보처리, XML, SVG, Web Services, Semantic Web, MPEG-21, Ubiquitous Computing, USN
References
Jung K. O. 2012 "VPN Router using OpenWRT Build a Home Server" MicroWare
Kim Cheong Ghil 2012 "Design and Implementation of a Home Network System on OpenWRT using Android Remote Control," Journal of Communication Satellite Space Industry Study Group http://koix.ksci.re.kr/KISTI1.1003/JNL.JAKO201251348016621 7 (3) 130 - 134
Kim H. P. , Choi J. S. 2010 "An Implementation study of MPLS-TP based PBB-TE network OpenWRT Linux," Proceedings of Korea Information and Communications Society 7 (2) 1721 - 1723
Jung J. Y. , Kang H. S. , Lee j. R. 2012 "Energy-Efficient Packet Aggregation Scheme for VoIP Service in Wireless Multi-Hop Network," The Journal of Korea Information and Communications Society http://dx.doi.org/10.7840/kics.2012.37B.8.620 37 (8) 620 - 629    DOI : 10.7840/kics.2012.37B.8.620
Choi Jae-Won 2011 "Development Methods and Design of a Wireless VoIP System based on the Binary-CDMA Technology," Journal of the Korea Institute of Information and Communication Engineering http://dx.doi.org/10.6109/jkiice.2011.15.10.2121 15 (10) 2121 - 2128    DOI : 10.6109/jkiice.2011.15.10.2121
Choi Jae-Won 2011 "Implementation and Performance Evaluation of a Wireless VoIP System based on the Binary-CDMA Technology," Journal of the Korea Institute of Information and Communication Engineering http://dx.doi.org/10.6109/jkiice.2011.15.12.2555 15 (12) 2555 - 2562    DOI : 10.6109/jkiice.2011.15.12.2555
Jung G. S. , Kim J. K. , Gwak H. G. , Jang H. 2009 Building Embedded Linux Systems using the Router and Application Green Korea, KR
Korea Asterisk User Group [Internet] http://cafe.naver.com/asterisker/