Archive for January 1st, 2009

PF:Getting Started
——————-
AKTIVASI
——————-

untuk aktifasi PF dan membaca konfigurasinya file tersebut saat booting, tambahkan :

pf=YES

di file /etc/rc.conf.local

reboot system anda untuk memperoleh hasil.

Anda dapat juga mengaktifkan dan deaktif PF menggunakan program pfctl:

#pfctl -e
#pfctl -d

Untuk mengenablekan dan disable, yang perlu di perhatikan bahwa ini hanya enable dan disable PF,

tidak secara benar meload ruleset. Ruleset harus di loaded sebelum atau setelah PF di enable.

KONFIGURASI
—————————

PF membaca konfigurasi rules dari /etc/pf.conf saat booting, seperti loading oleh script rc.

Perhatikan bahwa ketika /etc/pf.conf adalah default dan di loaded oleh sistem script rc, itu hanya

file teks yang diloaded dan di interpretasikan oleh pfctl dan di masukkan ke dalam pf. Untuk

beberapa aplikasi, rulesets yang lain mungkin di loaded dari file lain setelah booting. Sebagai

aplikasi di desain oleh oleh unix, PF menawarkan fleksibilitas yang baik.

pf.conf memliki tujuh bagian:
*Macros : variable user-defined yang dapat menahan IP address, nama interfaces, dll.
*Tables : sebuah struktur digunakan untuk menyatakan sekumpulan dari IP address
*Option :variasi pilihan untuk mengontrol bagaimana pf bekerja
*Scrub : Re-processing paket untuk menjadi normal dan mendefrag mereka.
*Queueing : Memberikan kontrol bandwidth dan proritas paket.
*Transalation : Kontrol Network Address Translation (NAT) dan paket redirection.
*Filter Rules : Memperbolehkan selektif terhadap filtering atau blocking terhadap paket ketika
mereka melalui interfaces.

Dengan pengecualian terhadap macros dan tables, setiap bagian seharusnya muncul dalam perintah ini

di dalam file konfigurasi, tidak semua bagian harus eksist dalam setiap aplikasi khusus.

KONTROL
———————–

Setelah booting, operasi PF dapat di manage menggunakan program pfctl. beberapa contoh program

adalah :

# pfctl -f /etc/pf.conf Load file pf.conf
# pfctl -nf /etc/pf.conf Parse file, tapi tidak load
# pfctl -Nf /etc/pf.conf Load hanya rule NAT dari file
# pfctl -Rf /etc/pf.conf Load hanya rule filter dari file

# pfctl -sn Tunjukkan rule NAT yang sedang berjalan
# pfctl -sr Tunjukkan rule filter yang sedang berjalan
# pfctl -ss Tunjukkan bentuk table yang sedang berjalan
# pfctl -si Tunjukkan bentuk filter dan counters
# pfctl -sa Tunjukkan SEMUANYA yang dapat di tunjukkan

Untuk lebih jelasnya baca manual mengenai pfctl
sumber:bimoseptyop.blogspot.com

3 bagian yang pokok dalam script Load Balance adalah di firewall mangle, nat dan route

/ ip address
add address=192.168.0.254/24 network=192.168.0.0 broadcast=192.168.0.255 \
interface=local comment=”to-switch” disabled=no

add address=192.168.1.2/24 network=192.168.1.0 broadcast=192.168.1.255 \
interface=internet comment=”to-speedy-1” disabled=no

add address=192.168.2.2/24 network=192.168.2.0 broadcast=192.168.2.255 \
interface=swap comment=”to-speedy-2” disabled=no

/ ip firewall mangle
add chain=prerouting in-interface=local connection-state=new nth=1,1,0 \
action=mark-connection new-connection-mark=speedy-1 passthrough=yes disabled=no

add chain=prerouting in-interface=local connection-mark=speedy-1 \
action=mark-routing new-routing-mark=speedy-1 passthrough=no disabled=no

add chain=prerouting in-interface=local connection-state=new nth=1,1,1 \
action=mark-connection new-connection-mark=speedy-2 passthrough=yes disabled=no

add chain=prerouting in-interface=local connection-mark=speedy-2 \
action=mark-routing new-routing-mark=Speedy-2 passthrough=no disabled=no

/ ip firewall nat

add chain=srcnat connection-mark=speedy-1 action=src-nat to-addresses=192.168.1.2 \
to-ports=0-65535 disabled=no

add chain=srcnat connection-mark=speedy-2 action=src-nat to-addresses=192.168.2.2 \
to-ports=0-65535 disabled=no

Lebih baik jika dial-up nya tidak langsung dari modem karena beban modem akan menjadi lebih ringan ( terlebih jika digunakan 24 jam ), tapi

karena keduanya sama-sama menggunakan TELKOM Speedy, gateway-nya menjadi sama (dalam hal ini 125.163.255.1) dan menyebabkan

salah satu-nya tidak bisa connect ( tergantung mana yang lebih dulu tersambung entah speedy-1 atau speedy-2 ), so.. speedy-2 dial langsung

dari modem dan speedy-1 dial dari MikroTik,

Script untuk dial-up Speedy :

/interface
pppoe-client add name=pppoe-user-speedy user=xxxx@telkom.net password=******* \
interface=internet service-name=internet disabled=no

Routing menjadi kunci utama dalam Load balancing ini, gateway di rule ketiga berarti speedy-1 akan menjadi primary.

/ ip route
add dst-address=0.0.0.0/0 gateway=125.163.255.1 scope=255 target-scope=10 \
routing-mark=speedy-1 comment=”speedy-1″ disabled=no
add dst-address=0.0.0.0/0 gateway=192.168.2.1 scope=255 target-scope=10 \
routing-mark=speedy-2 comment=”speedy-2″ disabled=no
add dst-address=0.0.0.0/0 gateway=125.16 3.255.1 scope=255 target-scope=10 \
comment=”primary connection” disabled=no

sumber:harimurti.or.id

Saya mengumpulkan dari berbagai sumber tutorial mengenai konfigurasi mikrotik sebagai dial up speedy. Untuk konfigurasi modem sebagai

bridging, dianggap kita tinggal menggunakan, dengan konfigurasi VPI/VCI = 8/35, anda bisa melakukan konfigurasi ini melalui konfigurasi

modem menggunakan browser dengan alamat 192.168.1.1 (rata-rata modem menggunakan user name & password = admin) pada modem

tertentu mungkin user name, password dan alamat IP yang digunakan untuk mengakses modem akan berbeda.

Pastikan alamat IP Gateway dari Speedy anda sebelumnya, anda bisa melakukan koneksi dial up melalui OS Windows, setelah terkoneksi ke

speedy, jalankan dari DOS PROMPT command berikut ” route print” (tanpa tanda petik), yang nantinya akan digunakan pada konfigurasi IP

gateway di mikrotik.

Berikut ini adalah konfigurasi speedy yang saya dapatkan di sawoenk_kampretz

Sebelumnya saya gambarkan dulu skema jaringannya:

LAN —> Mikrotik RouterOS —> Modem ADSL —> INTERNET

Untuk LAN, kita pake kelas C, dengan network 192.168.0.0/24. Untuk Mikrotik RouterOS, kita perlu dua ethernet card. Satu (ether1 -

192.168.1.2/24) untuk sambungan ke Modem ADSL dan satu lagi (ether2 – 192.168.0.1/24) untuk sambungan ke LAN. Untuk Modem ADSL, IP

kita set 192.168.1.1/24.

Sebelum mengetikkan apapun, pastikan Anda telah berada pada root menu dengan mengetikkan “/”
Set IP untuk masing²ethernet card
ip address add address=192.168.1.2/24 interface=ether1
ip address add address=192.168.0.1/24 interface=ether2
Untuk menampilkan hasil perintah di atas ketikkan perintah berikut:
ip address print

Kemudian lakukan testing dengan mencoba nge-ping ke gateway atau ke komputer yg ada pada LAN. Jika hasilnya sukses, maka konfigurasi

IP Anda sudah benar
ping 192.168.1.1
ping 192.168.0.10

Menambahkan Routing
ip route add gateway=192.168.1.1

Setting DNS
ip dns set primary-dns=202.134.1.10 allow-remote-requests=yes
ip dns set secondary-dns=202.134.0.155 allow-remote-requests=yes

Karena koneksi ini menggunakan Speedy dari Telkom, maka DNS yg aq pake ya punya Telkom. Silahkan sesuaikan dengan DNS provider Anda.

Setelah itu coba Anda lakukan ping ke yahoo.com misalnya:
ping yahoo.com
Jika hasilnya sukses, maka settingan DNS sudah benar

Source NAT (Network Address Translation) / Masquerading
Agar semua komputer yg ada di LAN bisa terhubung ke internet juga, maka Anda perlu menambahkan NAT (Masquerade) pada Mikrotik.

ip firewall nat add chain=srcnat action=masquerade out-interface=ether1

Sekarang coba lakukan ping ke yahoo.com dari komputer yang ada di LAN

ping yahoo.com
Jika hasilnya sukses, maka setting masquerade sudah benar

DHCP (DynamicHost Configuration Protocol)
Karena alasan supaya praktis, temenku pengin pake DHCP Server. Biar klo tiap ada klien yang konek, dia ga perlu setting IP secara manual.

Tinggal obtain aja dari DHCP Server, beres dah. Untungnya Mikrotik ini juga ada fitur DHCP Servernya. Jadi ya ga ada masalah..

Membuat IP Address Pool
ip pool add name=dhcp-pool ranges=192.168.0.2-192.168.0.254

Menambahkan DHCP Network
ip dhcp-server network add address=192.168.0.0/24 gateway=192.168.0.1 dns-server=202.134.1.10,202.134.0.155

Menambahkan Server DHCP
ip dhcp-server add name=DHCP_LAN disabled=no interface=ether2 address-pool=dhcp-pool

Sekarang coba lakukan testing dari komputer klien, untuk me-request IP Address dari Server DHCP. Jika sukses, maka sekali lagi,

settingannya udah bener

Bandwidth Control

Agar semua komputer klien pada LAN tidak saling berebut bandwidth, maka perlu dilakukan yg namanya bandwidth management atau

bandwidth control

Model yg saya gunakan adalah queue trees. Untuk lebih jelas apa itu, silahkan merujuk ke situsnya Mikrotik
Kondisinya seperti ini:

Koneksi Speedy kan katanya speednya sampe 384/64 Kbps (Download/Upload), nah kondisi itu sangat jarang tercapai. Jadi kita harus cari

estimasi rata²nya. Maka saya ambil minimalnya untuk download bisa dapet sekitar 300 Kbps dan untuk upload aq alokasikan 50 Kbps.

Sedangkan untuk yg maksimumnya, untuk download kira² 380 Kbps dan upload 60 Kbps.
Lalu, jumlah komputer klien yang ada saat ini adalah 10 buah. Jadi harus disiapkan bandwidth itu untuk dibagikan kepada 10 klien tersebut.
Perhitungan untuk masing² klien seperti ini:
Minimal Download: 300 / 10 * 1024 = 30720 bps
Maximal Download: 380 / 10 * 1024 = 38912 bps
Minimal Upload: 50 / 10 * 1024 = 5120 bps
Maximal Upload: 60 / 10 * 1024 = 6144 bps

Selanjutnya kita mulai konfigurasinya:
Tandai semua paket yg asalnya dari LAN

ip firewall mangle add src-address=192.168.0.0/24 action=mark-connection new-connection-mark=Clients-con chain=prerouting
ip firewall mangle add connection-mark=Clients-con action=mark-packet new-packet-mark=Clients chain=prerouting

Menambahkan rule yg akan membatasi kecepatan download dan upload
queue tree add name=Clients-Download parent=ether2 packet-mark=Clients limit-at=30720 max-limit=38912
queue tree add name=Clients-Upload parent=ether1 packet-mark=Clients limit-at=5120 max-limit=6144

Sekarang coba lakukan test download dari beberapa klien, mestinya sekarang tiap2 klien akan berbagi bandwidthnya. Jika jumlah klien yg

online tidak sampai 10, maka sisa bandwidth yang nganggur itu akan dibagikan kepada klien yg online.
Graphing

Mikrotik ini juga dilengkapi dengan fungsi monitoring traffic layaknya MRTG biasa. Jadi kita bisa melihat berapa banyak paket yg dilewatkan
pada PC Mikrotik kita.

tool graphing set store-every=5min

Berikutnya yang akan kita monitor adalah paket² yg lewat semua interface yg ada di PC Mikrotik kita, klo di komputerku ada ether1 dan ether2.

tool graphing interface add-interface=all store-on-disk=yes

Sekarang coba arahkan browser anda ke IP Router Mikrotik. Klo aq di sini: http://192.168.0.1/graphs/

Nanti akan ada pilihan interface apa aja yg ada di router Anda. Coba klik salah satu, maka Anda akan bisa melihat grafik dari paket2 yg lewat pada interface tersebut.
sumber:harimurti.or.id

[areksitiung@ROUTER-HTB] > /ip fir mangle pr
Flags: X – disabled, I – invalid, D – dynamic
0 chain=prerouting in-interface=local dst-address=192.168.3.2 action=accept

1 ;;; Transparent PROXY
chain=prerouting in-interface=local src-address=192.168.0.0/24 protocol=tcp dst-port=80 action=mark-packet
new-packet-mark=proxy passthrough=no

2 chain=prerouting in-interface=local src-address=192.168.0.0/24 protocol=tcp dst-port=3128 action=mark-packet
new-packet-mark=proxy passthrough=no

3 chain=prerouting in-interface=local src-address=192.168.0.0/22 protocol=tcp dst-port=8080 action=mark-packet
new-packet-mark=proxy passthrough=no

4 ;;; LoadBalancing
chain=prerouting src-address=192.168.0.0/22 connection-state=new nth=1,1,0 action=mark-connection
new-connection-mark=speedy1 passthrough=yes

5 chain=prerouting src-address=192.168.0.0/22 connection-mark=speedy1 action=mark-routing new-routing-mark=speedy1
passthrough=no

6 chain=prerouting src-address=192.168.0.0/22 connection-state=new nth=1,1,1 action=mark-connection
new-connection-mark=speedy2 passthrough=yes

7 chain=prerouting src-address=192.168.0.0/22 connection-mark=speedy2 action=mark-routing new-routing-mark=speedy2
passthrough=no

[areksitiung@ROUTER-HTB] > /ip fir nat pr
Flags: X – disabled, I – invalid, D – dynamic
0 chain=dstnat connection-mark=ddd action=dst-nat to-addresses=192.168.3.2 to-ports=3128

1 ;;; 2 proxy
chain=dstnat packet-mark=proxy action=dst-nat to-addresses=192.168.3.2 to-ports=3128

2 ;;; NAT to PROXY
chain=srcnat out-interface=PROXY action=masquerade

3 ;;; SSH to PROXY
chain=dstnat protocol=tcp dst-port=1979 action=dst-nat to-addresses=192.168.3.2 to-ports=22

4 ;;; NAT to CLIENT
chain=srcnat connection-mark=speedy1 action=src-nat to-addresses=125.162.85.124 to-ports=0-65535

5 chain=srcnat connection-mark=speedy2 action=src-nat to-addresses=125.162.89.36 to-ports=0-65535

[areksitiung@ROUTER-HTB] > /ip ro pr
Flags: X – disabled, A – active, D – dynamic, C – connect, S – static, r – rip, b – bgp, o – ospf
# DST-ADDRESS PREF-SRC G GATEWAY DISTANCE INTERFACE
0 ADC 125.162.89.1/32 125.162.89.36 pppoe-out2
1 ADC 125.162.85.1/32 125.162.85.124 pppoe-out1
2 ADC 192.168.0.0/24 192.168.0.254 local
3 ADC 192.168.2.0/24 192.168.2.2 SPEEDY2
4 ADC 192.168.3.0/24 192.168.3.1 PROXY
5 DC 192.168.3.0/24 192.168.1.2 SPEEDY1
6 A S 0.0.0.0/0 r 125.162.80.1 pppoe-out2
7 A S 0.0.0.0/0 r 125.162.82.1 pppoe-out1
8 AD 0.0.0.0/0 r 125.162.82.1 1 pppoe-out1

Tahun Baru, Semangat Baru
Ya, ini postingan pertama saya di tahun 2009 ini. Selamat Tahun baru 2009 bagi para pembaca semuanya, semoga tahun 2009 ini lebih baik dari tahun yang baru saja kita tinggalkan. O, iya bagaimana acara tahun baru anda semalam? apakah hari hujan? saya sendiri menghabiskan waktu untuk nonton tipi sampai larut malam. Ya, ini postingan pertama saya di tahun 2008 ini. Selamat Tahun baru 2008 bagi para pembaca semuanya, semoga tahun 2008 ini lebih baik dari tahun yang baru saja kita tinggalkan. O, iya bagaimana acara tahun baru anda semalam? apakah hujan? saya sendiri menghabiskan waktu nonton tipi. Rencaranya mau keluar ngopi bareng ama temen2,(Donald,Yoyok&Harry). Berhubung kasian mau ninggalin anak dan istri dirumah sendirian. Sorry ya teman2,gak jadi ngopi barengnya.