Jika sinyal Wi-Fi di rumah jangkauannya lemah, dan kebetulan punya Raspberry Pi menganggur yang tidak tau mau dibuat apa, kita bisa manfaatkan komputer kecil ini sebagai Wi-Fi Extender.

Alat-alat yang dibutuhkan adalah:

  • Raspberry Pi & Power Adapter
  • Dongle Wi-Fi USB
  • Kartu MicroSD
  • PC/Laptop (Windows, macOS ataupun Linux)

Pastikan Kartu MicroSD yang akan dipasang pada Raspberry Pi sudah dipasang Raspbian OS Lite (32-bit), diaktifkan ssh-nya, dan sudah disambungkan ke jaringan Wi-Fi yang sama. Lihat [[Mengatur Raspberry Pi Tanpa Menggunakan Monitor dan Keyboard]]

Untuk langkah awal, pastikan bahwa Raspberry Pi sudah tersambung ke listrik dan sudah selesai booting. Pastikan juga bahwa dongle Wi-Fi USB sudah dicolok ke salah satu port USB yang ada pada Raspberry Pi. Kemudian masuk ke Terminal pada Raspberry Pi melalui ssh menggunakan PC/Laptop.

Setelah masuk ke Raspberry Pi, jalankan update dan upgrade.

sudo apt update
sudo apt upgrade

Kemudian install dnsmasq dan hostapd. Kedua tools ini dibutuhkan untuk manajemen DNS dan mem-broadcast perangkat kita sebagai hotspot.

sudo apt install dnsmasq hostapd iptables

Konfigurasi wpa_supplicant

Sebelum mengatur hotspot, pastikan saat ini perangkat Raspberry Pi telah terkoneksi ke jaringan Wi-Fi yang diinginkan untuk di-extend. Untuk mengubah konfigurasi wpa_supplicant, jalankan perintah berikut:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Pastikan pengaturan ssid dan psk (password Wi-Fi) sudah sesuai.

Simpan file dengan menekan tombol Ctrl + X, Y, kemudian Enter.

Konfigurasi dhcpcd

Selanjutnya, set IP static pada dongle Wi-Fi USB yang nantinya akan diatur sebagai pemancar hotspot. Jadi, Wi-Fi internal berfungsi sebagai penangkap sinyal Wi-Fi, dan dongle berfungsi sebagai pemancar hotspot. Untuk mengatur IP Static, kita edit file dhcpcd.conf menggunakan perintah ini:

sudo nano /etc/dhcpcd.conf

Kemudian masukkan teks di bawah ini:

interface wlan1
static ip_address=192.168.220.1/24
static routers=192.168.220.0

Simpan file dengan menekan tombol Ctrl + X, Y, kemudian Enter.

Jalankan perintah ini untuk me-restart dhcpd:

sudo service dhcpcd restart

Konfigurasi hostapd

Kemudian, ubah konfigurasi pada hostapd.conf dengan memasukkan perintah berikut:

sudo nano /etc/hostapd/hostapd.conf

Tambahkan teks di bawah ini pada file tersebut:

interface=wlan1
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
HT_CAPAB=[HT40+][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
ignore_broadcast_ssid=0
country_code=ID

auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

ssid=WifiName
wpa_passphrase=WifiPassword

!!! note

***interface=wlan1*** adalah interface untuk dongle Wi-Fi

***interface=wlan0*** adalah perangkat Wi-Fi bawaan Raspberry Pi

Ganti ssid dan wpa_passphrase sesuai dengan nama yang diinginkan.

Simpan file dengan menekan tombol Ctrl + X, Y, kemudian Enter.

Kemudian, ubah konfigurasi default agar hostapd dapat mengenali konfigurasi yang baru saja ditambahkan.

Jalankan perintah berikut:

sudo nano /etc/default/hostapd

Cari teks berikut:

#DAEMON_CONF=""

Kemudian ubah menjadi:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Simpan file dengan menekan tombol Ctrl + X, Y, kemudian Enter.

Ubah juga konfigurasi init.d dengan menjalankan:

sudo nano /etc/init.d/hostapd

Cari teks berikut:

#DAEMON_CONF=

Kemudian ubah menjadi:

DAEMON_CONF=/etc/hostapd/hostapd.conf

Simpan file dengan menekan tombol Ctrl + X, Y, kemudian Enter.

Konfigurasi dnsmasq

Selanjutnya, ubah konfigurasi dnsmasq. Sebelum mengubah konfigurasi tersebut, ada baiknya jika konfigurasi tersebut di-backup terlebih dahulu. Jalankan perintah berikut:

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

Ubah file dnsmasq.conf dengan menjalankan perintah berikut:

sudo nano /etc/dnsmasq.conf

Tambahkan teks di bawah ini:

interface=wlan1
listen-address=192.168.220.1 
domain-needed
bogus-priv 
dhcp-range=192.168.220.50,192.168.220.150,12h  

Simpan file dengan menekan tombol Ctrl + X, Y, kemudian Enter.

Konfigurasi sysctl

Langkah selanjutnya adalah meneruskan traffic dari koneksi wlan1 ke wlan0.

Jalankan perintah berikut:

sudo nano /etc/sysctl.conf

Hapus tanda pagar pada line berikut:

#net.ipv4.ip_forward=1

Sehingga menjadi seperti ini:

net.ipv4.ip_forward=1

Simpan file dengan menekan tombol Ctrl + X, Y, kemudian Enter

Agar pengaturan tersebut tetap tersimpan saat perangkat booting, jalankan perintah berikut:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

Konfigurasi iptables

Untuk menambahkan aturan firewall pada iptables, jalankan perintah berikut:

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

Untuk menyimpan aturan iptables secara permanen, jalankan perintah berikut:

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Kemudian jalankan perintah berikut:

sudo nano /etc/rc.local

Tambahkan teks di bawah ini , tempatkan di atas tulisan exit 0:

iptables-restore < /etc/iptables.ipv4.nat

Simpan file dengan menekan tombol Ctrl + X, Y, kemudian Enter

Konfigurasi autostart menggunakan systemctl

Jalankan kedua perintah di bawah:

sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo systemctl enable dnsmasq
sudo systemctl start dnsmasq

Reboot untuk memastikan bahwa Wi-Fi Extender telah berfungsi dengan baik.

Referensi: