본문 바로가기

개발자 레니는 지금 -/하드웨어와 함께

[ ARTIK 5/7/10 ] Wi-Fi AP로 동작하기 on Linux


# Wi-Fi Access Point ( AP )

# ARTIK 5/7/10


# 기본적으로 ARTIK과 컴퓨터를 연결 하고 난 뒤라고 생각하고 설명합니다.

제가 사용하는 ARTIK은 Fedora가 아닌 Ubuntu 입니다.


# 사용하시는 ARTIK이 Fedora인 경우

설치 상의 특별한 다른 점은 없으나, 불안하다 정확하게 알고 싶다 하시면 ARITK Modules | developers 페이지 방문하셔서 진행해주세요.

Fedora 22 ( 2016년 04월 이전 제품 ) 에서는 작업전에 다음 command로 SoftAP 모드를 실행하기위한 Utility program을 설치해주세요.


1
leni@leni-H110M-DS2V:~$ dnf install hostapd bridge-utils
cs




ARTIK Modules | developers 에 있는 문서를 보면


Instead of being a Wi-Fi® client, ARTIK can be set up as a Wi-Fi Access Point (SoftAP mode). Using its external Ethernet connection, the ARTIK module provides wireless Internet services to other Wi-Fi clients.


아틱이 soft AP mode 로써 외부 인터넷 연결을 사용하여 wireless internet service를 제공한다고 되어있습니다.




1. Sotf AP Mode Setting


가. Configure Host Access Point Daemon ( hostapd )

 : 호스트 엑세스 포인트 데몬을 구성합니다.


1) Open the 'hostapd' configuration file for editing.

: hostapd 구성 파일을 수정하기 위해 열어줍니다.


1
leni@leni-H110M-DS2V:~$ vi /etc/hostapd/hostapd.conf
cs


2) Copy and paste each of these assignments, replacing any existing ones and modifying as needed.

: 아래 내용을 복 붙 해주세요. 수정할 내용이 있다면 수정해주세요.


interface=wlan0

driver=nl180211

ssid=ARTIK_AP (choose the name here)

hw_mode=g

channel=6


auth_algs=1

wpa=2

wpa_passphrase=artik@iot (choose the passphrase here)

wpa_pairwise=TKIP CCMP

rsn_pairwise=CCMP


ssid 에 Wi-Fi 이름을 적어주시고, wpa_passpharase 에 Wi-Fi 비번을 적어주시면 됩니다.



3) If you are providing an unsecured Wi-Fi connection, comment out entries for the last five assignments shown.

: 안전하지 않은 Wi-Fi connection 을 하고 싶으면 마지막 5줄을 주석처리하라고 합니다. 비번없는 Wi-Fi가 되는 것 같습니다.


4) Save and Close.

: 저장하고 종료해 주세요. 


# vi 에서 저장 후 종료 방법

- ESC 키를 누른다 >>  : 를 누른다 >> wq를 입력한다 ( ex> :wq ) >> Enter 키를 누른다.



나. Configure dnsmasq, a lightweight DHCP and caching DNS server that resolves local hostnames internally by using the /etc/hosts file along with any binding address ranges you specify here.

: dnsmasq를 구성합니다, 지정한 주소 범위와 함께 파일을 사용하여 로컬 호스트 이름을 내부적으로 확인하는 가벼운 DHCP 및 캐싱 DNS 서버를 구성합니다.


1)  Open the 'dnamasq' configuration file for editing.

: 수정을 위해 dnamsap 파일을 열어주세요.


1
leni@leni-H110M-DS2V:~$ vi /etc/dnsmasq.conf
cs


2) Search for the bind-interfaces section.

: bind-interfaces 섹션을 찾아주세요.


# vi 에서 특정 단어 찾는 방법

- ESC 키를 누른다 >> / 를 누른다 >> 단어를 입력한다 ( ex> /bin-interfaces ) >> Enter 키를 누른다.


3) Select and copy this category and assignment.

: 아래 내용을 복 붙 해주세요.


dhcp-range=192.168.X.2,192.168.X.100


bind-interfaces 앞의 # (주석처리) 부분을 없애주시고, bind-interfaces 밑에 입력해주세요.

X 자리에는 원하시는 숫자를 넣어주시면 됩니다. 숫자를 입력하실 때 사용중인 다른 범위와 겹치지 않게 설정해주세요.

Wi-Fi Client에 할당되는 IP 주소로 범위를 선택하시는 작업입니다.


ex >

bind-interfaces

dhcp-range=192.168.1.2, 192.168.1.100


# vi 에서 글 삽입 하는 방법

- ESC 키를 누른다 >> a 를 누른다( 커서 위치의 뒷쪽으로 입력 됩니다 ) >> 수정한다.


4) Save and close.

: 저장하고 종료해 주세요. 



다. Using the iptables command set, configure the access point to route through IP masquerade rules to provide the network address translation needed.

: iptables 명령어를 이용하여 IP masquerade rules를 통해 라우트하도록 엑세스 지점을 구성해주세요.


1) Open a new file for editing as a shell script file. We'll call ours 'aproute.sh'.

: 수정을 위해 새로운 쉘 스크립트 파일을 만들어주세요. 이름은 'aproute.sh' 로 합니다.


1
leni@leni-H110M-DS2V:~$ vi aproute.sh
cs


2) Select and copy these commands.

: 아래 항목을 복 붙 해주세요.


sysctl net.ipv4.ip_forward=1


iptables --flush


iptables -t nat --flush


iptables --delete-chain


iptables -t nat --delete-chain


iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


iptables -A FORWARD -i wlan0 -j ACCEPT



3) Save and close.

: 저장하고 종료해 주세요. 


4) Remember to make the file executable.

: 파일을 실행가능한 상태로 만들어 주세요.

1
leni@leni-H110M-DS2V:~$ chmod 777 aproute.sh
cs



2. Enabling Access Point


Before begging, disable Connection Manager to prevent it from stealing connections.

: 시작하기 전에, 연결 관리자가 연결을 도용하지 않도록 해제하세요.


1
2
leni@leni-H110M-DS2V:~$ systemctl disable connman
leni@leni-H110M-DS2V:~$ reboot
cs


AP를 처음 ON 시킬 때 최초 한번만 해주시면 됩니다.

시작 이후 외부인터넷과 통신을 하신다면( 가. ~ 바. ) 단계를

ARTIK 끼리만 통신을 하신다면( 나. ~ 바. ) 단계를 AP를 ON 시켜주실 때마다 해주셔야하는 과정입니다.


가.  Bring up Ethernet operation.

: 이너뎃을 작동하세요.


1
2
leni@leni-H110M-DS2V:~$ ifconfig eth0 up
leni@leni-H110M-DS2V:~$ dhclient eth0
cs


AP를 이용하여 외부 인터넷 망에 접속할 경우에 필요한 사항입니다.

ARTIK 끼리만 통신을 한다 하시면 가. 번은 수행하시지 않아도됩니다.



나. For all module types except ARTIK 530, reset the network driver for the mode change.

: 모드 변경을위해 네트워크 드라이버를 재설정합니다. ARTIK 530 모듈은 제외입니다.


1
2
leni@leni-H110M-DS2V:~$ modprobe -r dhd
leni@leni-H110M-DS2V:~$ modprobe dhd op_mode=2
cs



다. Bring up Wi-Fi operation, specifying its gateway IP address. 

: 게이트웨이 IP 주소를 지정해 Wi-Fi를 작동하세요.


1
leni@leni-H110M-DS2V:~$ ifconfig wlan0 192.168.X.1 up
cs


X 자리에는 아까 설정단계에서 넣어던 숫자를 써주시면 됩니다.


ex >

ifconfig wlan0 192.168.1.1 up



라. Start dnsmasq to enable hostname service within the IP address range configured.

: 구성된 IP 주소 범위 내에서 호스트 이름 서비스를 시작하세요.


1
leni@leni-H110M-DS2V:~$ dnsmasq -C /etc/dnsmasq.conf
cs



마. Execute the script file to start network address translation.

: 스크립트 파일을 실행하여 네트워크 주소 변환을 시작합니다.


1
leni@leni-H110M-DS2V:~$ ./aproute.sh
cs


아까 생성해 놓은 'aproute.sh'를 실행하는 부분입니다.



바. Start the host access point daemon in the background.

: 백그라운드에서 호스트 엑세스 데몬을 시작합니다.


1
leni@leni-H110M-DS2V:~$ hostapd /etc/hostapd/hostapd.conf -B
cs








 더 알아보기


# AP모드종료하기


 참조내용


1. ARITK Modules | developers