요즘은 모든 기기가 Wi-Fi를 지원한다고 생각하기 쉽지만, 실제로는 무선으로 인터넷에 연결할 수 없는 기기도 여전히 많습니다. 이럴 때 라즈베리 파이(Raspberry Pi)를 Wi-Fi 브리지로 활용하면 아주 유용합니다.
이더넷 포트만 있는 오래된 데스크톱 PC를 다시 사용하고 싶거나, Wi-Fi 신호를 유선 이더넷 연결로 빠르게 변환해야 한다면 라즈베리 파이가 훌륭한 해결책이 됩니다.
라즈베리 파이를 Wi-Fi 브리지로 만들기
이 튜토리얼에서는 라즈베리 파이를 Wi-Fi 브리지로 변환하는 방법을 알아봅니다. 라즈베리 파이가 네트워크에 무선으로 접속한 뒤, 그 신호를 유선 연결로 바꿔주는 방식입니다. 이후 이더넷 케이블로 어떤 기기든 라즈베리 파이에 연결하면 해당 기기는 즉시 네트워크에 접근할 수 있게 됩니다.
시작하기 전에 한 가지 참고할 점이 있습니다. 라즈베리 파이를 통해 Wi-Fi에 연결된 기기는 라우터에 직접 연결된 기기만큼 빠른 속도를 내기는 어렵습니다. 하지만 이더넷 전용 기기를 물리적으로 라우터에 연결하는 것이 불가능한 상황이라면, 라즈베리 파이는 빠르고 간편하며 비용 부담도 적은 인터넷 연결 방법입니다.
준비물
이 튜토리얼을 진행하려면 다음 항목들이 필요합니다.
- Wi-Fi 모듈이 내장된 라즈베리 파이 모델(Zero, 3, 4)에 라즈베리 파이 OS 설치
- 라즈베리 파이와 호환되는 전원 케이블
- 외장 키보드와 이를 연결할 수단
- 모델에 맞는 HDMI 또는 마이크로 HDMI 케이블
- 외부 모니터
- 이더넷 케이블
1단계: 라즈베리 파이 업데이트
아직 연결하지 않았다면 외장 키보드, 모니터 등 주변 기기를 라즈베리 파이에 연결한 후 전원을 공급하세요.
본격적인 설정에 앞서 라즈베리 파이가 최신 상태인지 확인해야 합니다. Raspbian 도구 모음에서 '터미널(Terminal)' 아이콘을 클릭해 새 터미널을 열고 다음 명령어를 실행합니다.
sudo apt update && sudo apt -y upgrade
2단계: 네트워크 서비스 설정 — dnsmasq 설치
다음으로 DNS 캐싱과 DHCP 서버 기능을 제공하는 dnsmasq 패키지를 설치합니다. 이 패키지로 DNS 요청을 처리하면 라즈베리 파이가 이더넷 전용 기기를 위한 미니 라우터 역할을 수행할 수 있습니다.
dnsmasq를 설치하려면 아래 명령어를 실행하세요.
sudo apt install dnsmasq
3단계: 이더넷 연결 구성
이제 eth0 인터페이스가 고정 IP 주소를 사용하도록 'dhcpcd.conf' 파일을 수정합니다. 설정 파일을 열려면 다음 명령어를 실행합니다.
sudo nano /etc/dhcpcd.conf
'dhcpcd.conf' 파일이 나노(Nano) 텍스트 편집기에서 열립니다. 파일 끝에 다음 내용을 추가하세요.
interface eth0 static ip_address=192.168.220.1/24 static routers=192.168.220.0
Ctrl + O를 눌러 변경 사항을 저장하고, Ctrl + X를 눌러 파일을 닫습니다.
변경 사항을 적용하려면 dhcpcd 서비스를 재시작합니다.
sudo service dhcpcd restart
dnsmasq 설정 파일 교체
dnsmasq 패키지에는 기본 설정 파일이 포함되어 있지만, DHCP와 DNS 트래픽을 처리하는 방식을 지정하는 자체 설정으로 교체해야 합니다.
수정하기 전에 원본 설정 파일의 이름을 변경하고 백업해 둡니다.
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.original
새 설정 파일을 생성해 편집을 시작합니다.
sudo nano /etc/dnsmasq.conf
나노 편집기에서 새로 열린 dnsmasq.conf 파일에 다음 내용을 입력합니다.
interface=eth0 listen-address=192.168.220.1 bind-interfaces server=8.8.8.8 domain-needed bogus-priv dhcp-range=192.168.220.50,192.168.220.150,12h
Ctrl + O로 저장한 뒤, Ctrl + X로 파일을 닫습니다.
IP 포워딩 활성화
다음은 IP 포워딩을 활성화하여 라즈베리 파이가 이더넷 연결에서 받은 네트워크 패킷을 라우터로 전달할 수 있도록 하는 단계입니다.
IPv4 포워딩을 켜려면 'sysctl.conf' 설정 파일을 편집합니다.
sudo nano /etc/sysctl.conf
'sysctl.conf' 파일이 나노 편집기에서 열리면 다음 줄을 찾습니다.
#net.ipv4.ip_forward=1
줄 앞의 # 기호를 삭제하여 아래와 같이 만듭니다.
net.ipv4.ip_forward=1
Ctrl + O로 저장하고, Ctrl + X로 파일을 닫습니다.
새 설정 파일을 즉시 적용하려면 다음 명령어를 실행합니다.
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
이더넷에서 Wi-Fi로 트래픽 전달 설정
IP 포워딩이 활성화되었으니, 이제 방화벽을 구성해 이더넷 인터페이스(eth0)에서 수신한 트래픽을 Wi-Fi 연결(wlan0)로 전달하도록 설정합니다. 이렇게 하면 이더넷으로 라즈베리 파이에 연결된 모든 기기가 파이의 Wi-Fi 연결을 사용할 수 있습니다.
수신한 데이터 패킷을 전달하는 방법을 알려주는 규칙을 추가합니다.
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
새 규칙을 저장합니다.
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
이 규칙들은 라즈베리 파이가 재부팅될 때마다 초기화되므로, 부팅 시 자동으로 다시 불러오도록 설정해야 합니다.
부팅 시 실행되는 작업을 정의하려면 'rc.local' 파일을 편집합니다.
sudo nano /etc/rc.local
rc.local 파일이 나노 편집기에서 열리면 다음 줄을 찾습니다.
exit 0
'exit' 줄 바로 위에 다음 내용을 추가합니다.
iptables-restore < /etc/iptables.ipv4.nat
Ctrl + O로 저장한 뒤, Ctrl + X로 파일을 닫으면 설정이 완료됩니다.
Wi-Fi 브리지 테스트하기
마지막 단계는 dnsmasq 서비스를 시작하는 것입니다.
sudo service dnsmasq start
이제 Wi-Fi 브리지를 테스트할 차례입니다! 이더넷 케이블로 아무 이더넷 전용 기기나 라즈베리 파이에 연결해 보세요. 라즈베리 파이가 해당 기기에 인터넷 연결을 제공할 것입니다.
마무리
이번 가이드에서는 라즈베리 파이의 Wi-Fi 연결을 이더넷 연결로 변환하여 유선 기기와 인터넷을 공유하는 방법을 배웠습니다. 이 외에도 라즈베리 파이는 캡티브 포털(Captive Portal) Wi-Fi 핫스팟이나 개인 웹 서버로도 활용할 수 있습니다. 이 글이 도움이 되었다면 의견을 남겨주세요.
직접 따라 할 수 있는 다른 라즈베리 파이 프로젝트들도 계속 소개해 드릴 예정이니 많은 관심 부탁드립니다.