공유기가 따로 없어도, 사무용이나 소형 PC를 무선 공유기처럼 개조할 수 있습니다. 하드웨어를 튜닝하는 것이 아니라, PC를 구매했을 때 무선 모듈만 내장되어 있었다면 충분히 가능합니다.
원리는 휴대폰 핫스팟과 크게 다를 게 없습니다. 공유기가 될 PC에 꽂을 랜선 하나만 있어도, 나머지 휴대폰이나 태블릿 등 주변 기기들이 모두 인터넷을 이용할 수 있게 되는 거죠.
마침 저도 이렇게 생긴 미니 PC를 하나 보유 중이여서, 공유기 역할을 주면서 동시에 Linux도 알차게 사용하고 있습니다.
1. 무선 랜카드 확인
가장 먼저, 무선 랜카드가 PC와 연결되어 있는지부터 확인합니다. product: Wi-Fi
가 발견되면 무선 랜카드가 설치되어 있음을 의미합니다.
$ sudo lshw -C network
2. AP 활성화
무선 네트워크 설정에 필요한 패키지들을 설치합니다.
$ sudo yum -y update
$ sudo yum -y install NetworkManager-wifi wpa_supplicant dhcp-server
하드웨어 상에 구성된 네트워크를 감지합니다. 표시되는 목록에서 TYPE 항목이 wifi
로 출력된 행에 주목합니다. 제 경우는 wlan0
이라는 네트워크 디바이스가 발견되었네요.
$ nmcli device status
해당 네트워크 디바이스에 대한 상세 설명을 볼 수 있습니다.
$ nmcli device show wlan0
/etc/NetworkManager/NetworkManager.conf
경로로 들어가 아래 내용을 파일 하단에 추가합니다.
# /etc/NetworkManager/NetworkManager.conf 하단에 아래 내용 추가
[device]
wifi.scan-rand-mac-address=no
[ifupdown]
managed=false
[main]
plugins=ifupdown,keyfile
NetworkManager 서비스를 재시작하고 나서 새로운 무선 네트워크 채널을 추가할 것입니다.
$ sudo systemctl restart NetworkManager
$ sudo systemctl status NetworkManager
$ sudo systemctl restart wpa_supplicant
$ sudo nmcli connection show
무선 네트워크 설정을 진행합니다.
- ifname: 무선 인터페이스 이름 (wlan0)
- con-name: 라우터 내부에서 사용하는 연결 이름 (SSID와 동일하게 써도 됨)
- ssid: 외부로 노출되는 무선 네트워크 이름
- band: 대역폭, 2.4GHz(Wifi-4 이하, 802.11n)는
bg
, 5GHz(Wifi-5 이상 802.11 ac 또는 802.11 ax)는a
(잘 모르겠으면 일단 라우터 장비가 LTE만 지원하는지, 5G도 지원하는지 확인해봐야 함) - channel: 앞의
band
에 따라 다름 (bg
는 대표적으로 ‘3’,a
는 대표적으로 36을 사용. 자세한 건 https://en.wikipedia.org/wiki/List_of_WLAN_channels 을 참고하면 되는데, 어차피 복잡해서 어지간하면 알려준 대표 채널을 사용하길 권장) - password: 무선 네트워크 접속 비밀번호
# band가 bg면 2.4GHz, a면 5 GHz
$ sudo nmcli device wifi hotspot ifname wlan0 con-name Wisenet ssid Wisenet band bg channel 3 password 'wisenet98'
# band가 a면 5 GHz
$ sudo nmcli device wifi hotspot ifname wlan0 con-name Wisenet ssid Wisenet band a channel 36 password 'wisenet98'
$ sudo nmcli connection modify Wisenet ipv4.method manual ipv4.addresses 192.168.30.1/24 ipv4.gateway 192.168.30.1
$ sudo nmcli connection modify Wisenet connection.autoconnect yes
$ sudo nmcli connection modify Wisenet 802-11-wireless-security.key-mgmt sae # 이거 설정안하면 iphone, ipad에서 접속 불가
$ sudo nmcli connection up Wisenet
$ sudo nmcli connection show --active
3. DHCP 설정
Wifi에 연결된 무선 단말들에게 자동으로 IP 주소를 할당하기 위해 DHCP 서비스를 활성화할 것입니다.
/etc/dhcp/dhcpd.conf
설정 파일을 열어 아래 내용을 작성합니다.
- subnet: AP 설정 단계에서
wlan0
에 부여한 IP 대역 (ex.,192.168.30.0
) - netmask:
255.255.255.0
- range: 무선 단말(클라이언트)가 가질 수 있는 IP 대역
- broadcast-address:
192.168.x.255
로 설정 - domain-name-servers: 도메인 서버 주소 (ex.,
8.8.8.8
: 가장 흔히 쓰는 구글 DNS 서버) - routers: 게이트웨이 IP 주소, 대게
192.168.x.1
을 부여
# /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.30.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.30.200 192.168.30.220;
option broadcast-address 192.168.30.255;
option domain-name-servers 8.8.8.8;
option routers 192.168.30.1;
}
DHCP 서비스를 PC의 기본 시작 서비스로 등록하고 재시작합니다.
$ sudo systemctl daemon-reload
$ sudo systemctl enable dhcpd.service
$ sudo systemctl restart dhcpd.service
$ sudo systemctl status dhcpd.service
마지막으로 DNS 쿼리를 수용할 수 있도록 방화벽을 설정한 뒤, PC를 재부팅합니다.
sudo firewall-cmd --zone=public --add-service=dns --permanent
sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo reboot
4. 무선 단말에서 Wifi 테스트
휴대폰이나 태블릿을 꺼내 신호가 잡히는 Wifi 목록에 새로운 무선 네트워크가 표시되는지 확인해봅니다.