Networking, Tutorial

Wifi Router memakai Raspberry Pi

Kasus : Dapatkah kita membangun area hostspot sederhana memakai Raspberry Pi? Tentu saja bisa. Koneksi internet didapat dari port ethernet (kabel), kemudian dibagikan ulang secara wireless melalui USB wifi adapter mungil dari TP-Link. Bagaimana caranya ?

A. Perangkat yang Dibutuhkan

Pada tutorial ini menggunakan :

 

B. Konfigurasi yang Diperlukan

Sebelum mengikuti tutorial ini, USB wifi harus sudah dikenali dan berfungsi di Raspberry. Bagaimana caranya? Ikuti tutorial sebelumnya : http://pi.web.id/usb-wifi-murah-untuk-raspberry-pi.htm

 

C. Langkah Konfigurasi Wifi Router

1. Update sistem lalu pasang hostapd serta udhcpd

sudo apt-get update
sudo apt-get install hostapd udhcpd
# Need to get 878 kB of archives.
# After this operation, 1751 kB of additional disk space will be used.

2. Backup udhcpd.conf dan tulis/modifikasi memakai konfigurasi yang baru

cd /etc
sudo cp udhcpd.conf udhcpd.conf.bak
sudo nano /etc/udhcpd.conf

atur konfigurasi sebagai berikut

start 192.168.8.45 # awal range IP yang diberikan ke klien wifi
end 192.168.8.65 # akhir range IP yang diberikan ke klien wifi
interface wlan0 # Device yang di-listen oleh uDHCP
remaining yes
opt dns 8.8.8.8 4.4.4.4 # DNS servers, memakai milik Google
opt subnet 255.255.255.0
opt router 192.168.8.1 # IP address Raspberry di wlan0
opt lease 864000 # DHCP lease time dalam satuan detik

3. Ubah setting DHCPD

sudo nano /etc/default/udhcpd
#DHCPD_ENABLED="no"

4. Backup dan ubah setting network interface

sudo cp /etc/network/interfaces /etc/network/interfaces.bak
sudo nano /etc/network/interfaces

atur konfigurasi interfaces seperti dibawah

auto lo

iface lo inet loopback
auto eth0
iface eth0 inet dhcp

# WiFi AP

allow-hotplug wlan0
auto wlan0
iface wlan0 inet static
  address 192.168.8.1
  netmask 255.255.255.0
post-up service udhcpd start

#allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp

5. Unduh hostapd dari http://pi.web.id/hostapd.htm kemudian unggah ke Raspberry dan ekstrak sesuai path dibawah

unzip hostapd.zip 
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.bak
sudo mv hostapd /usr/sbin/hostapd
sudo chmod 755 /usr/sbin/hostapd

6. Atur konfigurasi hostapd

sudo nano /etc/hostapd/hostapd.conf

# gunakan konfigurasi dibawah
interface=wlan0
driver=rtl871xdrv
ssid=Nama_SSID_Raspi # ubah sesuai kebutuhan
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=Password_Wifi # ubah sesuai kebutuhan
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
macaddr_acl=0

7. Masukkan path konfigurasi hostapd

sudo nano /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"

8. Jalankan wifi, jika berhasil akan terlihat seperti dibawah

pi@raspberrypi ~ $ sudo service hostapd start
[ ok ] Starting advanced IEEE 802.11 management: hostapd.

Nah, sampai disini, SSID milik Raspberry Pi sudah akan dikenal oleh perangkat wifi milik client. Namun setidaknya akan ada 2 persoalan. Pertama, setiap kali router (Raspberry) dimatikan, maka langkah diatas harus ditempuh ulang secara manual. Dan kedua, meskipun client sukses terkoneksi ke Wifi Raspberry namun tetap tidak dapat mengakses internet.  Bagaimana solusinya?

 

D. Troubleshooting

1. Running otomatis wifi hotspot setiap kali Raspberry Pi menyala

sudo update-rc.d hostapd enable
reboot

2. Perihal masalah akses internet, maka kita harus meneruskan traffic internet dari ethernet (eth0) ke wireless hostspot (wlan0)

a. enablekan forwarding

sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1 # set ke 1
sysctl -p # reload konfigurasi

b. rutekan data dari eth0 ke wlan0

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
sudo iptables-save

Selesai. Raspberry Pi pun sudah menjadi wireless router. Client akan mendapatkan IP secara otomatis dan bisa mengakses internet.

Semoga bermanfaat!