Monday, November 19, 2012

Hostapd, aplikasi Wifi Router untuk Linux

Hostapd adalah aplikasi yang dapat kita gunakan untuk membuat laptop/PC kita menjadi wifi router, mungkin sama dengan aplikasi connectivity di Windows (dan beberapa aplikasi lain di Windows). Hostapd adalah aplikasi wifi router untuk Linux. Di sini yang akan kita pelajari adalah cara melakukan instalasi dan mengatur akses point menggunakan Hostapd di Ubuntu (karena Linux Mint merupakan salah satu varian Ubuntu, kita juga dapat menggunakannya untuk Linux Mint).
Berikut ini langkah-langkah yang diperlukan agar kita dapat menggunakan Hostapd di Ubuntu dan variannya.

Mengecek Wifi Card pada Laptop


Hal pertama ialah mengecek wifi apakah suport untuk menjalankan Hostapd. berikut perintahnya :

1
lspci -k | grep -A 3 -i "network"

dan outputnya seperti ini :
0b:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01) Subsystem: Quanta Microsystems, Inc EM303 802.11bgn Wireless Mini PCIe Card [AR9281] Kernel driver in use: ath9k Kernel modules: ath9k

pada Kernel Modules menunjukan bahwa kartu wifi yang saya gunakan adalah ath9k

sekarang bagaimana melihat rincian interface yang saya gunakan.

1
modinfo ath9k | grep 'depend'

outputnya seperti ini :
depends: ath9k_hw,ath9k_common,mac80211,cfg80211,ath

modinfo menunjukan bahwa wifi card yang saya pakai ialah mac80211 ini berarti wifi card saya suport untuk menggunakan Hostapd

Beberapa Driver wifi card yang di suport oleh Hostapd

jika wifi card yang di pakai teman-teman didukung oleh Hostapd seperti pada daftar di atas maka mari kita ketahap selanjutnya. jika tidak, berarti tidak bisa ke tahap berikutnya (udah kayak main game saja eee... :D)

Menginstall Hostapd

Langkah selanjutnya ialah menginstall Hostapd, berikut perintah untuk menginstall Hostapd pada ubuntu. (sesuaikan saja dengan distro yang di pakai teman-teman :D)
1
sudo apt-get install hostapd

Konfigurasi Hostapd

Untuk file Konfigurasi terletak pada /etc/hostapd/hostapd.conf berikut perintah untuk memanggilnya :
1
sudo nano /etc/hostapd/hostapd.conf
jika hostapd.conf tidak ada pada direktori hostapd silahkan buat sendiri. untuk teks editor silahkan di pilih sesuai selera, bisa pakai gedit, vim dan lain-lain. pada perintah diatas saya pakai nano :D.
Untuk Konfigurasinya saya tulis seperti ini (silahkan copas atau ketik sendiri)
1
2
3
4
5
6
7
8
9
10
11
12
13
interface=wlan0
driver=nl80211
ssid=dontMessWithVincentValentine **untuk nama SSID silahkan ganti sesuai selera
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=TesTWifI **untuk password juga silahkan ganti
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Mengatur DHCP Server

hostapd sudah berjalan dengan baik, sekarang ialah mengatur DHCP Server agar client mendapat IP ketika mengakses Akses Point. Untuk mengistall DHCP cukup mudah dengan perintah :
1
sudo apt-get install dhcp3-server
kemudian edit file yang terletak pada /etc/dhcp/dhcpd.conf sebagai berikut ; (tinggal di sesuaikan sesuai selera :D)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
ddns-update-style none;
ignore client-updates;
authoritative;
option local-wpad code 252 = text;
subnet
10.0.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers
10.0.0.1;
# --- Netmask
option subnet-mask
255.255.255.0;
# --- Broadcast Address
option broadcast-address
10.0.0.255;
# --- Domain name servers, tells the clients which DNS servers to use.
option domain-name-servers
10.0.0.1, 8.8.8.8, 8.8.4.4;
option time-offset
0;
range 10.0.0.3 10.0.0.13;
default-lease-time 1209600;
max-lease-time 1814400;
}

Langkah Terakhir


Untuk Langkah terakhir ialah tinggal membuat bash agar NAT dapat berbagi internet dalam satu interface network agar client dapat terhubung melalui Hostapd.
buat file dengan nama terserah :D, saya mengikuti nama bash sesuai blog yang saya ikuti yaitu initSoftAP, kemudian Copas scrit bash berikut!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
#Initial wifi interface configuration
ifconfig $1 up 10.0.0.1 netmask 255.255.255.0
###########Start DHCP, comment out / add relevant section##########
dhcpd wlan0 &
###########
#Enable NAT
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface $2 -j MASQUERADE
iptables --append FORWARD --in-interface $1 -j ACCEPT
sysctl -w net.ipv4.ip_forward=1
#start hostapd
hostapd /etc/hostapd/hostapd.conf 1>/dev/null
simpan dengan nama initSoftAP pada folder /home (terserah mau simpan dimana yang penting bisa dipanggil untuk di eksekusi :D). Kemudian rubah permision file agar dapat di eksekusi dengan perintah :

1
chmod +x initSoftAP
sedankan untuk menjalankannya tinggal memanggil file initSoftAP dengan perintah :
1
sudo ./initSoftAP wlan0 eth0
sedangkan untuk modem tinggal menganti eth0 menjadi ppo0
Sekian dulu, semoga bisa membantu