Saturday, October 31, 2009
Print Web
* Gimana cara bikin laporan di web?
* Gimana sih cara bikin laporan dengan PDF file?
* Gimana sih cara export web ke MS Excel?
* Gimana sih cara export web ke MS Word?
* Saya pusing dengan FPDF. Harus main koordinat. Apa ada penyelesaian yang lebih mudah?
* Cara print di web yang mudah?
Baiklah pada artikel kali ini gw akan memberi masukan mengenai pertanyaan-pertanyaan di atas. Walaupun tidak menjawab semua pertanyaan tapi gw berharap penyelesaian ini bisa menyelesaikan masalah Anda.
Kalo menjawab pertanyaan "Gimana cara bikin laporan di web?" kayaknya penulis sedikit bingung. Soalnya menurut penulis, kalau datanya udah tampil di web ya itulah laporannya dan itu juga yang akan kita cetak. Mungkin bedanya kalo di aplikasi berbasis desktop ada yang namanya "data grid" dan ada yang namanya "laporan". Di aplikasi berbasis desktop laporan biasanya menggunakan Crystal Report.
Mungkin Anda berpendapat bahwa tampilan untuk monitor dan untuk print harusnya berbeda karena tidak mungkin kita membuat laporan cetak dan di situ terdapat menu navigasi, belum lagi background yang menggangu. Yup, setuju. Untuk itu kita harus membuat 2 versi halaman kita. Versi layar monitor dan versi cetak.
Berikut cara-cara membuat dua versi halaman, yakni: versi layar monitor dan versi cetak yang bisa Anda pilih salah satunya:
1. menggunakan tag PHP untuk memanggil 2 file CSS
2. menggunakan tag HTML untuk memanggil 2 file CSS
3. menggunakan @import url
4. menggunakan satu file CSS untuk dua versi tampilan
1. Menggunakan tag PHP untuk memanggil 2 file CSS
Berikut kode PHPnya dan letakkan di bagian pada kode HTML Anda.
view plain print
1.
2.
3.
4.
5.
Kelemahan dari cara ini adalah harus load ulang halaman. bayangkan jika halaman yang akan kita cetak merupakan bentuk rekapitulasi dengan banyak query dan loadnya sangat lama. Wew tidak praktis. Cara ini sama saja dengan membuat link ke halaman baru, dengan desain halaman baru yang minimalis, yang sengaja disiapkan untuk cetak laporan.
2. Menggunakan tag HTML untuk memanggil 2 file CSS
view plain print
1.
2.
Cara ini yang sering penulis gunakan. Cukup membuat 2 file CSS yang berbeda dan menempatkan tag tersebut di bagian . kemudian menyembunyikan
3. Menggunakan @import url
view plain print
1. @import url(print.css) print,projection;
@import url(print.css) print,projection;
Hampir sama dengan cara di atasnya, cuman beda kode.
4. Menggunakan satu file CSS untuk dua versi tampilan
view plain print
1.
cara ini juga bagus dan bahkan hanya menggunakan 1 file CSS. Yup, style untuk dua versi tampilan (layar dan printing) dalam satu file CSS.
Baiklah, sekarang kita mulai praktek membuat laporan di web yang bisa langsung kita cetak. Tapi sebelumnya mari kita lihat versi layar untuk aplikasi SIMPEG yang penulis buat.
view plain print
1. #atas{
2. height: 100px; /*Height of top section*/
3. background:url(items/header.jpg) repeat-x #2D1721;
4. }
5.
6. #atas h1{
7. margin: 0;
8. padding-top: 15px;
9. }
10.
11. #wrapper{
12. float: left;
13. width: 100%;
14. }
15.
16. #isi{
17. margin-right: 170px;
18. }
19.
20. #kanan{
21. float: left;
22. width: 170px; /*Width of right column in pixels*/
23. margin-left: -170px; /*Set left margin to -(RightColumnWidth) */
24. }
25.
26. #bawah{
27. clear: left;
28. width: 100%;
29. background: black;
30. color: #FFF;
31. text-align: center;
32. padding: 4px 0;
33. }
#atas{ height: 100px; /*Height of top section*/ background:url(items/header.jpg) repeat-x #2D1721; } #atas h1{ margin: 0; padding-top: 15px; } #wrapper{ float: left; width: 100%; } #isi{ margin-right: 170px; } #kanan{ float: left; width: 170px; /*Width of right column in pixels*/ margin-left: -170px; /*Set left margin to -(RightColumnWidth) */ } #bawah{ clear: left; width: 100%; background: black; color: #FFF; text-align: center; padding: 4px 0; }
File di atas disimpan dengan nama layar.css
Berikut tampilannya:
layout buat layar monitor
layout simpegda
Kalau untuk printing tentunya kita harus menyingkirkan
view plain print
1. #atas, #kanan, #bawah
2. {display:none;}
3.
4. #wrapper{
5. float: left;
6. width: 100%;
7. }
8.
9. #isi{
10. width: 100%;
11. }
#atas, #kanan, #bawah {display:none;} #wrapper{ float: left; width: 100%; } #isi{ width: 100%; }
Selanjutnya disimpan menjadi print.css
Dan untuk format tampilan
Untuk menampilkan 2 file CSS di atas kita menggunakan kode sebagai berikut:
view plain print
1.
2.
3.
Cukup begitu saja. Apabila dilihat melalui print preview hasilnya seperti ini:
hasil print laporan
Apabila Anda menginginkan file CSS yang standar Anda bisa merujuk ke Hartija Css Print Framework.
Artikel-artikel ini membahas tentang bagaimana membuat printer frendly webpage:
1. CSS Design: Going to Print
2. Back To The Future of Print
3. Five Simple Steps to Typesetting on the web: Printing the web
4. What is a Printer-Friendly Web Page?
5. Printing the Web
6. A Print CSS Primer
Export Laporan ke Format File Lain
Export ke PDF:
Untuk export file ke bentuk *.pdf kita bisa menggunakan Free PDF library atau dikenal sebagai FPDF (www.FPDF.org). Sedikit ribet memang dan butuh kesabaran untuk mencoba-coba membuat laporan. Tapi kalo keperluannya cuman sekadar mencetak laporan apa tidak mudah dengan cara di atas? ga tahu lagi kalo tujuannya lain.
Export ke MS Word:
Untuk export ke MS Word kita bisa memanfaatkan sebuah class dari phpclass.org dengan nama clsWord. Apabila Anda menginginkan bisa search di paman google dengan kata kunci: mswordphp-2006-12-26
Tapi akan lebih mudah dengan cara memanipulasi header file PHP Anda. Tambah beberapa baris kode berikut di bagian atas sendiri pada kode Anda
view plain print
1. 2. header("Content-Type: application/download'");
3. header("Content-Disposition: inline; filename="word.doc"");
4. header("Expires: 0");
5. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
6. header("Pragma: public");
7. ?>
Export ke MS Excel:
Kita bisa memanfaatkan excel stream. Cari xlsstream-2005-01-20.zip dengan paman google, apabila Anda tertarik dengan class ini. Penulis juga mendapatkannya di phpclass.org .
Sama seperti word kita juga bisa memanipulasi header di script PHP kita.
view plain print
1. 2. header("Content-Type: application/download");
3. header("Content-Disposition: inline; filename="excel.xls"");
4. header("Expires: 0");
5. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
6. header("Pragma: public");
7. ?>
Saya kira cukup sekian penjelasan tentang laporan, printing dan lain-lain. Sebenernya masih banyak cara-cara lain yang bisa kita pakai dalam membuat laporan. tergantung kreatifitas kita. Coba luangkan waktu untuk baca-baca artikel mengenai OWC (Office Web Component) mungkin bisa banyak membantu. Biar tambah penasaran, kita juga bisa menfaatkan Crystal Report untuk membuat laporan pada aplikasi berbasis web. Udah dulu ah, kalo ada pertanyaan atau koreksi jangan ragu buat ngasih comment or japri gw.
Semoga bermanfaat.
Sumber Aslinya
Saturday, October 24, 2009
Orek-orekan Loadbalancing Menggunakan Router Linux
by: Onno W. Purbo
- insert ubuntu disc
- boot
install a command line system
$ sudo passwd root
# su -
# vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 10.0.148.48
netmask 255.255.255.0
auto eth1
iface eth1 inet static
address 192.168.0.222
netmask 255.255.255.0
auto eth2
iface eth2 inet static
address 192.168.1.222
netmask 255.255.255.0
# vi /etc/apt/source-list
deb ftp://192.168.0.1/pub/edgy-repo1/ edgy main restricted
deb ftp://192.168.0.1/pub/edgy-repo2/ edgy universe
deb ftp://192.168.0.1/pub/edgy-repo3/ edgy universe
deb ftp://192.168.0.1/pub/edgy-repo4/ edgy universe multiverse
# apt-get update
# apt-get install openssh-server
# /etc/init.d/ssh restart
# vi /etc/timezone
Asia/Jakarta
---------- iproute2 ------------------------------------------------
/sbin/ip link set lo up
/sbin/ip link set eth0 up
/sbin/ip link set eth1 up
/sbin/ip link set eth2 up
/sbin/ip route flush table adsl
/sbin/ip route flush table rtrwnet
/sbin/ip route flush table internet
/sbin/ip addr add 127.0.0.1/8 brd 127.0.0.255 dev lo
/sbin/ip addr add 192.168.1.222/24 brd 192.168.1.255 dev eth2
# /sbin/ip addr add 10.0.148.48/24 brd 10.0.148.255 dev eth0
/sbin/ip addr add 192.168.0.222/24 brd 192.168.0.255 dev eth1
/sbin/ip route add 127.0.0.0/8 dev lo
/sbin/ip route add 10.5.148.0/24 via 10.0.148.254 dev eth0
/sbin/ip route add 192.168.0.0/24 dev eth1
/sbin/ip route add 44.132.33.0/24 via 192.168.0.10 dev eth1
/sbin/ip route add 192.168.11.0/24 via 192.168.0.10 dev eth1
/sbin/ip route add 125.160.6.0/24 via 192.168.1.1 dev eth2
/sbin/ip route add 202.159.32.0/24 via 192.168.1.1 dev eth2
/sbin/ip rule add prio 10 table main
/sbin/ip rule add prio 20 table adsl
/sbin/ip rule add prio 30 table rtrwnet
/sbin/ip rule add prio 40 table internet
/sbin/ip route del default table main
/sbin/ip route del default table adsl
/sbin/ip route del default table rtrwnet
/sbin/ip route del default table internet
/sbin/ip rule add prio 20 from 192.168.1.0/24 table adsl
/sbin/ip route add default via 192.168.1.1 dev eth2 src 192.168.1.222 proto static table adsl
/sbin/ip route append prohibit default table adsl metric 1 proto static
/sbin/ip rule add prio 30 from 10.0.148.0/24 table rtrwnet
/sbin/ip route add default via 10.0.148.254 dev eth0 src 10.0.148.48 proto static table rtrwnet
/sbin/ip route append prohibit default table rtrwnet metric 5 proto static
# Set up load balancing gateways
/sbin/ip rule add prio 40 table internet
/sbin/ip route add default proto static table internet \
nexthop via 192.168.1.1 dev eth2 weight 1 \
nexthop via 10.0.148.254 dev eth0 weight 10
# Setup routing to ISPs
/sbin/ip route add 202.138.236.0/24 proto static table internet \
nexthop via 192.168.1.1 dev eth2 weight 10 \
nexthop via 10.0.148.254 dev eth0 weight 1
----------- iptables -----------------------------------------------
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
/sbin/iptables -P INPUT DROP
/sbin/iptables -A INPUT -p tcp -i eth1 --destination-port 25 -s ! 192.168.0.1 -j DROP
/sbin/iptables -A INPUT -i eth1 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 0/0 --dport 25 -j ACCEPT
/sbin/iptables -A INPUT -i eth2 -p tcp -s 0/0 --dport 25 -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth0 -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -p tcp -i eth2 -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -p udp -i eth0 -j REJECT --reject-with icmp-port-unreachable
/sbin/iptables -A INPUT -p udp -i eth2 -j REJECT --reject-with icmp-port-unreachable
/sbin/iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to 192.168.1.222
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 10.0.148.48
----------- /etc/iproute2/rt_tables --------------------------------
120 adsl
121 rtrwnet
123 internet
Friday, October 23, 2009
Authentifikasi Proxy Squid
–enable-auth=”basic”
–enable-basic-auth-helpers=”NCSA”
NB:
Pada saat configure proxy squid arahkan direktory prefix squid anda ke /usr/local/squid
Baiklah kalo sudah selesai instalasi squid anda harus mengkonfigurasi squid tersebut supaya bisa berjalan sesuai dengan yang anda inginkan yaitu muncul dialog User dan Password saat client melakukan browsing ke Internet.
Langsung saja kita konfigurasi Squid yang sudah anda instalasi tersebut:
1. Buatlah file untuk user dan password saat client anda browsing di internet caranya sebagai berikut :
Router # cd /usr/local/squid
Router # touch passwd
Router # chmod o+r passwd
2. Create User dan Password untuk masing masing client
Router# htpasswd /usr/local/squid/passwd yudy —-> yudy (UserSquid)
New password:
Re-type new password:
Adding password for user yudy
3. Tambahkan baris tulisan berikut ke dalam squid.conf anda
auth_param basic program /usr/local/squid/libexec/ncsa_auth /usr/local/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
Konfigurasi squid.conf
Konfigurasi squid.conf
4. Kemudian save Konfgurasi squid.conf anda
5. Configure atau Restart squid anda dengan cara
Router # /usr/local/squid/sbin/squid -k reconfigure
atau
Router # killall squid
Router # /usr/local/squid/sbin/squid -YD
6. Cek di mesin Router anda dengan perintah
Router # ps ax
status squid dan autentifikasi sudah akfit
status squid dan autentifikasi sudah akfit
7. Coba anda buat browsing lewat komputer client dengan mengkonfigurasi browser Internet Explorer
Buka Internet Explore –> Tools –> Internet Options –> Connections –> Lan Setting
Internet Explorer Setting IP Proxy
Internet Explorer Setting IP Proxy
8. Maka pada saat browsing internet dialog untuk menanyakan User dan Password akan muncul seperti gambar dibawah ini.
dialog-autentifikasi
dialog-autentifikasi
Demikian Semoga Bermanfaat.
Ditulis dalam Debian, Slackware | Bertanda ncsa_auth, proxy, proxy autentifikasi, proxy ncsa_auth, squid, squid proxy | & Komentar
Wednesday, October 21, 2009
Monitor Jaringan dengan iftop dan nload
Minggu, 24 Juni 2007
Melihat traffic jaringan dengan iftop dan nload
Sebagai seorang admin, tentunya melihat traffic jaringan sangat penting, sehingga kita bisa mengetahui bagaimana user menggunakan bandwithnya. Salah satu tool yang bisa digunakan untuk melihat traffic jaringan secara realtime adalah iftop (informasi mengenai iftop bisa dilihat di http://www.ex-parrot.com/~pdw/iftop/ )
Pada tulisan ini, menggunakan Ubuntu 7.04. Untuk menginstall iftop, pada terminal atau konsol ketik
$ sudo apt-get install iftop
Setelah proses installasi selesai, sekarang kita bisa menggunakan iftop untuk melihat traffic jaringan. Pada terminal ketik perintah berikut
$ sudo iftop -i eth1
Perintah diatas akan membuat iftop mengawasi interface jaringan eth1 (interace yang terhubunga dengan LAN, silahkan ganti sesuai dengan kebutuhan.)
195Kb 391Kb 586Kb 781Kb 977Kb
└───────────────┴───────────────┴───────────────┴───────────────┴───────────────
66.230.168.59 => 192.168.1.11 35.2Kb 31.2Kb 31.2Kb
<= 1.27Kb 1.01Kb 1.01Kb
38.103.54.59 => 192.168.1.12 23.4Kb 20.7Kb 20.7Kb
<= 480b 533b 533b
69.5.88.71 => 192.168.1.13 5.86Kb 9.40Kb 9.40Kb
<= 160b 160b 160b
202.134.0.155 => 192.168.1.15 592b 987b 987b
<= 0b 568b 568b
────────────────────────────────────────────────────────────────────────────────
TX: cumm: 210KB peak: 325Kb rates: 325Kb 281Kb 281Kb
RX: 9.45KB 15.7Kb 10.6Kb 12.6Kb 12.6Kb
TOTAL: 220KB 335Kb 335Kb 293Kb 293Kb
Keterangan dari tampilan diatas untuk:
66.230.168.59 => 192.168.1.11 35.2Kb 31.2Kb 31.2Kb
<= 1.27Kb 1.01Kb 1.01Kb
=> : berarti traffic yang berasal dari 66.230.168.59 ke host 192.168.1.11
<= : berarti traffic yang berasal dari 192.168.1.11 ke 66.230.168.59
Sekarang lihat tiga kolom paling kanan, disitu ada 35.2Kb 31.2Kb 31.2Kb. Dimulai dari paling kiri, merupakan jumlah data yang diterima oleh host 192.168.1.11 dalam selang waktu 2 detik yaitu sebanyak 35.2Kb.
Kolom berikutnya menunjukan data yang diterima dalam waktu 10 detik, dan yang terakhir dalam jangka waktu 40 detik.
Agar lebih mudah dalam menjalankan iftop, kita juga bisa membuat file konfigurasi yang akan dibaca oleh iftop. File ini akan disimpan di /etc/iftop/eth1 (sesuaikan namanya dengan yang diinginkan).
$ sudo mkdir /etc/iftop
$ sudo vi /etc/iftop/eth1
Isikan baris berikut ini pada file /etc/iftop/eth1
interface: eth1
dns-resolution: no
port-resolution: no
show-bars: yes
promiscuous: no
port-display: off
hide-source: yes
hide-destination: no
sort: 2s
line-display: one-line-sent
Untuk melihat fungsi options diatas bisa dengan membaca manual page dari iftop (man iftop), anda bisa mengganti sesuai dengan selera sendiri. Simpan file tersebut.
Sekarang, jalankan kembali perintah iftop
$ sudo iftop -c /etc/iftop/eth1
Flaq -c diatas memberitahukan iftop untuk membaca file konfigurasi pada /etc/iftop/eth1. Hasilnya kurang lebih akan terlihat seperti ini:
195Kb 391Kb 586Kb 781Kb 977Kb
└───────────────┴───────────────┴───────────────┴───────────────┴───────────────
* => 192.168.1.12 35.2Kb 34.7Kb 34.1Kb
* => 192.168.1.13 30.7Kb 33.3Kb 33.7Kb
* => 192.168.1.15 12.0Kb 12.2Kb 8.79Kb
────────────────────────────────────────────────────────────────────────────────
TX: cumm: 16.6MB peak: 326Kb rates: 291Kb 272Kb 245Kb
RX: 1.98MB 21.6Kb 13.2Kb 10.2Kb 13.0Kb
TOTAL: 18.5MB 334Kb 304Kb 282Kb 258Kb
nload
Selain dengan iftop, kita juga bisa melihat traffic dengan menggunakan nload (http://www.roland-riegel.de/nload/index_en.html), nload menampilkan incoming dan outgoing traffic dari interface yang ingin kita lihat.
Untuk menginstall nload, jalankan perintah berikut:
$ sudo apt-get install nload
Untuk melihat traffic pada eth1, gunakan perintah
$ nload eth1
Device eth1 [172.16.1.178] (1/1):
================================================================================
Incoming:
Curr: 18.30 kBit/s
Avg: 14.91 kBit/s
Min: 8.94 kBit/s
Max: 18.30 kBit/s
Ttl: 124.09 MByte
Outgoing:
Curr: 83.88 kBit/s
Avg: 68.23 kBit/s
Min: 45.25 kBit/s
Max: 94.93 kBit/s
Ttl: 1131.87 MByte
Untuk mengetahui option dari nload, silahkan lihat manual page nya (man nload).
Wednesday, October 7, 2009
Sensor adengan sex film Lust, Caution yang disensor jadi media penyebaran virus.
Potongan film yang disebar, dijadikan target untuk mencuri password IM
Lust Caution, adalah judul film baru dan sedang in di China. Karena mendapatkan 12.12 juta dollar hanya dalam 2 minggu pertama. Tetapi ada beberapa adengan yang dipotong pada film itu, sekitar 7 menit adengan tidak ada didalam film versi bioskop.
Beberapa situs menawarkan download file potongan film itu. Tetapi ada layanan gratis tersebut malah mencoba mencuri password penguna komputer. Sekitar 15 persen link untuk mendownload berisi virus komputer.
Hacker mencoba mengambil kesempatan dari kepopuleran sebuah media hiburan seperti film untuk menyerbar virus.
Seorang teknisi menemukan serangan virus minggu lalu. Tanda dari serangan seperti layar blank dari monitor lalu dia kehilangan password di software Instant Messenger.
http://www.youtube.com/watch?v=i9YLIjddVhE&feature=related
Load Balancing dengan Debian Etch
Adapun gambaran jaringan yg dibuat adalah sebagai berikut :
eth0 (192.168.1.100) terhubung ke modem1 dengan ip 192.168.1.1 pada network : 192.168.1.0/24
eth1 (192.168.2.100) terhubung ke modem2 dengan ip 192.168.2.1 pada network : 192.168.2.0/24
eth2 (192.168.15.1) adalah untuk jaringan localnya dengan network : 192.168.15.0/24
Pengaturan Ip tersebut ada di /etc/network/interfaces :
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
auto eth1
iface eth1 inet static
address 192.168.2.100
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
auto eth2
iface eth2 inet static
address 192.168.15.1
netmask 255.255.255.0
network 192.168.15.0
broadcast 192.168.15.255
dan perlu juga diatur table routing nya yg ada di : /etc/iproute2/rt_tables :
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
120 adsl1
121 adsl2
123 internet
Kemudian membuat file di /etc/ dengan nama : /etc/maxinet/my_iptables dan supaya bisa di eksekusi saat booting di chmod +x /etc/maxinet/my_iptables dan di masukkan ke /etc/init.d/networking di bagian ini :
case “$1″ in
start)
process_options
log_action_begin_msg “Configuring network interfaces”
if ifup -a; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
/etc/maxinet/my_iptables
;;
Sedangkan Isi dari /etc/maxinet/my_iptables adalah sebagai berikut :
#!/bin/bash
##Main Rule
ip route flush table adsl1
ip route flush table adsl2
ip route flush table internet
ip rule add prio 10 table main
ip rule add prio 20 table adsl1
ip rule add prio 30 table adsl2
ip rule add prio 40 table internet
ip route del default table main
ip route del default table adsl1
ip route del default table adsl2
ip route del default table internet
ip rule add prio 20 from 192.168.1.0/24 table adsl1
ip route add default via 192.168.1.1 dev eth0 src 192.168.1.100 proto static table adsl1
ip route append prohibit default table adsl1 metric 1 proto static
ip rule add prio 30 from 192.168.2.0/24 table adsl2
ip route add default via 192.168.2.1 dev eth1 src 192.168.2.100 proto static table adsl2
ip route append prohibit default table adsl2 metric 5 proto static
##Set Load Balancing
ip rule add prio 40 table internet
ip route add default proto static table internet \nexthop via 192.168.1.1 dev eth0 weight 1 \nexthop via 192.168.2.1 dev eth1 weight 1
## NAT
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -P INPUT DROP
iptables -A INPUT -i eth2 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp -s 0/0 –dport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -s 0/0 –dport 25 -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED, RELATED -j ACCEPT
iptables -A INPUT -p tcp -i eth1 -j REJECT –reject-with tcp-reset
iptables -A INPUT -p tcp -i eth0 -j REJECT –reject-with tcp-reset
iptables -A INPUT -p tcp -i eth1 -j REJECT –reject-with icmp-port-unreachable
iptables -A INPUT -p tcp -i eth0 -j REJECT –reject-with icmp-port-unreachable
iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to 192.168.1.100
iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to 192.168.2.100
Setelah diconfigurasi reboot servernya dan ditest koneksinya… alhamdulillah berfungsi dan berjalan dengan baik.
Untuk melihat apakah iptables nya berfungsi dengan baik, diketikkan perintah : iptables -L -n -v -t nat .
Untuk Indikator apakah ada pemakaian melalui kedua modem bisa juga diliat dari indikator lampu ethernetnya, jika blinkingnya cepat brarti sedang ada pemakaian.
Demikian setingan load balancing untuk 2 link speedy yang berhasil saya konfigurasi.
Sumber : http://www.debian-id.org
Pada kesempatan ini saya akan membahas tentang bagaimana cara mengkonfigurasi pc linux sebagai router / gateway internet. Jika anda memiliki 2 koneksi ISP yang ingin dibagikan kedalam 1 network melalui 1 server linux, mungkin artikel ini akan membantu anda. Saya akan berusaha menjelaskan secara singkat, dan semudah mungkin untuk dimengerti. Konfigurasi ini adalah konfigurasi cara manual tanpa melalui software perantara. Dengan kata lain, cukup instalasi standart linux pada sebuah pc, anda sudah bisa mempraktekkannya sendiri. Dan yang terpenting, langkah konfigurasi ini berlaku untuk semua distribusi linux yang ada, baik Fedora, SUSE, Mandriva dan lainnya.
Dalam artikel ini saya akan menggunakan kasus, kita memiliki 2 koneksi internet dengan ISP Fastnet.
Yang disediakan:
1. Sebuah pc yang sudah terinstal sistem operasi linux.
2. Dua koneksi ISP / internet (saya asumsikan kedua ISP adalah Fastnet)
3. Tiga buah network/ethernet card (biasanya pc modern sudah memiliki 1 build-in)
4. Satu buah hub untuk menghubungkan antara server linux dan client clientnya.
Gambar ilustrasi kasus
Network
Langkah langkah konfigurasi
1. Pastikan network local anda sudah di konfigurasi dengan ip statik dan sambungkan kedua kabel koneksi internet ke ethernet masing masing. Jika konfigurasi awal sudah benar, jalankan perintah ‘ifconfig‘ maka dilayar anda akan muncul hasil seperti gambar ini:
ifconfig
Dari hasil tersebut menunjukkan kita memiliki ethernet card pertama (eth0) dengan statik IP 192.168.0.136, kemudian ethernet kedua (eth1) dengan IP 61.247.34.52 (koneksi fastnet1), dan yang terakhir (eth2) dengan IP 61.247.6.104 (koneksi fastnet 2)
2. Aktifkan IP FORWARDING pada server linux anda,
edit file /etc/sysctl.conf, cari baris berikut dan ubah nilainya seperti dibawah ini
net.ipv4.ip_forward = 1
kemudian aktifkan dengan ‘sysctl -p‘ atau restart server jika dirasa kurang yakin.
3. Atur firewall untuk mengatur jalur data, setelah anda mendapatkan IP masing masing koneksi (langkah 1) melalui command prompt / shell jalankan perintah berikut
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t nat -A POSTROUTING -o eth1 -j SNAT -–to-source 61.247.34.52
iptables -t nat -A POSTROUTING -o eth2 -j SNAT -–to-source 61.247.6.104
dan, kita pastikan perintah tersebut sudah terinput dengan benar, dengan perintah ‘iptables -nvL -t nat‘ maka akan muncul hasil seperti gambar berikut
nat
4. Cari tahu koneksi internet manakah yang digunakan sebagai default gateway (jalur utama) oleh linux. Dengan perintah ‘route -n‘, maka hasil dari perintah tersebut akan terlihat seperti gambar:
routing_table_1
Dari gambar itu menunjukkan terdapat 2 buah gateway yang tersambung ke linux, akan tetapi yang dipakai saat ini hanyalah baris pertama dari 2 baris terakhir, yaitu koneksi internet pertama (eth1 / 61.247.34.52) dengan gateway 61.247.34.1. Itu berarti koneksi internet kedua (eth2) akan idle dan tidak terpakai.
5. Kemudian kita akan membuat aturan routing, membagi sebagian client lokal kita untuk memakai koneksi internet yang kedua (eth2), sebelum itu mari kita lihat kembali berapakah IP gateway untuk koneksi internet kedua (eth2) dengan perintah seperti langkah diatas yaitu ‘route -n‘
routing_table_2
Pada gambar tersebut jelas terlihat bahwa koneksi internet kedua (eth2 / 61.247.6.104) memiliki gateway 61.247.6.1. Setelah itu kita akan mendefinisikan table routing untuk kedua koneksi fastnet yang kita miliki dengan jalankan perintah berikut pada command prompt / shell
echo 1 fastnet1 >> /etc/iproute2/rt_tables
echo 2 fastnet2 >> /etc/iproute2/rt_tables
Perintah diatas akan memasukkan 2 baris definisi koneksi kedalam file /etc/iproute2/rt_tables
Kemudian kita buat table routing untuk masing-masing IP gateway yang kita dapatkan dengan perintah ‘route -n‘ diatas (langkah 4-5) dengan perintah
ip route add default via 61.247.34.1 table fastnet1
ip route add default via 61.247.6.1 table fastnet2
Harap diperhatikan bahwa perintah diatas menggunakan IP gateway masing masing koneksi, bukan IP ethernet masing masing koneksi
6. Yang terakhir, kita akan mengarahkan sebagian client lokal kita, sebagai contoh IP 192.168.0.10 sampai dengan 192.168.0.30 untuk memakai koneksi internet kedua (eth2) yang belum terpakai (langkah 4) dengan kedua perintah berikut:
ip rule add fwmark 2 table fastnet2
iptables -t mangle -A PREROUTING -m iprange --src-range 192.168.0.10-192.168.0.30 -j MARK --set-mark 2
dan, kita pastikan perintah tersebut sudah terinput dengan benar, dengan perintah ‘iptables -nvL -t mangle‘ maka akan muncul hasil seperti gambar berikut
mangle
Tidak sulit bukan? saya harap artikel singkat ini mudah di mengerti dan bisa membantu anda.
http://frankymedia.com/60/tutorials/konfigurasi-linux-router-dengan-2-isp.html
Load Balancing dengan 2 ISP
Spesifikasi / topologi jaringan yang saya gunakan di rumah adalah sebagai berikut
Sambungan ADSL melalui eth2 IP address 192.168.1.222 dengan gateway router ADSL pada IP 192.168.1.1.
Sambungan RT/RW-net melalui eth0 IP address 10.0.148.48 melalui WiFi / Wireless dengan gateway 10.0.148.254.
Sambungan LAN melalui eth1 IP address 192.168.0.222.
Langkah instalasi router adalah sebagai berikut.
Masukan CD / DVD Ubuntu installer, pilih “install a command line system”
Set password root supaya kita dapat menjalankan perintah “su” melalui perintah
$ sudo passwd root
Pindah mode menjadi Super User
# su -
Edit informasi interface pada file /etc/network/interfaces, dapat dilakukan menggunakan vi
# vi /etc/network/interfaces
Informasi penting yang perlu di-edit pada file interfaces adalah
auto eth0
iface eth0 inet static
address 10.0.148.48
netmask 255.255.255.0
auto eth1
iface eth1 inet static
address 192.168.0.222
netmask 255.255.255.0
auto eth2
iface eth2 inet static
address 192.168.1.222
netmask 255.255.255.0
Install beberapa aplikasi pendukung agar memudahkan hidup anda seperti
# apt-get install openssh-server
# /etc/init.d/ssh restart
Selanjutnya kita perlu menset routing dan load balancing yang secara sederhana adalah sebagai berikut
/sbin/ip link set lo up
/sbin/ip link set eth0 up
/sbin/ip link set eth1 up
/sbin/ip link set eth2 up
/sbin/ip route flush table adsl
/sbin/ip route flush table rtrwnet
/sbin/ip route flush table internet
/sbin/ip addr add 127.0.0.1/8 brd 127.0.0.255 dev lo
/sbin/ip addr add 192.168.1.222/24 brd 192.168.1.255 dev eth2
# /sbin/ip addr add 10.0.148.48/24 brd 10.0.148.255 dev eth0
/sbin/ip addr add 192.168.0.222/24 brd 192.168.0.255 dev eth1
/sbin/ip rule add prio 10 table main
/sbin/ip rule add prio 20 table adsl
/sbin/ip rule add prio 30 table rtrwnet
/sbin/ip rule add prio 40 table internet
/sbin/ip route del default table main
/sbin/ip route del default table adsl
/sbin/ip route del default table rtrwnet
/sbin/ip route del default table internet
/sbin/ip rule add prio 20 from 192.168.1.0/24 table adsl
/sbin/ip route add default via 192.168.1.1 dev eth2 src 192.168.1.222 proto static table adsl
/sbin/ip route append prohibit default table adsl metric 1 proto static
/sbin/ip rule add prio 30 from 10.0.148.0/24 table rtrwnet
/sbin/ip route add default via 10.0.148.254 dev eth0 src 10.0.148.48 proto static table rtrwnet
/sbin/ip route append prohibit default table rtrwnet metric 5 proto static
# Set up load balancing gateways
/sbin/ip rule add prio 40 table internet
/sbin/ip route add default proto static table internet \
nexthop via 192.168.1.1 dev eth2 weight 1 \
nexthop via 10.0.148.254 dev eth0 weight 1
Konfigurasi di atas membutuhkan tiga (3) tabel routing tambahan, yaitu, adsl, rtrwnet dan internet yang kita masukan dalam file /etc/iproute2/rt_tables, isinya kira-kira sbb,
120 adsl
121 rtrwnet
123 internet
Selanjutnya kita perlu menset NAT / proxy agar dapat sekaligus melakukan NAT ke dua (2) interface yang berbeda, yaitu, 192.168.1.222 dan 10.0.148.48. Adapun perintahnya adalah sebagai berikut,
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
/sbin/iptables -P INPUT DROP
/
/sbin/iptables -A INPUT -i eth1 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -s 0/0 –dport 25 -j ACCEPT
/sbin/iptables -A INPUT -i eth2 -p tcp -s 0/0 –dport 25 -j ACCEPT
/sbin/iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth0 -j REJECT –reject-with tcp-reset
/sbin/iptables -A INPUT -p tcp -i eth2 -j REJECT –reject-with tcp-reset
/sbin/iptables -A INPUT -p udp -i eth0 -j REJECT –reject-with icmp-port-unreachable
/sbin/iptables -A INPUT -p udp -i eth2 -j REJECT –reject-with icmp-port-unreachable
/sbin/iptables -t nat -A POSTROUTING -o eth2 -j SNAT –to 192.168.1.222
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to 10.0.148.48
penulis : Onno W. Purbo
http://www.warungdigital.com/setting-router-load-balancing-menggunakan-linux-ubuntu.htm
http://ubuntupasuruan.wordpress.com/2008/03/02/membuat-router-load-balancing-menggunakan-linux-ubuntu/
About Me
Blog Archive
-
▼
2009
(30)
-
▼
October
(9)
- Tutorial FpdF
- Print Web
- Orek-orekan Loadbalancing Menggunakan Router Linux
- Authentifikasi Proxy Squid
- Monitor Jaringan dengan iftop dan nload
- Sensor adengan sex film Lust, Caution yang disenso...
- Load Balancing dengan Debian Etch
- Pada kesempatan ini saya akan membahas tentang bag...
- Load Balancing dengan 2 ISP
-
▼
October
(9)