Recent Posts
Recent Comments
05-17 19:32
관리 메뉴

Mandoo’s WLAN story

[Linux/Kali] hostapd를 이용한 WiFi Access Point 생성 본문

Linux

[Linux/Kali] hostapd를 이용한 WiFi Access Point 생성

mandoo12 2021. 11. 12. 14:34

80211b 프로토콜을 기준으로 AP를 생성해보고자 한다.

1. AP를 생성하기 위해 Master Mode가 지원되는 무선랜카드를 장착한다. 무선랜카드 드라이버 관련해서는 아래 링크를 확인하고 설치해보자!

https://mandoo12.tistory.com/32

2. Kali linux를 실행 시킨 뒤 hostapd 패키지와 isc-dhcp-server를 설치한다.

sudo apt-get install hostapd
sudo apt install isc-dhcp-server


3. 무선 인터페이스 ip를 아래와 같이 임의로 설정한다.

vi /etc/network/interfaces

auto wlp2s0
iface wlp2s0 inet static
address 10.10.0.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8

/etc/network/interfaces

적용) sudo systemctl restart networking.service
sudo service network-manager restart

4. Hostapd 디렉토리에 접근해 hostapd.conf 파일을 생성하고 AP의 설정 내용을 아래와 같이 입력한다.
* 해당 설정값들은 프로토콜 마다 다른 점을 유의하자. 각 프로토콜 별 설정을 다 넣을 경우 가장 높은 수준의 프로토콜로 연결이 될 것이다.

vi /etc/hostapd/hostapd.conf

interface=wlan0 (무선인터페이스명)
ssid=hostapdTest
ignore_broadcast_ssid=0
channel=1
hw_mode=g
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
wpa_ptk_rekey=600
macaddr_acl=0

/etc/hostapd/hostapd.conf

5. 생성할 AP의 인터넷 사용을 위 dhcp 서버를 설정해준다.

sudo vi /etc/dhcp/dhcpd.conf


subnet 10.10.0.0 netmask 255.255.255.0 {
range 10.10.0.2 10.10.0.16;
option domain-name-servers 168.126.63.1, 8.8.8.8;
option routers 10.10.0.1;
}

sudo vi /etc/default/isc-dhcp-server

INTERFACES="wlan0"

/etc/default/isc-dhcp-server


6. 네트워크 포워딩 설정

sudo vi /etc/sysctl.conf


"net.ipv4.ip_forward" 0이면 1로 변경 후, 재부팅


7. 필요한 경우 macchanger를 이용해 mac주소도 설정해준다.

ifconfig wlan0 down
Macchanger –m [사용할 mac주소]

* Macchanger는 패키지를 설치해야하기 때문에 아래 커맨드도 사용 가능하다.
* sudo ifconfig wlan0 hw ether [사용할 mac주소]
* 설정이 완료되면 다시 활성화 시켜준다.

ifconfig wlan0 up //wlan0 활성화

8. hostapd의 -dd 옵션과 conf 파일을 적용시켜 hostapd를 실행시킨다.

/usr/sbin/hostapd -B -P /run/hostapd.pid -B /etc/hostapd/hostapd.conf
혹은
sudo systemctl start hostapd


9. isc-dhcp-server 실행

/etc/init.d/isc-dhcp-server start

isc-dhcp-server 실행이 정상적으로 되면 아래 문구가 표시된다.
Starting isc-dhcp-server (via systemctl): isc-dhcp-server.service.

dhcp 실행이 안되면 ifconfig로 IP 들어가있는지 확인하고, 들어가있지 않으면 아래 커맨드를 이용해 IP를 입력한다.

sudo ifconfig wlan0 10.10.0.1 netmask 255.255.0.0


10. iptables 설정

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


11. iptables 설정 잘 됐는지 확인

sudo iptables -t nat -L


12. Wi-Fi가 가능한 단말에서 "test_ap"에 접속하면 인터넷 사용까지 가능한 것을 확인한다.