Menjadikan Laptop Ubuntu Sebagai Access Point
Sebelumnya, saya pernah menulis tentang ini di sini. Namun dari segi judul maupun tulisan, mungkin agak membingungkan. Yang nulis juga bingung, apalagi yang baca (mungkin).
Nah, untuk membuat/menjadikan laptop Anda sebagai sebuah Access Point diperlukan berbagai bumbu alami, racikan para developer Linux antara lain bawang bombay, mrica, ketumbar, kunyit asam, dll. Eh, salah ding, yang benar adalah hostapd, isc-dhcp-server, beserta para ketergantungannya.
Dukungan Kartu Jaringan
Periksa apakah kartu jaringan Anda mendukung pembuatan Access Point atau tidak :
iw list | sed -n -e '/* AP$/p'
Jika perintah tersebut tidak menghasilkan apapun, artinya kartu jaringan Anda tidak dapat untuk membuat Access Pont. Anda tidak perlu repot-repot melanjutkan ke langkah berikutnya. Sebaliknya, jika muncul * AP seperti yang diharapkan, artinya laptop Anda dapat dibuat AP dan lanjutkan ke langkah berikutnya.
Install hostapd
Install paket hostapd, seperti biasa perintahnya adalah :
sudo apt-get install hostapd
Setelah selesai, buang skrip startup supaya tidak dijalankan saat boot1) :
update-rc.d hostapd disable
Konfigurasi hostapd
Lalu buat berkas konfigurasi di /etc/hostapd/hostapd.conf yang berisi :
# beberapa laptop interface untuk WiFi-nya berupa eth1 interface=wlan0 driver=nl80211 # nama WiFinya, bukan wife loh yah.... ssid=info@samsul.web.id hw_mode=g channel=1 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=3 # password WiFi, sesuaikan dengan selera, # minimal 8 karakter wpa_passphrase=12345678-0 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
Lalu pastkan berkas /etc/default/hostapd terdapat konfigurasi berikut :
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Sampai di sini, konfigurasi hostapd telah selesai.
DHCP Server
Pembuatan DHCP Server saya tulis secara terpisah di sini.
Startup Script
Untuk menjalankan/menjadikan Laptop Anda sebagai Access Point dengan mudah, ada baiknya dibuatkan sebuah script sehingga dapat dijalankan dengan perintah :
sudo service wifi_ap start
Maka scriptnya kita simpan di /etc/init.d/wifi_ap yang isinya sebagai berikut2) :
#!/bin/bash
# deteksi interface aktif, sebagai sumber koneksi internet
ext_interface=$(ip route | grep default | cut -d' ' -f5)
function stop_wifi_ap {
### stop services dhcpd and hostapd
sleep 3
service isc-dhcp-server stop
sleep 3
service hostapd stop
### disable IP forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -D POSTROUTING -s 2.2.2.0/24 -o $ext_interface -j MASQUERADE 2>/dev/null
### nonaktifkan IP forwarding
### remove the static IP from the wifi interface
if grep -q 'auto wlan0' /etc/network/interfaces
then
sed -i /etc/network/interfaces -e '/auto wlan0/,$ d'
sed -i /etc/network/interfaces -e '$ d'
fi
### restart network manager to takeover wifi management
sleep 5
service network-manager restart
sleep 3
nmcli nm wifi on
}
function start_wifi_ap {
# stop_wifi_ap
sleep 5
### see: https://bugs.launchpad.net/ubuntu/+source/wpa/+bug/1289047/comments/8
rfkill unblock wlan
#sleep 3
rfkill unblock wlan
#sleep 3
rfkill unblock wlan
sleep 5
nmcli nm wifi off
rfkill unblock wlan
### give a static IP to the wifi interface
ip link set dev wlan0 up
sleep 3
ip address add 2.2.2.1/24 dev wlan0
## memberikan IP statik ke interface wifi
### protect the static IP from network-manger restart
echo >> /etc/network/interfaces
echo 'auto wlan0' >> /etc/network/interfaces
echo ' iface wlan0 inet static' >> /etc/network/interfaces
echo ' address 2.2.2.1' >> /etc/network/interfaces
echo ' netmask 255.255.255.0' >> /etc/network/interfaces
echo ' broadcast 2.2.2.255' >> /etc/network/interfaces
### enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 2.2.2.0/24 -o $ext_interface -j MASQUERADE 2>/dev/null
## mengaktifkan IP forward
### start services dhcpd and hostapd
sleep 3
ifconfig wlan0 2.2.2.1/24 up
ifconfig wlan0 broadcast 2.2.2.255
## jalankan layanan dhcp dan hostapd
sleep 3
service isc-dhcp-server start
sleep 3
service hostapd start
}
### start/stop wifi access point
case "$1" in
start) start_wifi_ap ;;
stop) stop_wifi_ap ;;
restart) stop_wifi_ap && sleep 7 && start_wifi_ap ;;
esac
Untuk menjalankan script ini dengan perintah tadi, pastikan script tersebut diberi akses eksekusi :
sudo chmod +x /etc/init.d/wifi_ap
Laptop Anda juga harus sudah terkoneksi ke internet (opsional), baik melalui modem maupun kabel jaringan.
Jalankan Script
Jika Anda menjalankan perintah dan outputnya seperti ini :
samsul@tios:~$ sudo service wifi_ap stop isc-dhcp-server stop/waiting * Stopping advanced IEEE 802.11 management hostapd [ OK ] network-manager stop/waiting network-manager start/running, process 5054
Maka, Anda telah berhasil menjadina laptop Anda sebagai Access Point3). Ujicobakan smartphone Anda atau gawai lainnya, hubungkan ke AP yang Anda buat tadi.