router & bandwidth control dengan raspberry pi.pdf
TRANSCRIPT
-
8/16/2019 Router & Bandwidth Control Dengan Raspberry Pi.pdf
1/6
Router & Bandwidth
Control DenganRaspberry PiPosted on March 3, 2013 by Tedy Tirtawidjaja
Akhirnya saya berhasil memanfaatkan RaspberryPimenjadi router dengankemampuan mengatur kuotabandwidth internet. Saya ikuti beberapa petunjuk darisumber-sumber berikut ini :
http://www.debian‐administration.org/articles/23
http://sirlagz.net/2013/01/27/how‐to‐turn‐the‐raspberry‐pi‐into‐a‐
shaping‐wifi‐router/
Susunan jaringannya menjadi seperti ini :
6
http://tedytirta.com/2013/03/03/router-bandwidth-control-dengan-raspberry-pi/#commentshttp://sirlagz.net/2013/01/27/how-to-turn-the-raspberry-pi-into-a-shaping-wifi-router/http://www.debian-administration.org/articles/23http://tedytirta.com/2013/02/11/mencoba-raspberry-pi/http://tedytirta.com/author/admin/http://tedytirta.com/2013/03/03/router-bandwidth-control-dengan-raspberry-pi/http://tedytirta.com/2013/03/03/router-bandwidth-control-dengan-raspberry-pi/
-
8/16/2019 Router & Bandwidth Control Dengan Raspberry Pi.pdf
2/6
Port Ethernet bawaan RaspberryPi (eth0) menjadi port WAN yang terhubunglangsung dengan modem internet.
Adapter USB Ethernet (eth1) menjadi port LAN yang terhubung ke switch.
WiFi TP-Link tidak lagi dipakai sebagai DHCP server. Port WANnya pun tidakdipakai. Hanya difungsikan sebagai access-point . Client mendapat IP addressdari Raspberry. Karena Wi-Fi ini menggunakan DD-WRT sebagai sistemoperasinya, saya harus mematikan DHCP server & memilih untukmenggunakan DHCP Forwarder.
Ini adalah konfigurasi IP di RaspberryPi.
root@raspberrypi:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
http://tedytirta.com/wp-content/uploads/2013/03/20130303-215947.jpg
-
8/16/2019 Router & Bandwidth Control Dengan Raspberry Pi.pdf
3/6
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.10.1netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
dns-nameservers 192.168.10.1
root@raspberrypi:~#
Port eth0 diset menggunakan IP dinamis, IPnya didapat dari modem FirstMedia.Sementara port eth1 adalah port LAN sehingga menggunakan IP statis.
Untuk menjadikan Raspberry sebagai DHCP server di jaringan lokal saya perlupaket dnsmasq.
root@raspberrypi:~# apt-get install dnsmasq
Konfigurasi dnsmasq sangat simpel seperti berikut ini :
root@raspberrypi:~# cat /etc/dnsmasq.conf
interface=eth1
dhcp-range=192.168.10.50,192.168.10.150,255.255.255.0,12hroot@raspberrypi:~#
Saya hanya perlu mencantumkan di interface mana DHCP server akan beroperasi,tentu ini interface yang terhubung ke LAN. Dan satu lagi opsi yang dhcp‐range, opsiini mendefinisikan alamat IP mana saja yang disediakan oleh DHCP server.Sebenarnya masih banyak opsi yang bisa dipakai oleh dnsmasq, tapi untukkeperluan test ini hanya itu yang saya perlukan.
Proses routing dijalankan oleh perintah iptables. Di website Debian Administrator sudah ada contoh script yang memanfaatkan iptables sebagai router
& juga sebagai firewall .
root@raspberrypi:~# cat /etc/network/if-up.d/router
#!/bin/sh
PATH=/usr/sbin:/sbin:/bin:/usr/bin
# Notes : eth0 = WAN port / internet
# eth1 = LAN port
#
# delete all existing rules.
#
iptables -F
http://www.debian-administration.org/articles/23
-
8/16/2019 Router & Bandwidth Control Dengan Raspberry Pi.pdf
4/6
iptables -t nat -F
iptables -t mangle -F
iptables -X
# Always accept loopback traffic
iptables -A INPUT -i lo -j ACCEPT
# Allow established connections, and those not coming from the
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEP
iptables -A INPUT -m state --state NEW ! -i eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHE
# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
# Masquerade.iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# Don't forward from the outside to the inside.
iptables -A FORWARD -i eth0 -o eth0 -j REJECT
# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward
root@raspberrypi:~#
Sementara untuk mengatur alokasi bandwidth aplikasi yang dipakai adalah tc.Konsep yang diterapkan untuk mengatur alokasi bandwidth ini adalah HTB(Hierarchical Token Bucket). Pengaturan bandwidthdilakukan dalam sistem hirarki.Saya contoh apa yang dijelaskan di web ini. Ada beberapa modifikasi yang sayatambahkan. Di web tadi hanya kecepatandownload yang dibatasi. Ternyata untukmembatasi kecepatan upload , saya perlu tambahkan rule lain di port WANnya(dalam contoh kasus saya di port eth0).
root@raspberrypi:~# cat /etc/network/if-up.d/tcscript
#!/bin/bash
# DOWNLOAD LIMIT
tc qdisc add dev eth1 root handle 1:0 htb default 10
tc class add dev eth1 parent 1:0 classid 1:10 htb rate 256kbit
tc class add dev eth1 parent 1:1 classid 1:5 htb rate 4864kbit
tc filter add dev eth1 parent 1:0 prio 1 handle 5 fw flowid 1:5
# UPLOAD LIMIT
tc qdisc add dev eth0 root handle 1:0 htb default 10
tc class add dev eth0 parent 1:0 classid 1:10 htb rate 128kbittc class add dev eth0 parent 1:1 classid 1:5 htb rate 4864kbit
tc filter add dev eth0 parent 1:0 prio 1 handle 5 fw flowid 1:5
http://sirlagz.net/2013/01/27/how-to-turn-the-raspberry-pi-into-a-shaping-wifi-router
-
8/16/2019 Router & Bandwidth Control Dengan Raspberry Pi.pdf
5/6
iptables -t mangle -N shaper-out
iptables -t mangle -N shaper-in
iptables -t mangle -I POSTROUTING -o eth1 -j shaper-in
iptables -t mangle -I PREROUTING -i eth1 -j shaper-out
iptables -t mangle -I PREROUTING -i eth0 -j shaper-iniptables -t mangle -I POSTROUTING -o eth0 -j shaper-out
iptables -t mangle -A shaper-out -s 192.168.10.0/24 -j MARK --s
iptables -t mangle -A shaper-in -d 192.168.10.0/24 -j MARK --se
iptables -t mangle -A shaper-out -s 192.168.10.129 -j MARK --se
iptables -t mangle -A shaper-in -d 192.168.10.129 -j MARK --set
root@raspberrypi:~#
Di contoh script di atas, saya buat skenario sederhana yaitu hanya IP192.168.10.129 (IP Macbook) yang diberi akses untukmenggunakan bandwidth sampai maksimum (4-5MB).
Sementara semua client lain dalam jaringan 192.168.10.0/24 hanya bisa mendapatkecepatandownload 256Kbps & kecepatan upload 128Kbps. Ternyata berhasil, danini contohnya hasil testing dengan iPhone :
http://tedytirta.com/wp-content/uploads/2013/03/20130303-234031.jpg
-
8/16/2019 Router & Bandwidth Control Dengan Raspberry Pi.pdf
6/6
Kira-kira begitu pemanfaatan Raspberry Pi untuk mengontrolpemakaian bandwidth dalam jaringan. Masih banyak yang bisa dibahas dari topikini.
http://tedytirta.com/wp-content/uploads/2013/03/20130303-233616.jpg