우분투 무선 라우터(공유기) 만들기

by antibiotics posted Aug 16, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

 

외장 무선랜이 연결된 우분투를 무선 라우터로 사용할 수 있습니다.

 

준비물: 우분투가 설치된 컴퓨터(가상머신), 외장 무선랜(안테나가 탑재된 모델이면 더 좋음), 인터넷 환경

 

이 글은 우분투 16.04를 기준으로 작성되었습니다.

우분투 18.04나 그 이후 버전의 경우 네트워크 인터페이스 설정이 다를 수 있습니다.

 

 

1. 무선랜 드라이버 설치

 

p0.jpg

 

무선랜을 컴퓨터에 연결합니다.

저는 iptime의 N400UA 무선랜을 사용하겠습니다.

가상머신 환경일 경우 무선랜을 바로 가상머신에 연결해줍니다.

 

완벽한 PnP를 지원하는 MS Windows와 달리 리눅스는 직접 드라이버를 설치해야 하는 번거로움이 있습니다.

만약 이미 드라이버가 설치돼있다면 바로 2번으로 넘어가셔도 됩니다.

 

# apt update

# apt install git build-essential make g++ bc

 

우선 컴파일에 필요한 필수 패키지를 설치합니다.

 

1.PNG

 

그 다음 사용할 무선랜의 칩셋 정보를 확인해야 합니다.

보통은 제조사의 제품 소개 페이지에 칩셋 정보가 나와 있습니다.

 

# git clone https://github.com/Mange/rtl8192eu-linux-driver

 

무선랜의 칩셋 모델을 알아냈다면 깃허브에서 동일 모델의 드라이버를 찾아서 소스를 다운받습니다.

제가 사용하는 iptime N400UA 무선랜은 rtl8192eu 칩셋을 사용하므로 해당 칩셋의 드라이버를 다운받았습니다.

 

# ls

# cd rtl8192eu-linux-driver

 

3.PNG

 

/rtl8192eu-linux-driver# make clean

/rtl8192eu-linux-driver# make

/rtl8192eu-linux-driver# make install

/rtl8192eu-linux-driver# reboot

 

드라이버를 컴파일하여 설치합니다.

설치가 완료되었다면 시스템을 한번 재부팅해줍시다.

 

# apt install wireless-tools

 

wireless-tools 패키지를 설치합니다.

 

4.PNG

 

# iwconfig

 

iwconfig를 입력하여 위와 같이 무선랜 인터페이스가 뜬다면 드라이버가 성공적으로 설치되었습니다.

 

dhcp 세팅을 위해 무선랜 인터페이스의 이름을 확인해둡시다.

저는 wlx88366cfdf799라고 뜨는군요.

 

 

2. dhcp 서버 및 네트워크 인터페이스 설정

 

# apt install dnsmasq

 

dnsmasq를 설치합니다.

 

5.PNG

 

# vi /etc/dnsmasq.conf

 

interface=wlx88366cfdf799
dhcp-range=wlx88366cfdf799,192.168.0.1,192.168.0.200,6h
dhcp-option=wlx88366cfdf799,option:netmask,255.255.255.0
dhcp-option=wlx88366cfdf799,option:router,192.168.0.250
dhcp-option=wlx88366cfdf799,option:dns-server,192.168.0.250

 

vim 에디터로 /etc/dnsmasq.conf 파일을 열어서 맨 위의 주석 라인 아래 위 내용을 입력합니다.

wlx88366cfdf799라는 인터페이스에 192.168.0.0/24에 해당하는 사설ip 대역을 할당해주는 dhcp 서버로서 작동하게 만들어 준 것입니다.

 

wlx88366cfdf799에 해당하는 부분은 자신의 무선 인터페이스로 바꾸어 작성하시면 됩니다.

 

dhcp-range에서 10.0.0.0/8이나 172.16.0.0/12, 192.168.0.0/16 등의 다른 사설ip 대역을 사용해도 무관합니다.

 

6.PNG

 

# vi /etc/network/interfaces


auto wlx88366cfdf799
iface wlx88366cfdf799 inet static
        address 192.168.0.250
        netmask 255.255.255.0
        broadcast 192.168.0.255
        dns-nameservers 192.168.0.250

 

vim 에디터로 /etc/network/interfaces 파일을 열어서 무선랜 인터페이스를 설정합니다.

마찬가지로 자신의 무선 인터페이스에 맞게 작성해주세요.

 

7.PNG

 

# ifup wlx88366cfdf799

# systemctl restart dnsmasq


wlx88366cfdf799 인터페이스를 활성화하고 dnsmasq를 재시작합니다.

 

8.PNG

 

# ifconfig

 

이제 ifconfig를 입력했을 때 위처럼 무선랜 인터페이스가 정상적으로 잡혀야 합니다.

만약 잡히지 않는다면 시스템을 재부팅하거나 /etc/network/interfaces 파일 작성 중에 구문 오류가 있지는 않았는지 확인해 봅시다.

 

 

3. AP 설정 및 dhcp 동작 확인

 

# apt install hostapd

 

hostapd를 설치합니다.

 

9.PNG

 

# vi /etc/hostapd/hostapd.conf

 

interface=wlx64e599f214f1
ssid=ubuntu_AP

country_code=KR
ignore_broadcast_ssid=0
hw_mode=g
channel=1

 

vim 에디터로 /etc/hostapd/hostapd.conf 라는 파일을 생성하여 위 내용을 입력해줍니다.

인터페이스가 AP로서 동작하기 위한 최소한의 필요 정보만을 입력한 것입니다.

 

2.4GHz 밴드 대역에서 1번 채널을 사용하여 통신하고, ubuntu_AP라는 ssid를 브로드캐스팅 한다는 내용입니다.

ssid 부분은 원하는 내용으로 수정하시고, channel 도 1 ~ 13번 중 가장 간섭이 덜한 채널을 사용하시면 되겠습니다.

 

hostapd의 configure 파일에 대해서는 아래 블로그에 매우 상세하게 정리되어 있습니다.

 

[Linux]Wi-Fi Access Point(AP) Mode 사용하기 [흰고래의꿈]

 

10.PNG

 

# vi /etc/default/hostapd

 

DAEMON_CONF="/etc/hostapd/hostapd.conf"

 

vim 에디터로 /etc/default/hostapd 파일을 열어서 위 라인을 추가하고 저장합니다.

 

11.PNG

 

# hostapd -d /etc/hostapd/hostapd.conf

 

위 명령을 입력하면 이제 무선랜이 AP로서 작동하기 시작합니다.

 

p2.jpg

 

이제 스마트폰이나 다른 무선 디바이스에서 AP를 검색해서 연결할 수 있습니다.

 

무선 디바이스가 dhcp 서버로부터 정상적으로 ip 주소를 할당받았는지 확인해줍니다.

제 스마트폰은 192.168.0.126을 받았군요.

 

 

4. NAT 설정 및 인터넷 연결 테스트

 

이제 무선랜은 AP로서 동작합니다.

하지만 아직 인터넷에 연결할 수는 없습니다.

 

인터넷을 사용하려면 192.168.0.0/24라는 내부 네트워크가 nat를 통해 외부 네트워크로 나갈 수 있도록 포워딩을 해 줘야 합니다.

 

12.PNG

 

# echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/ip_forward.conf
# sysctl --system

 

위 명령을 입력해 패킷 포워딩을 허용합니다.

 

13.PNG

 

# iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE

# iptables -t nat -L

 

iptables를 활용해 방화벽 내부와 외부가 서로 통신할 수 있게 포워딩해줍니다.

이제 포워딩도 마무리되었습니다.

 

# systemctl restart hostapd

# hostapd -d /etc/hostapd/hostapd.conf

 

hostapd를 다시 시작합니다.

 

이제 무선 디바이스에서 AP에 연결하면 인터넷을 사용할 수 있습니다.

한 대의 공유기처럼 사용하는 것이죠.

 

p3.jpg

 

스마트폰을 AP에 연결한 뒤 벤치비로 인터넷 속도 테스트를 돌렸습니다.

 

핑 극악, 업로드 속도 극악... 다운로드 속도는 그럭저럭 쓸 만한 수준이군요.

 

 

마무리

 

이 글은 우분투에 무선랜을 연결하여 무선 라우터로 사용하기 위한 '최소한의' 내용만 서술했습니다.

저는 우분투를 실제 무선 라우터로 사용하기 위해서가 아니라 그냥 학습 목적으로 이 글을 작성했고, 이 글이 리눅스를 공부하는 다른 분들께 조금이나마 도움이 되었기를 바랍니다.

 

만약 정말로 우분투를 무선 라우터로 사용해야 한다면 무선 인증 암호화나 방화벽 설정 등 조금 더 복잡한 작업을 해야 합니다.

 

 

도움을 받은 블로그


우분투 공유기 만들기 [drake.kr]

Ubuntu를 WiFi (AP)로 만들어 봅니다. (첫번째 도전) [Tongchun]