당신의 공유기에 날개를 달아주자~(유무선 공유기를 서버 만들기 프로젝트 1탄 - 개요)
두어달가량 생업을 제쳐두고, 삽질 작업을 한 공유기를 서버로 만드는 프로젝트가 대충 마무리가 되어서, 문서로 만들어봤습니다.
우선 테스트한 공유기는 다음과 같습니다.
이 공유기들을 대상으로, DD-WRT 펌웨어와 OpenWRT 펌웨어를 올려서, OpenVPN 서버로 만드는 것이 목표였습니다.
이전에 Linksys WRT54G 제품을 대상으로 OpenWRT 펌웨어 커스터마이징을 했다가 실패한 경험이 있어서, 망설였지만, DD-WRT 때문에 다시 시작해서, 두 펌웨어 계열의 차이를 이해하는 기회가 되었습니다.
굳이 공유기를 OpenVPN 서버로 만들려고 한 이유는 국외(중국)에 사는 후배가 통제되는 웹 페이지를 볼 수 없는 것을 유일하게 해결할 수 있는 방안이었기 때문입니다. 현재 중국에 사는 한국 교민들은 VPN 서비스를 사용하는 것이 매우 통상적입니다. 왜냐면 통제되어 볼 수 없는 홈페이지들도 많고, 또한 인터넷 전화를 사용하려면, VPN을 사용해야만 하기 때문에...
하지만, 현재로써는 새롭게 개조된 공유기들은 주로 저의 회사 내에서 네트워크 트래픽을 숨기거나, 공용 무선랜망에서 해킹 위협으로부터 지키는 역할을 하고 있습니다. (현재로 커피샵등의 공용 무선랜 환경에서 해킹에 노출되지 않는 유일한 방법은 VPN을 사용하는 것입니다. - 다만 VPN이 무선랜 해킹을 포함한 모든 해킹을 막는 만능 솔루션은 아닙니다.)
Buffalo WZR-HP-G300NH
Model |
WZR-HP-G300NH |
Version |
v1 |
Status |
10.03 |
Target(s) |
ar71xx |
Platform |
Atheros AR9132 |
CPU Speed (MHz) |
400 |
Flash (MB) |
32 |
RAM (MB) |
64 |
Wireless NIC |
AR9103 |
Wireless Standard |
11b/g/n |
Wired Ports |
5 gigE |
VLAN Config |
Yes |
USB |
Yes |
D-Link DIR-825
Model |
DIR-615 |
DIR-615 |
DIR-825 |
Version |
C1, C2 |
E1/E3/E4 |
B1, B2 |
Status |
10.03 |
|
10.03 |
Target(s) |
ar71xx |
ar71xx |
ar71xx |
Platform |
Atheros AR9130 |
Atheros AR7241 |
Atheros AR7161 |
CPU Speed (MHz) |
400 |
400 |
680 |
Flash (MB) |
4 |
4 |
8 |
RAM (MB) |
32 |
32 |
64 |
Wireless NIC |
Atheros AR9100 (integrated) |
Atheros AR9100 (integrated) |
Atheros AR922x (onboard) |
Wireless Standard |
802.11b/g/n |
802.11b/g/n |
802. 11a/b/g/n |
Wired Ports |
5 |
5 |
5 gigE |
VLAN Config |
No |
No |
Yes |
USB |
No |
No |
Yes |
Linksys WRT54G v2.0
Model |
WRT54G |
WRT54G |
WRT54G |
WRT54G |
WRT54G |
WRT54GL |
WRT54GS |
WRT54G3GV2(-VF) |
Version |
1 |
1.1 |
2.0, 2.2, 3.0 |
3.1 |
4 |
1.0, 1.1 |
2 |
1 |
Status |
0.9 |
0.9 |
0.9 |
0.9 |
0.9 |
0.9 |
0.9 |
10.03 |
Target(s) |
brcm-2.4 brcm47xx |
brcm-2.4 brcm47xx |
brcm-2.4 brcm47xx |
brcm-2.4 brcm47xx |
brcm-2.4 brcm47xx |
brcm-2.4 brcm47xx |
brcm-2.4 brcm47xx |
brcm47xx |
Platform |
Broadcom 4710 |
Broadcom 4710 |
Broadcom 4712 |
Broadcom 4712 |
Broadcom 5352 |
Broadcom 5352 |
Broadcom 4712 |
Broadcom 5350 |
CPU Speed (MHz) |
125 |
125 |
200 |
216 |
200 |
200 |
200 |
264 |
Flash (MB) |
4 |
4 |
4 |
4 |
4 |
4 |
8 |
16 |
RAM (MB) |
16 |
16 |
16 |
16 |
16 |
16 |
32 |
32 |
Wireless NIC |
Broadcom (mini-PCI) |
Broadcom (integrated) |
Broadcom (integrated) |
Broadcom (integrated) |
Broadcom (integrated) |
Broadcom (integrated) |
Broadcom (integrated) |
Broadcom (integrated) |
Wireless Standard |
11b/g |
11b/g |
11b/g |
11b/g |
11b/g |
11b/g |
11b/g |
11b/g |
Wired Ports |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
VLAN Config |
? |
? |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
USB |
No |
No |
No |
No |
No |
No |
No |
3x 2.0 |
DD-WRT와 OpenWRT의 차이점에 대해서 간단히 알아보면,
http://www.dd-wrt.com/site/index
OpenWRT가 먼저 시작한 공유기 장비의 오픈 펌웨어 개발은 공유기와 같은 임베디드 장비에 리눅스 운영체제가 사용되면서 개발이 시작되었다고 볼 수 있습니다.
DD-WRT 펌웨어는 미리 정해진 기능이 종합선물셋트로 주어진다고 볼 수 있습니다. 리눅스 커널을 기반으로 이미 원하는 기능과 인터페이스가 모두 주어지는 방식에 가까워서, 바로 사용할 수 있지만, 사용자가 시스템에 특정 기능을 더하거나 빼기 어려운 형태이다.
반면, OpenWRT 펌웨어는 기본 기능만 있고, 나머지는 모두 패키지 형태로 제공된다. 사용자는 시스템에 필요한 기능을 추가하거나, 필요없는 기능을 제거할 수 있다.
각각은 장단점이 있다고 볼 수 있고, 특별히 어느 쪽이 좋다고 비교할 수 있는 대상은 아니다.
리눅스 시스템에서 서버 설정등을 해보지 않은 초보적인 사용자들과 귀찮은 것을 싫어하는 사용자라면, DD-WRT가 어울린다고 볼 수 있고, 진정한 리눅서로서 리눅스 사용이 불편하지 않는 고급 사용자라면 OpenWRT가 더 어울린다고 볼 수 있다.
하드웨어를 선정하는 것은 전적으로 사용자의 몫이다.
WRT54G 제품은 DD-WRT의 OpenVPN 포함된 펌웨어가 있으므로, 그것만을 사용해야 한다. DD-WRT 펌웨어가 지원되는 리비전 종류가 정해져 있으므로(최근 출시된 7.0 리비전은 지원되지 않는다.), 하드웨어의 리비전을 잘 살펴야 한다.
DIR-825와 WZR-HP-G300NH는 하드웨어 사양도 충분하고, 성능도 좋은 제품이지만, CPU 성능과 Flash 롬 크기, 그리고 제일 중요한 가격 차이가 존재하므로 알아서 맘에 드는 것으로 선택하면 된다. 두 제품은 모두 DD-WRT 펌웨어와 OpenWRT 펌웨어가 잘 동작한다.
DIR-825와 WZR-HP-G300NH, WRT54G 제품은 각각 펌웨어 업데이트 방법을 숙지하고, 웹 인터페이스에서 또는 tftp를 사용하여 펌웨어를 업데이트하면 된다.
펌웨어 업데이트 과정에서 특별하게 어려운 점은 없다. 펌웨어 업데이트가 실패하더라도 복구하는 방법이 있으므로, 너무 긴장하지 말기 바란다.