본문 바로가기
Study/Network

vm linux 에서 AP 만들기

by Melpin 2015. 11. 13.

우분투에서 무선랜카드를 AP로 사용하기 위해서는

hostapd 와 isc-dhcp-server 패키지를 이용하면 된다.

먼저 sudo apt-get install hostapd 명령으로 설치한 다음


hostapd의 설정을 바꾸기위해 다음 경로로 간다.

sudo vi /etc/hostapd/hostapd.conf

*참고로 제일처음에는 hostapd.conf파일은 존재하지않으므로 만들어줘야 한다.


hostapd.conf파일에대한 설명이 적혀있는 링크이다.

http://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf


많은 옵션이 있는대 필요한 옵션만 설정해주어도 잘 작동한다.

interface : 어떤 랜카드를 AP모드로 설정할지 결정한다

iwconfig로 자신이 연결한 랜카드가 번호가 무엇인지 확인

(필자는 wlan0로 잡혔다)

driver : 브리지모드가 아니라면 nl80211 로 설정해준다.))

ssid : AP의 이름을 설정해준다

hw_mode : 무선랜타입을 정한다.

이 역시 각자 iwconfig를 통해 자신의 랜카드 오퍼레이션 모드를 볼 수 있다.

기본설정에보면 g로 되어있는대 자신이 맞는 값으로 바꿔주면 된다.

(필자는 IEEE 802.11b 여서 b로 설정했다)

channel : 무선랜을 사용할 채널을 결정한다 (1~10)

ignore_broadcast_ssid : 이 AP리스트를 보여줄것인지를 결정할 수 있다.

1로 설정하면 다른이들은 주변에서 WiFi 네트워크 목록에서 확인할 수 없다.


다른설정값들은 위의 url에 적혀있는 기본값을 가져다 쓰면된다.

##### hostapd configuration file ##########################

이 적혀있는부분부터

##### IEEE 802.11 related configuration ###################

까지는 공통적인 요소이고 그다음부터는 iwconfig에서 확인할 수 있는 자신의 무선랜카드에 맞는 값의 옵션을 복사 붙여넣기 해주면 된다.


필자는 결과적으로 다음과같은 값들로 설정했다

######파일 내용##########

interface=wlan0

driver=nl80211

logger_syslog=-1

logger_syslog_level=2

logger_stdout=-1

logger_stdout_level=2

ctrl_interface=/var/run/hostapd

ctrl_interface_group=0

ssid=testap

hw_mode=b

channel=1

beacon_int=100

dtim_period=2

max_num_sta=255

rts_threshold=2347

fragm_threshold=2346

macaddr_acl=0

auth_algs=3

ignore_broadcast_ssid=0

wmm_enabled=1

wmm_ac_bk_cwmin=4

wmm_ac_bk_cwmax=10

wmm_ac_bk_aifs=7

wmm_ac_bk_txop_limit=0

wmm_ac_bk_acm=0

wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0

다음과정으로는 네트워크설정을 변경해주어야 한다
sudo vi /etc/network/interfaces

auto lo
iface lo intet loopback

### 이부분들을 추가해준다###
auto eth0
iface eth0 inet dhcp

auto wlan0
iface wlan0 inet static
        address 192.168.54.1
        netmask 255.255.255.0
        broadcast 192.168.54.255
        network 192.168.0.0
#######################

이제 sudo apt-get install isc-dhcp-server 로 dhcp server를 설치해 주어야 한다.

내 AP로 접속했을때 IP를 할당해주기 위해서이다.

설치를 한 다음 해당 파일에 들어가서 인터페이스를 자신의 무선랜카드와 vm 인터넷장치 번호로 잡아준다.

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

INTERFACES="wlan0 eth0"


이제 dhcp server설정을 해준다.

sudo vi /etc/dhcp/dhcpd.conf


######파일 내용##########

ddns-update-style none;


option domain-name "example.org";

option domain-name-servers 8.8.8.8, 8.8.6.6; 


option routers 192.168.54.1;

option subnet-mask 255.255.255.0;


default-lease-time 600;

max-lease-time 7200;


subnet 192.168.54.0 netmask 255.255.255.0 {

        range 192.168.54.2 192.168.54.254;

}

log-facility local7

########################################


무선ap로 접속한 pc가 vm의 eth0를 통해서 통신하도록 포워딩을 설정해준다.


sudo sysctl net.ipv4.ip_forward=1

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


다음 명령으로 wlan을 master모드로만 사용하도록 하고

sudo nmcli nm wifi off

sudo rfkill unblock wlan


이제 dhcp서버를 실행시키고 hostapd를 켜주면 된다.


sudo service isc-dhcp-server restart

sudo hostapd /etc/hostapd/hostapd.conf

해주면 실행 가능하다


** vm 네트워크 설정이 bridge로 되어있어야 합니다( 정확한 이유는 모르겠으나..)



다음 화면이 보이면 성공한 것이다.




주변 기기에서도 잘 잡히는것을 볼 수 있다.

tail -n 30 /var/log/syslog  명령으로 

에러가 발생했을때는 어떠한 오류가 발생했는지 확인한 다음 수정할 수 있다.


참고링크

http://dlrudwo.tistory.com/entry/Rogue-AP

http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/System_management/dhcp



'Study > Network' 카테고리의 다른 글

노트북으로 AP 만들기  (1) 2015.11.12
anygate 11n wireless packet capture(1)  (0) 2015.11.07
openssl  (0) 2015.09.19

댓글