반응형
작성일: 2023년 12월 15일
준비물: Raspberry Pi 5
(Pi 3B, 4, 5 모두 테스트해봤는데, 설정 내용이 동일했다. 그러니까 아무 버전의 Raspberry Pi 다 된다는 뜻.)
Raspberry Pi 5를 아래와 같이 Wi-Fi AP로 구축한다면, 아래의 설명을 쭉~ 따라하면 잘 동작한다.
아래의 명령만 복붙(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
'Raspberry Pi' 카테고리의 다른 글
[ Raspberry Pi, 라즈베리 파이 ] VNC Server, Client(Viewer) 설치 (0) | 2023.12.22 |
---|---|
[ Raspberry Pi, 라즈베리 파이 ] 마우스 스크롤 방향 바꾸기 (Natural Scroll) (0) | 2023.12.20 |
[ Raspberry Pi 5 ] CPU 온도 및 Cooling Fan Speed 확인 + 제어 (0) | 2023.12.14 |
HTTP Server Access Log에 있는 IP Address를 iptables로 Drop 하기 (0) | 2021.08.14 |
MPEG을 WEBM으로 변환 (0) | 2021.07.11 |