Posting lagi :D, kali ini saya akan memposting tentang bagaimana cara membuat atau membangun hotspot pribadi menggunakan slackware. (kebetulan ketemu artikel digoogle dan dicoba juga).
Mungkin sudah banyak yang pernah mencoba melakukan ini dengan berbagai cara. Kali ini kita akan menggunakan software yang bernama hostapd sebuah paket software yang digunakan untuk membuat atau membangun hotspot sendiri dengan mesin kita sebagai virtual akses poinnya :D (CMIIW).
Nah, langsung saja. Sebelumnya saya akan terangkan bahwa saya terkoneksi dengan modem di interface ppp0 dan akan melakukan sharing dengan device saya yang lain (android) dengan menggunakan hostapd ini. Bisa disimpulkan koneksi_internet = ppp0 dan koneksi_share = wlan0 .
pertama kita install terlebih dahulu hostapd di mesin kita. Bisa menggunakan paket build dari slackbuilds.org atau bisa juga dengan mendownload versi source code untuk dicompile sendiri di mesin kita.
Disini saya menggunakan versi source code dan download langsung dari http://hostap.epitest.fi/hostapd/
Setelah download filenya, lanjut kita compile dan install hostapd ini ke mesin.
$ cd ~/Downloads
$ # file hostapd yang saya download berada di folder downloads
$ tar -xvf hostapd-x-x.tar.gz
$ # sesuaikan dengan versi yang anda download
$ cd hostapd-x-x
$ cd hostapd
$ # berpindah kedalam folder hostapd untuk compile
$ cp defconfig .config
$ make
$ make install
$ # untuk menginstall hostapd ke mesin kita
Nah, setelah proses compile dan install selesai. Sekarang saatnya kita melakukan konfigurasi hostapd kita agar dapat berjalan dengan yang kita inginkan.
$ nano /etc/hostapd.conf
$ # untuk membuat dan mengedit file hostapd.conf di folder /etc
Nah, pada file ini saya isikan sebagai berikut
> interface=wlan0
> driver=nl80211
> ssid=Ngurajeka Hotspot
> country_code=ID
> hw_mode=g
> channel=1
> auth_algs=1
> ignore_broadcast_ssid=0
> wpa=3
> wpa_passphrase=ngurajeka
> wpa_pairwise=TKIP
> rsn_pairwise=CCMP
Silahkan sesuaikan dengan keinginan anda. Selanjutnya kita membuat agar siapapun yang terkoneksi dengan hotspot kita mendapatkan ip secara automatis (DHCP). Dengan cara sebagai berikut:
$ nano /etc/dhcpd.conf
$ # untuk mengedit file dhcpd.conf di folder /etc
Pada file ini yang saya tambahkan adalah sebagai berikut
subnet 192.168.23.0 netmask 255.255.255.0 {
range 192.168.23.100 192.168.23.200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.23.255;
option routers 192.168.23.1;
option domain-name-servers 192.168.23.1, 8.8.8.8;
option domain-name anulinux.com;
default-lease-time 600;
max-lease-time 7200;
}
Silahkan sesuaikan ip address dengan yang anda inginkan. Selanjutnya kita buat sebuah file untuk menjalankan service hostapd dan dhcpd secara bersamaan di /etc/rc.d/ dengan nama file rc.hotspot
$ touch /etc/rc.d/rc.hotspot
$ nano /etc/rc.d/rc.hotspot
#!/bin/bash
# Path ke binary
IPTABLES=/usr/sbin/iptables
DHCPD=/usr/sbin/dhcpd
HOSTAPD=/usr/sbin/hostapd
# Interface Settings
KONEKSI_MASUK="ppp0"
KONEKSI_SHARE="wlan0"
IP_AP="192.168.23.1"
case "$1" in
start)
echo "Menjalankan Mode AP di $KONEKSI_SHARE dengan alamat $IP_AP"
# Matikan forwarding sementara
echo 0 > /proc/sys/net/ipv4/ip_forward
# Menghentikan proses lama jika ada
killall hostapd 2>/dev/null
killall dhcpd 2>/dev/null
# Konfigurasi iptables (NAT)
$IPTABLES -t nat -A POSTROUTING -o $KONEKSI_MASUK -j MASQUERADE
$IPTABLES -A FORWARD -i $KONEKSI_MASUK -o $KONEKSI_SHARE -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -i $KONEKSI_SHARE -o $KONEKSI_MASUK -j ACCEPT
# Mengaktifkan ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Konfigurasi Interface (Menggunakan ip command, lebih modern)
ip link set $KONEKSI_SHARE down
ip addr flush dev $KONEKSI_SHARE
ip addr add $IP_AP/24 dev $KONEKSI_SHARE
ip link set $KONEKSI_SHARE up
# Cek file leases DHCP
if [ ! -f /var/lib/dhcp/dhcpd.leases ]; then
touch /var/lib/dhcp/dhcpd.leases
fi
# Menjalankan DHCP dan Hostapd
$DHCPD -cf /etc/dhcpd.conf $KONEKSI_SHARE
$HOSTAPD -B -P /var/run/hostapd.pid /etc/hostapd.conf
echo "AP Berhasil dijalankan."
;;
stop)
echo "Mematikan Mode AP pada $KONEKSI_SHARE..."
# Matikan proses
killall hostapd 2>/dev/null
killall dhcpd 2>/dev/null
# Reset IP Forwarding & IPTables (Opsional tapi disarankan)
echo 0 > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -F
$IPTABLES -F
echo "Mode AP telah berhenti."
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
Nah, dengan script diatas setiap kali kita ingin menjalankan hostapd kita cukup memasukkan perintah $ /etc/rc.d/rc.hotspot start untuk menjalankannya dan option stop untuk menghentikannya.