반응형

 


 

작성일: 2023년 12월 15일
준비물: Raspberry Pi 5
   (Pi 3B, 4, 5 모두 테스트해봤는데, 설정 내용이 동일했다. 그러니까 아무 버전의 Raspberry Pi 다 된다는 뜻.)

 

 

 

Raspberry Pi 5를 아래와 같이 Wi-Fi AP로 구축한다면, 아래의 설명을 쭉~ 따라하면 잘 동작한다.

 

Raspberry Pi를 Wi-Fi Access Point로 사용하기 위한 구성도

 

 

아래의 명령만 복붙(Copy & Paste)하면 동작할 것이다.

(자세한 설명은 이 링크의 공식 문서를 참고)

 

 

 

DNSMasq, HostAPD를 설치

$ sudo apt install dnsmasq hostapd

## 참고: 설정 작업을 위해 임시로 서비스를 종료시킨다.
$ sudo systemctl stop dnsmasq
$ sudo systemctl stop hostapd

 

Raspberry Pi의 무선 Interface wlan0에 Static IP 설정

$ sudo vim /etc/dhcpcd.conf

... 중간 생략 ...

## 이 파일의 마지막 부분에 아래의 3줄을 추가한다.
interface wlan0
    static ip_address=192.168.4.1/24
    nohook wpa_supplicant
    
$ sudo systemctl restart dhcpcd

 

DHCP Server 설정

$ sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

$ sudo vim /etc/dnsmasq.conf
## 이 파일에 아래 2줄을 추가한다.
interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h


$ sudo systemctl start dnsmasq

 

Access Point Host 프로그램 설정

$ sudo vim /etc/hostapd/hostapd.conf
country_code=KR
interface=wlan0
ssid=YOURSSID
hw_mode=g
channel=7
auth_algs=1
wpa=2
wpa_passphrase=YOURPWD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ignore_broadcast_ssid=0


$ sudo vim /etc/default/hostapd
... 중간 생략 ...
## 아래 설정 내용을 추가한다.
DAEMON_CONF="/etc/hostapd/hostapd.conf"
... 중간 생략 ...

 

 

위와 같이 따라하면, Wi-Fi 구간의 설정은 끝 !!!

 

아래는 Raspberry Pi의 Wi-Fi 인터페이스 wlan0 으로 들어온 IP 트래픽을 유선 인터페이스 eth0 방향으로 보내면서 Masquerading 하는 설정이다.  

이 설정이 잘 되어야 무선으로 접속한 PC 또는 스마트폰이 유선 방향(즉, 인터넷 방향)으로 트래픽이 잘 전달된다.

 

IP Routing 및 Masquerading 설정

$ sudo nano /etc/sysctl.conf
... 중간 생략 ...
## 아래의 1줄을 추가한다.
net.ipv4.ip_forward=1
... 중간 생략 ...

## 라즈베리 파이에서 외부로 나가는 트래픽을 eth0의 IP address로 변경하는 설정.
## (일반적인 Source NAT 설정과 동일함)
$ sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE

## 재기동 후, 위 IPTables의 NAT 설정이 유지되도록 아래와 같이 설정을 저장함.
$ sudo netfilter-persistent save

$ reboot

 

 

위 설정 작업이 끝나면, 라즈베리 파이는 무선 AP로 동작할 것이다.

스마트폰이나 노트북으로 라즈베리 파이의 Wi-Fi 접속해보면 인터넷이 잘 될 것이다.

 

 

참고하면 좋은 문서

https://raspberrypi-guide.github.io/networking/create-wireless-access-point


 

+ Recent posts