LINUX에서 WIFI 사용 총 정리

[1.1.0-181110]

[업데이트 로그]
1.0.0-181110: 가독성 증대 및 양식 통일
2018-08-30, 18:07 – wpa_supplicant 관련

 

LINUX에서 WIFI를 이용하는 것, 전혀 어렵지 않습니다.

이번 글에서는, CLI환경에서 몇 가지의 커맨드만을 이용해서 WIFI를 사용하는 방법을 소개하겠습니다.

우선, 친숙해지셔야할 명령어입니다.

  • ifconfig
  • wpa_passphrase
  • wpa_supplicant
  • (iw dev) //   큰 문제가 없는 경우,  위  세 가지의 명령어로 사용 가능

(기본적으로 본인 하드웨어, 즉, 와이파이 장치의 드라이버가 로드되었다고 가정하겠습니다. 장치의 드라이버는 대부분 배포판에서 모듈로써 설치되어 인식되자마자 로드되기 때문에 걱정하지 않으셔도 됩니다. 이 부분을 신경써주셔야 할 배포판은 아치 리눅스(아치 리눅스도 사실 범용 드라이버는 문제 없다고 생각하셔도 무방합니다.), 젠투 리눅스 및 슬랙웨어, BSD계열 혹은 LFS입니다.)


드라이버

기본적으로 본인의 Wireless 드라이버가 설치되어 로드되는지 확인해야합니다. 각 배포판에서 제공하는 Linux-firmware가 설치되어 있다면 대부분의 무선 장치는 문제없이 사용할 수 있어야만 합니다. 아래의 커맨드를 입력해 봅니다. (모듈이 제대로 로드되지 않았다면, 해당 부분은 별도의 글에서 다루도록 하겠습니다. 현재는 모듈이 제대로 로드되어있는 경우를 대상으로 합니다.)

$lspci -k

아래와 같은 부분이 확인되어야 합니다.

06:00.0 Network controller: Intel Corporation WiFi Link 5100
Subsystem: Intel Corporation WiFi Link 5100 AGN
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi

혹은

03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
Subsystem: Lite-On Communications ~~~
Kernel driver in use: rtl8723be
Kernel modules: rtl8723be

위의 정보에서 1) 네트워크 컨트롤러가 어떤 것인지, 2) 커널 드라이버가 어떤 것이 사용되고 있는지, 3) 커널 모듈의 이름은 무엇인지 확인할 수 있습니다. 즉, 위의 예에서는 Intel WiFi Link 5100이라는 이름의 하드웨어가 사용되고 있고, 커널드라이버는 iwlwifi가 사용되며, iwlwifi에 해당하는 모듈의 이름은 iwlwifi입니다. (혹은 rtl8723be)


인터페이스 이름

다음의 명령을 통해 인터페이스의 이름이 무엇으로 적용되었는지 확인합니다.

$ifconfig -a

기본적으로 아웃풋을 눈여겨보시면

enp2s0(f2)       Link encap:Ethernet ~~ // enp2s0(f2) 부분이 사용자마다 다릅니다!!
inet addr:192.168.0.194 Bcast:192.168.0.255 Mask:255.255.255.0
(추가적인 정보들)

lo            (지금은 모르셔도 되는 추가적인 정보들)

wlp2s0    Link encap:Ethernet Hwaddr~~ // wlp2s0 부분이 사용자마다 다릅니다!
(아래로 추가적인 정보들)

위와 같이 등장합니다. 일반적으로, eth0에 해당하는 여러분의 장치명(예를 들어, enp2s0일 수도 있고, enp0s3일 수도 있고)은 유선 연결 인터페이스명에 해당하고 wlan0 부분에 해당하는 여러분의 장치명(예를 들어, wnp2s0 혹은 wlp0s2 등)은 와이파이 장치의 인터페이스 이름에 해당합니다. 이 인터페이스 이름을 잘 기억해두시거나 적어두신 후에 아래를 진행합니다.


인터페이스 켜기

이제, 해당 장치의 인터페이스를 켜보도록 하겠습니다. 쉽게 설명하자면 장치를 켜는 것과 같다고 생각하시면 됩니다. 반드시 아래 예시의 wnp2s0부분에는 위에서 확인한 본인 와이파이 장치의 인터페이스 이름이 들어가야합니다. 아래에서 계속 동일합니다. 

$ip link set wlp2s0 up

정보 입력

1. 본인의 와이파이 이름을 모르는 경우

$iw dev wlp2s0(본인 장치명) scan

위의 명령어를 통해 와이파이 장치가 주변의 와이파이를 스캔할 수 있습니다. 결과물 중, 본인이 연결하고 싶은 와이파이 이름을 확인합니다.

2. 본인의 와이파이 이름과밀번호를 모두 아는 경우

‘wpa_passphrase’라는 명령을 통해 내가 알고 있는 와이파이 이름과 비밀번호를 변형해줍니다. ‘$wpa_passphrase (와이파이이름) (와이파이비번)’을 해보시면 올바른 형태로 출력됩니다. 하지만 이것을 파일에 그대로 옮기는 것이 귀찮기도하고, 오타가 발생할 확률이 있기 때문에 아래와 같이 자동으로 처리하는 방법이 있습니다. 참고로, /etc/wpa_supplicant/본인드라이버명.conf 파일에 추가하면 관리하기가 편합니다. 다른 파일명으로 하셔도 무방합니다. 하지만 와이파이 연결을 진행할 때 해당 파일명을 정확히 기억하고 있어야 합니다.

$wpa_passphrase my_wifi_ssid my_wifi_password >> /etc/wpa_supplicant/wlp2s0.conf

와이파이 켜기

이제 아래 명령을 통해 실제로 와이파이를 켜보겠습니다. -B: background로 진행, -i: device 이름을 적어줍니다. 아래 예시에서는 wlp2s0, -c: 파일의 위치를 알려줍니다. 아래 예시에서는 2.에서 진행했던 경로를 사용하였습니다.

$wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant/wlp2s0.conf

IP 받기-DHCP를 이용

$dhcpcd wlp2s0

확인

$ping -c 3 www.google.com

 

logorealfinal

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.