Selasa, 07 Januari 2014

Menjadikan Laptop Ubuntu Sebagai Access Point Hotspot Wifi

Menjadikan Laptop Ubuntu Sebagai Access Point Hotspot Wifi

Sudah berbulan-bukan saya mencoba menjadikan laptop ubuntu saya menjadi hotspot wifi, tapi belum juga berhasil. Saya sudah googling dan menemukan banyak cara dan trik yang berbeda, namun belum ada yang berhasil untuk membuat laptop ubuntu saya menjadi hotspot wifi. Sampai akhirnya, beberapa menit yang lalu saya menemukan cara yang berhasil menjadikan laptop saya sebagai Acces Point hotspot wifi.
Berikut ini adalah langkah yang berhasil saya lakukan agar laptop saya menjadi Acces Point hotspot wifi.
  1. Buka terminal, dan install hostapd dengan mengetikan perintah
    sudo apt-get install hostapd
    Jika sebelumnya anda sudah mencoba trik lain, dan juga menggunakan hostapd, saya sarankan anda hapus yang lama dan semua konfigurasinya sebelum menginstall dengan perintah
    sudo apt-get purge hostapd
  2. Setelah instalasi selesai, ubah konfigurasi hostapd dengan perintah,
    sudo nano /etc/hostapd/hostapd.conf
    Tambahkan baris berikut pada bagian paling bawah
    #konfigurasi hostapd untuk hotspot wifi
    interface=wlan0
    driver=nl80211
    ssid=AP_pupil
    hw_mode=g
    channel=1
    
    #Jika ingin menggunakan password, hilangakan tanda (#)
    #pada baris-baris dibawah ini
    #untuk mengganti password, ganti nilai 
    #dari wpa_passphrase=<password_yang_anda_kehendaki>
    #wpa=1
    #wpa_passphrase=opensourcejaya
    #wpa_key_mgmt=WPA-PSK
    #wpa_pairwise=TKIP CCMP
    #wpa_ptk_rekey=600
  3. Install package dnsmasq
    sudo apt-get install dnsmasq
  4. Buka file konfigurasi dnsmasq
    sudo nano /etc/dnsmasq.conf
    Tambahkan baris-baris berikut di bagian paling bawah
    interface=wlan0
    dhcp-range=net:wlan0,192.168.0.100,192.168.0.150,255.255.255.0,1440m
    dhcp-option=wlan0,3,192.168.0.1
    dhcp-option=wlan0,6,208.67.222.222,208.67.220.220
  5. Package dnsmasq akan segera di eksekusi pada saat boot. Hal ini akan menyebabkan masalah jika kita terkoneksi ke network yang sudah memiliki server dhcp. Dengan demikian kita perlu mencegah agar dnsmasq tidak otomatis dijalankan saat boot, yaitu dengan perintah,
    sudo update-rc.d -f dnsmasq remove
  6. Sekarang kita buat script untuk mengendalikan sharing internet melalui wifi, dan simpan script tersebut di /usr/bin. Ketik perintah di terminal,
    sudo nano /usr/bin/ap_ctl
    Kemudian copy script dibawah ini yang saya dapat dari sumber saya.
    #!/bin/bash
    
    # broadcasting interface
    BROADCAST="wlan0"
    
    # receiving interface broadcast is connected to
    RECEIVE="ppp0"
    
    if [[ $1 == "-0" || $1 == "--start" ]]
     then
     ## start hostapd
     echo "Starting hostapd"
     echo "    You can view the log at /var/log/hostapd.log"
    
     # launch hostapd daemon
     hostapd -d /etc/hostapd/hostapd.conf > /var/log/hostapd.log &
    
     ## start dhcp server
     echo "Starting dnsmasq"
    
     # set IP address
     ifconfig $BROADCAST 192.168.0.1
     sleep 2
    
     # launch dhcpd3 daemon
     # echo "INTERFACES=$BROADCAST" > /etc/default/dhcp
     # dhcpd3 $BROADCAST &
     dnsmasq
    
    elif [[ $1 == "-1" || $1 == "--stop" ]]
     then
     # send signal 2 to hostapd and dhcpd3
     killall -2 hostapd  dnsmasq
    
    elif [[ $1 == "-2" || $1 == "--ics" ]]
     then
     # create iptables rules
     iptables -A FORWARD -i $RECEIVE -o $BROADCAST -s 192.168.0.1/24 -m conntrack --ctstate NEW -j ACCEPT
     iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
     iptables -A POSTROUTING -t nat -j MASQUERADE
    
     # set kernel variable(s)
     echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
    
     # edit kernel configuration
     cp /etc/sysctl.conf /etc/sysctl.conf.ap_ctl
     echo "net.ipv4.conf.default.forwarding=1" >> /etc/sysctl.conf
     echo "net.ipv4.conf.all.forwarding=1" >> /etc/sysctl.conf
    
     # restart networking
     /etc/init.d/networking restart
    
    elif [[ $1 == "-3" || $1 == "--noics" ]]
     then
     # remove iptables rules
     iptables -D FORWARD 1
     iptables -D FORWARD 1
    
     # set kernel variable(s)
     echo 0 > /proc/sys/net/ipv4/conf/all/forwarding
    
     # revert kernel configuration
     mv -i /etc/sysctl.conf.ap_ctl /etc/sysctl.conf
    
     # restart networking
     /etc/init.d/networking restart
    
    else
     echo $0
     echo "A tool to manage hostapd and dhcpd3"
     echo "Usage:"
     echo "    -0 --start    Start hostapd and dhcpd3"
     echo "    -1 --stop    Stop hostapd and dhcpd3 with signal 2"
     echo "    -2 --ics    Activate internet connection sharing"
     echo "            between specified interfaces"
     echo "    -3 --noics    Undo internet connection sharing settings"
    fi
    
    exit 0
    Pada bagian RECEIVE, apabila menggunakan usbmodem sebagai koneksi laptop anda, ubah nilainya menjadi "ppp0", jika menggunakan kabel LAN, ubah nilainnya menjadi "eth0". Kemudian tekan ctrl + x, lalu tekan tombol y untuk menutup dan menyimpannya.
  7. Jadikan script yang dibuat tadi menjadi executable,
    sudo chmod +x /usr/bin/ap_ctl
  8. Untuk menjalankan hotspot wifi, ketik pada terminal
    sudo ap_ctl --start
    sudo ap_ctl --ics
  9. Untuk berhenti, ketik
    sudo ap_ctl --stop

Saya berhasil melakukan trik ini di lingkungan
  1. O/S = Ubuntu 10.04
  2. Laptop = Asus K43U
  3. Wireless card = Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)

Tidak ada komentar:

Posting Komentar