★ 들어가면서



얼마 전 구입한 버팔로 WZR-HP-G450H에 OpenWrt를 설치하다가 실패했었다. 정확히 말하면 실패가 아니라 실패한 줄로만 알았던 것이다. 며칠 전 이미 구입했던 날 설치했던 OpenWrt는 성공적으로 올라간 것이었다. 그 사실을 오늘에서야 알았다.

WZR-HP-G300NH에 OpenWrt를 올리는 포스팅은 외국에도 많이 있다. 하지만 WZR-HP-G450H는 별로 없는 듯 했다. 하지만, 크게 변경된 것은 없으리라 생각했고 WZR-HP-G300NH에 대한 글을 많이 참고를 하여 WZR-HP-G450H에 OpenWrt를 올려보았다. 벽돌이 되어버린 줄 알고 A/S에 문의했던 것, 벽돌을 복구하고자 무지하게 국내외 사이트들을 뒤진 것들 등 내가 겪은 시행착오를 이 포스팅을 보시는 분들은 겪지 않으시길 바라며 포스팅을 해본다. 컴퓨터만 한다고 집사람한테 잔소리도 들어가면서 진행했던 경험이니 많은 도움이 되시길 바란다.



★ 벽돌이 되어버린줄 알았던 WZR-HP-G450H



지난 주에 WZR-HP-G450H를 구매하였다. 집안의 와이파이가 느리기도 하고,  OpenWrt를 올릴 수 있는 공유기를 찾다보니 버팔로 제품으로 선택하였다. 방문수령으로 물건을 찾아 집으로 가져와 http://wiki.openwrt.org/toh/buffalo/wzr-hp-g300h#windows 페이지를 참고하여 설치를 했다. 이 페이지는 WZR-HP-G300NH 모델의 설치절차인데,  WZR-HP-G450H도 큰 변화가 있지는 않을 것으로 보고 설치를 진행했다. 물론 가이드 페이지에 보면 ARP 설정부분이 있는데, WZR-HP-G450H는 http://wiki.openwrt.org/toh/buffalo/wzr-hp-g450h 여기에 나와있는 맥어드레스로 해야한다.

집사람한테 잔소리를 좀 들어가면서 위키에 나온 가이드대로 하고 공유기 상태를 보니 먹통이다. 전원불 이외에는 전혀 켜지지 않는다. 당황스럽다. 소위 벽돌이 되어버렸다(Bricked). 멘붕상태이다. 어찌해야하나... 원래 펌으로 되돌릴 수 없을까... 시간이 너무 늦어 그냥 잘 수 밖에 없었다. 공유기쪽으로 핑을 날려도 여전히 응답이 없는 상태였다.

주말을 공유기 생각하며 지냈다. 여러가지 일이 있어서 공유기는 손대지 못했다.

그러다 오늘이 되었다. 오늘 다시한번 해볼까 하여 공유기에 펌웨어를 올려본다. 버팔로에서 제공하는 공식펌웨어, DD-WRT 펌웨어, Opwnert 펌웨어 모든 것을 올려보았다. 역시나 실패이다. 그런데 머릿속을 문득 스치는 것이 있었다. OpenWrt를 올리면 내부IP가 변경된다는 사실이었다. 아이피를 변경하였다. 오옷!!!! 핑이 나간다!!!! Telnet으로 접속해봤다. 홋!!!! 접속된다. 반가운 OpenWrt로고가 보이면서 접속이 된다. 공유기 불만 안들어오는 것이고 펌웨어는 올라간 것이었다.

이 과정을 거쳐 습득한 설치과정을 정리해보도록 하겠다. 사실 간단하다.



★ OpenWrt 설치 정리



위와 같은 시행착오와 오해를 겪으면서 진행한 OpenWrt의 설치를 정리해본다.

설치환경은 다음과 같다.

설치환경
  1. O/S : Windows7
  2. Firmware : WZR-HP-G450H OpenWrt 펌웨어 빌드일자(2012.07.03) -> 계속 업데이트되므로 이 버전이 아닐 수 있다.
  3. 공유기 제조일자 : 2012.04
※ 기타 출시된지 조금 된 하드웨어는 현재(2012.07.03) 정식 Backfire 10.03.1로 릴리즈 되었있다. 하지만 WZR-HP-G450H인 경우 최신 하드웨어이기 때문에 아직 정식으로 릴리즈된 것이 없는 것 같다. 그래서 최신 빌드일자의 것을 사용했다. 이 시점에도 수시로 빌드되어 올라오고 있다.


다음 간단하게 나열된 순서대로 진행해 보겠다.

OpenWrt 설치 절차
  1. 공유기와 PC의 케이블 연결
  2. 윈도우의 방화벽 해제 및 tftp 활성화
  3. 최신의 OpenWrt 펌웨어 다운로드
  4. 네트워크 어댑터 IP 설정
  5. ARP route 설정
  6. tftp를 통한 펌웨어 업로드
  7. ARP route 정보 제거
  8. 네트워크 어댑터 IP 변경
  9. 공유기 root 패스워드 변경



1. 공유기와 PC의 케이블 연결

공유기의 전원을 빼고 공유기 여러개의 LAN 포트 중 하나와 PC와 케이블로 연결한다. 이왕이면 다른 네트워크 어댑터는 윈도우상에서 사용안함으로 해주는 것이 낫다.


2. 윈도우의 방화벽 해제

작업에 앞서 윈도우의 방화벽 사용을 중지해야한다. tftp를 이용하게 될 것인데, 방화벽으로 인해 tftp가 제대로 동작하지 않기 때문이다. 시작 - 제어판 - Windows 방화벽을 선택하여 일시적으로 사용중지 시킨다.

윈도우 XP인 경우는 tftp 클라이언트가 기본적으로 사용할 수 있도록 되어있으나 윈도우7에서는 그렇지 않다. 그래서 [윈도우7에서 텔넷 클라이언트 사용하기]를 참조하여 윈도우7의 tftp기능을 활성화시키도록 한다. 포스팅의 내용은 텔넷 클라이언트 활성화이지만, 항목에 보면 [tftp]도 있으니 활성화시키는데 큰 어려움이 없을 것이다.


3. 최신의 OpenWrt 펌웨어 다운로드

며칠 주기로 새로 빌드되어 올라오는 펌웨어를 다운받는다. WZR-HP-G540H는 최신 하드웨어라 이 시점(2012.07.03)에도 계속 빌드되어 올라온다. c:\openwrt 라는 폴더를 만들어 다운로드하여도 좋다. 아래 링크를 클릭하면 바로 다운로드 된다.


4. 네트워크 어댑터 IP 설정

PC의 네트워크어댑터의 주소는 현재 '자동'으로 되어있을 것이다. 이를 고정아이피로 변경해야 한다. 주소를 다음과 같이 변경한다. 변경하는 방법은 네트워크어댑터에서 등록정보로 들어면 TCP/IP 주소를 변경할 수 있다. 아래와 같이 변경하는 이유는 OpenWrt를 올리기 전의 공유기의 내부IP 주소가 192.168.11.1 이기 때문이다.

IP 주소 : 192.168.11.2
서브넷 마스크 : 255.255.255.0
게이트웨이 : 192.168.11.1


5. ARP route 설정

공유기의 맥어드레스를 아이피와 설정해주는 ARP작업을 해야한다. ARP에 대한 자세한 것은 검색을 통해 알아보면 된다.

 

5.1 윈도우7 사용자

윈도우7의 CMD 도스창을 반드시 관리자모드로 연 다음, 다음과 같이 명령어로 공유기 IP와 맥어드레스를 매핑시켜준다. 

우선 다음 "route print -4" 명령어를 입력하면 아래와 같이 네트워크어댑터 정보와 라우팅 테이블이 출력된다. 결과물의 상단에 보면 아래와 비슷한 정보를 볼 수 있다. 여기서 확인해야 할 정보는 라우터와 유선으로 연결된 네트워크어댑터의 번호이다. 아래에서 보면 10번이다.

c:\>route print -4
===========================================================================
인터페이스 목록
 21...00 xx xx xx xx xx ......TAP-Win32 Adapter V9
 11...00 xx xx xx xx xx ......Intel(R) WiFi Link 5100 AGN
 10...00 xx xx xx xx xx ......Intel(R) 82567V Gigabit Network Connection  <-- 라우터와 연결된 유선네트워크
  1...........................Software Loopback Interface 1
 18...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 20...00 00 00 00 00 00 00 e0 Microsoft 6to4 Adapter
 19...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
 16...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2


그리고 아래와 같이 ARP 라우트를 설정해준다. 아래에 지정한 10이라는 숫자는 위에서 확인한 유선네트워크 어댑터의 번호임을 유의한다. 192.168.11.1 뒤의 맥어드레스는 G450H 모델인 경우 공유기 맥어드레스는 무시하고 다음과 같이 fix된 값을 사용해야 한다고 한다. 만약 G450H 모델이 아닌 경우 공유기에 부여된 맥어드레스를 넣어야 한다.

netsh interface ipv4 add neighbors 10 192.168.11.1 02-aa-bb-cc-dd-23


5.2 윈도우XP 사용자

XP 사용자는 ARP매핑을 위해 아래와 같이 입력한다.

arp -s 192.168.11.1 02-aa-bb-cc-dd-23


6. tftp를 통한 펌웨어 업로드

이제 tftp를 이용해 펌웨어를 공유기로 업로드할 차례이다. 이 시점에 공유기는 전원이 인가되지 않은 상태여야 한다. 5번 과정에서 사용했던 도스창에서 계속 작업을 한다.

3번 과정에서 다운받았던 펌웨어가 존재하는 폴더로 이동하여 다음과 같은 명령을 치고 엔터키는 누르지 않은 상태로 대기한다.

tftp -i 192.168.11.1 PUT openwrt-ar71xx-generic-wzr-hp-g450h-squashfs-tftp.bin


이제 가장 중요한 절차이다. 엔터키를 누름과 동시에 공유기에 전원을 인가한다. 그러면 공유기가 부팅되면서 잠시 빨간 LED가 점멸하게된다. 만약 도스창에서 타임아웃 등의 오류가 발생한다면, 공유기 전원을 제거하고 6번 과정을 다시한번 시도한다. 몇 번 시도하면 가능하다. 그래도 되지 않는다면 윈도우 방화벽이 아직 활성화인지 확인해본다.

그러면 아래와 같은 화면이 나타나면서 tftp를 이용한 펌웨어 전송이 완료된다. 모두 전송되고 잠시 후 전원을 제외한 모든 LED가 꺼진다. 당황하지 말아야 한다. OpenWrt에서 아직 LED제어는 지원되지 않는 듯 하다.

OpenWrt 펌웨어가 정상적으로 업로드된 상태


7. ARP route 정보 제거

tftp를 이용해 펌웨어를 정상적으로 올렸다면 아래 명령어로 ARP route를 제거해준다.

윈도우7 : netsh interface ipv4 delete neighbors 10 192.168.11.1 02-aa-bb-cc-dd-23

윈도우XP : arp -d 192.168.11.1


8. 네트워크 어댑터 IP 변경

전송이 완료되면 공유기가 부팅되는데, 이 시점부터는 공유기의 내부IP가 192.168.1.1로 변경된다. 그러므로 PC도 IP를 192.168.1.x 로 변경하여야 한다. 하지만 공유기는 DHCP를 제공하므로 네트워크어댑터의 주소를 '자동' 으로 변경해준다.

그리고 아래와 같이 ping 테스트를 하면 응답이 오는 것을 확인하면 펌웨어 업로드는 완료된 것이다.

Ping 192.168.1.1 32바이트 데이터 사용:
192.168.1.1의 응답: 바이트=32 시간<1ms TTL=64
192.168.1.1의 응답: 바이트=32 시간<1ms TTL=64
192.168.1.1의 응답: 바이트=32 시간<1ms TTL=64
192.168.1.1의 응답: 바이트=32 시간<1ms TTL=64
192.168.1.1의 응답: 바이트=32 시간<1ms TTL=64
192.168.1.1의 응답: 바이트=32 시간<1ms TTL=64


9. 공유기 root 패스워드 변경

펌웨어 업로드가 완료되면 telnet 192.168.1.1 로 들어가면 Openwrt 화면이 나타난다. 반갑다! 최초에 접속하면 passwd 명령으로 root 패스워드를 변경하여야 한다. 그 후로는 텔넷으로 공유기에 접근할 수 없고 SSH로만 접근이 가능하게 된다.

BusyBox v1.19.4 (2012-07-02 16:03:56 MSK) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 ATTITUDE ADJUSTMENT (Bleeding Edge, r32587)
 -----------------------------------------------------
  * 1/4 oz Vodka      Pour all ingredients into mixing
  * 1/4 oz Gin        tin with ice, strain into glass.
  * 1/4 oz Amaretto
  * 1/4 oz Triple sec
  * 1/4 oz Peach schnapps
  * 1/4 oz Sour mix
  * 1 splash Cranberry juice
 -----------------------------------------------------
root@OpenWrt:~# passwd
Changing password for root
New password:

이상으로 공유기에 OpenWrt를 올리는 과정을 간단하게나마 살펴보았다. 위 화면까지 진행되었다면 여러가지 패키지를 설치하여 홈서버로 이용할 준비가 된 것이다.



★ 설치 후 기본적 설정



모든 설치를 마쳤으면 축하드린다. 참고적으로 현재 버전(2012.07.03)의 OpenWrt를 올리면 다음과 같은 상태가 된다. 

상태
  1. 전원 LED를 제외한 모든 LED가 꺼진다.
  2. 무선랜이 비활성화되어 이용할 수 없다. -> 추후 설정을 하여 사용할 수 있다.
  3. 다른 하드웨어의 펌웨어와는 달리 웹 관리자 화면(luci) 을 사용할 수 없다. -> luci 패키지를 설치하여 사용가능한 것으로 알고 있다.  --> 최신버전에서는 사용할 수 있다.

 위 상태를 인지하기 바란다. 


이제 기본적으로 필요한 설정을 해보도록 하겠다.


1. alias 설정

ll -al 명령을 alias로 만들어 놓아 사용하기 용이하게 한다. 로그인을 하고 바로 다음 명령을 수행한다. 그러면 vi에디터가 수행되고 까만 화면이 나타난다.

root@OpenWrt:~# vi .profile


vi 에디터의 사용법을 검색을 통해 숙지하도록 하고 아래와 같이 내용을 입력한다.

alias ll='ls -al'


2. 공유기 SSH 방화벽 설정

외부에서 SSH로 공유기에 접근하기 위해서는 공유기의 방화벽 설정을 변경해주어야 한다. 아래와 같이 사용자 방화벽 설정파일을 연다.

root@OpenWrt:/# vi /etc/firewall.user


편집화면에서 아래와 같이 설정을 추가하도록 한다. 그러면 22번 포트가 열려 외부에서 접근할 수 있다. [DDNS설정]을 이용하면 도메인으로도 접근 가능하겠다. 아래에서 "eth0.2"는 WAN의 어댑터 이름이다. 추후 펌웨어가 업그레이드되면 변경될 소지도 있으므로 참고하도록 한다.

# SSH Service
iptables -I INPUT 1 -i eth0.2 -p tcp --dport 22 -j ACCEPT


3. 시간대 설정

공유기는 기본 한국 시간대로 설정되어있지 않다. 그래서 시간대를 GMT-9로 맞춰줘야 한다. 다음 파일을 vi에디터로 연다.

root@OpenWrt:/# vi /etc/config/system


그리고 다음과 같이 timezone 옵션을 추가하여 시간대를 GMT-9로 변경한다.

config system
        option hostname OpenWrt
        option timezone GMT-9

config timeserver ntp
        list server     0.openwrt.pool.ntp.org
        list server     1.openwrt.pool.ntp.org
        list server     2.openwrt.pool.ntp.org
        list server     3.openwrt.pool.ntp.org
        option enable_server 0


제법 긴 포스팅이지만 차근차근 하다보면 성공할 것으로 생각된다. 도움이 되셨다면 덧글 부탁드립니다.


※ 개인적 시간과 노력을 들여 포스팅한 것이니 불펌은 엄격하게 사양합니다.


참고사이트
  1. http://wiki.openwrt.org/toh/buffalo/wzr-hp-g300h
  2. http://wiki.openwrt.org/toh/buffalo/wzr-hp-g450h
  3. http://wiki.openwrt.org/doc/howto/generic.flashing.tftp




2012.08.01 ARP route 설정 및 제거에 대한 설명 보강.

2012.08.20 OpenWrt 펌웨어 다운로드링크 오류 수정.

2012.10.09 펌웨어가 12.09 베타버전으로 등록됨에 따른 다운로드 링크 변경.

2013.02.14 펌웨어가 12.09 RC1으로 등록됨에 따른 다운로드 링크 변경.

2013.08.05 참고사이트 추가

2013.12.22 WHR-G300N 모델에도 설치 완료 (WHR-G301N 과 동일하다고 함 / 펌웨어명 : openwrt-ar71xx-generic-whr-g301n-squashfs-tftp.bin)

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Life 스토리


티스토리 툴바