Ubuntu CLI 서버, 캡티브 포털 Wi-Fi에 연결하기

·2025년 11월 15일

Linux

목록 보기
4/4

이 글은 Ubuntu CLI 환경에서 JavaScript 기반 캡티브 포털 Wi-Fi에 연결하려다 발생한 문제를 해결하는 전체 과정을 명령어 중심으로 기록합니다.

1. 유선 및 무선 네트워크 진단

가장 먼저 기본적인 하드웨어 상태와 네트워크 환경을 진단했습니다.

# 1. 유선/무선 네트워크 인터페이스 상태 확인
# enp2s0(유선)가 'NO-CARRIER' 케이블 인식 불가 상태임을 확인
# wlp1s0(무선)가 'UP' 활성화 상태임을 확인
ip link show

# 2. 사용 가능한 Wi-Fi 네트워크 스캔
# iwlist 가 없다면, 'sudo apt install wireless-tools' 필요. 핫스팟 이용
# eduroam은 없고, '2_DDWU_WIFI' 학교 와이파이가 있음을 확인.
sudo iwlist wlp1s0 scan | grep ESSID

  • eth0, enp0s3 등의 인터페이스 이름이 유선 랜카드
  • 해당 항목의 STATE가 UP인지, LOSWER_UP인지 확인
    • STATE UP : 인터페이스가 활성화된 상태
      • DOWN으로 표시된다면 비활성화된 상태
    • LOWER_UP : 케이블이 물리적으로 연결되어 신호가 감지된 상태

2. CLI 환경에서 Wi-Fi 연결 시도

이제 어쩔 수 없이 무선으로 눈을 돌리게 되었습니다.

사실 우분투 CLI OS가 담긴 USB를 포맷하고, GUI 버전을 설치하여 간단하게 와이파이 등록 후, 다시 CLI로 설치하는 방법이 있었지만 오기가 생겨 당연히 CLI로 등록하는 방법은 있겠거니 생각해 여러 가지를 시도해보게 되었습니다.

wpa_supplicantdhclient를 수동으로 조합하여 'WPA2-개인' 방식의 Wi-Fi에 연결합니다.

# 1. wpa_supplicant 설정 파일 생성
# '2_DDWU_WIFI'의 SSID와 WPA2 비밀번호를 이용해 암호화된 PSK를 생성하고 파일로 저장.
wpa_paassphrase "2_DDWU_WIFI" "[password]" | sudo tee /etc/wpa_supplicant/wifi-wlp1s0.conf

# 2. wpa_supplicant 백그라운드로 실행
# '-B' : 백그라운드 실행
# '-i wlp1s0' : 사용할 무선 인터페이스 지정
# '-c ...' : 방금 생성한 설정 파일 경로 지정

sudo wpa_supplicant -B -i wlp1s0 -D nl80211,wext -c /etc/wpa_supplicant/wifi-wlp1s0.conf

# 3. IP 주소 할당 요청하기
# '-v' : 자세한 로그 출력
# 'wlp1s0' 인터페이스로 DHCP 서버에 IP를 요청
sudo dhclient -v wlp1s0

# 4. 인터넷 연결
# apt 가 DNS 주소를 찾지 못함 ('Temporary failure resolving...')
sudo apt update

CLI에서 캡티브 포털을 뚫기 위해 아래와 같은 단계로 진행했습니다.

3. 텍스트 브라우저 lynx 설치하기

캡티브 포털 로그인을 위해 lynx가 필요했지만 apt가 안되는 상황이었기에 핫스팟을 이용해 임시로 인터넷을 연결했습니다.

# 1. 기존의 학교 Wi-Fi 연결 종료
sudo killall wpa_supplicant

# 2. 모바일 핫스팟용 설정 파일 생성
wpa_passpharase "내핫스팟_SSID" "내핫스팟_pw" | sudo tee /etc/wpa_supplicant/hotspot.conf

# 3. 핫스팟에 연결
sudo wpa_supplicant -B -i wlp1s0 -D nl80211,wext -c /etc/wpa_supplicant/hotspot.conf

# 4. 핫스팟 IP 할당받기
sudo dhclient -v wlp1s0

# 5. 임시로 연결한 네트워크로 lynx 설치
sudo apt update
sudo apt install lynx

4. lynx로 로그인 시도

lynx 설치 후, 다시 학교 Wi-Fi로 돌아와서 로그인을 시도했습니다.

# 1. 핫스팟 연결 종료
sudo killall wpa_supplicant

# 2. 다시 학교 Wi-Fi에 연결
sudo wpa_supplicant -B -i wlp1s0 -D nl80211,wext -c /etc/wpa_supplicant/wifi-wlp1s0.conf
sudo dhclient -v wlp1s0

# 3. lynx로 캡티브 포털 접속 시도
# '-display_charset=UTF-8' : 한글 깨짐 방지
# http://example.com로 접속하는 이유는 캡티브 포털 접속을 하기 위함
lynx -display_charset=UTF-8 http://example.com

# 4. lynx 내부에서 'l' (List links)키 입력
# 'There are no references...' 메시지 확인.
# 페이지가 Javascript로 렌더링되어 lynx가 링크를 인식 못함을 확정

5. GUI 환경 설치

CLI로는 해결이 불가능해서 다시 모바일 핫스팟을 연결해 GUI 환경을 설치했습니다.

# 1. 핫스팟 다시 연결
sudo killall wpa_supplicant

wpa_passpharase "내핫스팟_SSID" "내핫스팟_pw" | sudo tee /etc/wpa_supplicant/hotspot.conf

sudo wpa_supplicant -B -i wlp1s0 -D nl80211,wext -c /etc/wpa_supplicant/hotspot.conf

sudo dhclient -v wlp1s0

# 2. 패키지 목록 업데이트
sudo apt update

# 3. 경량 GUI (Xubuntu) 설치
# 해당 과정에서는 모바일 핫스팟이 꽤 많이 필요로 하니 참고하시면 좋겠습니다
# gmd3와 lightdm 중 lightdm 선택
sudo apt install xubuntu-desktop

# 4. GUI 환경으로 재부팅
sudo reboot

6. GUI 네트워크 충돌 해결

GUI로 부팅했으나, Wi-Fi 아이콘이 device not managed 오류 표시.

# 1. 네트워크 상태 확인
# 'wlp1s0' 의 STATE가 'unmanaged'임을 확인
nmcli device status

# 2. 1번 실패 -> NetworkManager.conf 수정
# 'managed=false'를 'managed=true'로 수정했으나, 재부팅 후에도 'unmanaged' 지속됨
# netplan이 더 상위 설정임을 확인하고 netplan 수정
sudo vi /etc/NetworkManager/NetworkManager.conf
sudo reboot

# 3. 2번 실패 -> 구형 설정 파일 확인
# 파일이 비어있거나 'wlp1s0' 관련 내용이 없는지 확인
# 확인 결과 빈 파일이었음
cat /etc/network/interfaces

# 4. 'netplan' 설정 파일 생성
# netplan에게 모든 네트워크 제어권을 NetworkManager에게 위임하도록 설정
# '00-'으로 시작해 가장 먼저 로드되도록 함
sudo vi /etc/netplan/00-networkmanager-all.yaml

# 5. '00-networkmanager-all.yaml' 파일 내용 작성
network:
	version: 2
    renderer: NetworkManager
    
# 6. netplan 파일 권한 수정
# 'Permissions .. too open' 오류 방지 위해 644 권한 부여
sudo chmod 644 /etc/netplan/00-networkmanager-all.yaml

# 7. netplan 설정 적용
# 수정된 .yaml 파일을 시스템에 적용
sudo netplan apply

# 8. NetworkManager 서비스 재시작
sudo systemctl restart NetworkManager.service

# 이후 Wi-Fi 아이콘이 활성화됨

7. 최종 인터넷 연결 (GUI)

netplan 문제 해결 후, 인터넷 브라우저가 없어 캡티브 포털을 열지 못하는 문제가 발생해 모바일 핫스팟을 다시 연결했습니다.

# 1. 핫스팟 임시 연결 (GUI Wi-Fi 메뉴 이용)
# Wi-Fi 아이콘 클릭 -> 핫스팟 선택

# 2. Firefox 설치
sudo apt update
sudo apt install firefox

# 3. 학교 Wi-Fi로 복귀
# Wi-Fi 아이콘 클릭 -> '2_DDWU_WIFI' 선택 -> WPA2 비밀번호 입력

# 4. 캡티브 포털 로그인
# firefox 접속 -> 포탈 계정으로 로그인

# 5. 인터넷 최종 연결 성공

결론

최종적으로 CLI 환경에서 캡티브 포털 접속을 위해 진행했던 방법

  • 모바일 핫스팟을 wpa_passphrase 를 통해 연결
  • sudo apt update
  • sudo apt install xubuntu-desktop
profile
Whatever I want | Interested in DFIR, Security, Infra, Cloud

0개의 댓글