router & bandwidth control dengan raspberry pi.pdf

Upload: realaffiliate

Post on 06-Jul-2018

230 views

Category:

Documents


0 download

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