Showing posts with label Jaringan. Show all posts
Showing posts with label Jaringan. Show all posts

Thursday, November 1, 2012

MPLS Over PPPOE

November 01, 2012 Ade Sudaryana


Mumpung ada waktu luang, kali ane mao posting tentang MPLS over PPPOE dengan mikrotik, kebetulan temen gy ada proyek begituan, jadi ane share sedikit tentang MPLS over PPPOE, sebelum kita masuk ke materi, Apa itu MPLS ??? 

Multiprotocol Label Switching (disingkat menjadi MPLS) adalah teknologi penyampaian paket pada jaringan  backbone berkecepatan tinggi. Asas kerjanya menggabungkan beberapa kelebihan dari sistem komunikasi circuit-switched dan packet-switched yang melahirkan teknologi yang lebih baik dari keduanya. Sebelumnya, paket-paket diteruskan dengan protokol routing seperti OSPF, IS-IS, BGP, atau EGP. Protokol routing berada pada lapisan network (ketiga) dalam sistem OSI, sedangkan MPLS berada di antara lapisan kedua dan ketiga.
Prinsip kerja MPLS ialah menggabungkan kecepatan switching pada layer 2 dengan kemampuan routing dan skalabilitas pada layer 3. Cara kerjanya adalah dengan menyelipkan label di antara header layer 2 dan layer 3 pada paket yang diteruskan. Label dihasilkan oleh Label-Switching Router dimana bertindak sebagai penghubung jaringan MPLS dengan jaringan luar. Label berisi informasi tujuan node selanjutnya kemana paket harus dikirim. Kemudian paket diteruskan ke node berikutnya, di node ini label paket akan dilepas dan diberi label yang baru yang berisi tujuan berikutnya. Paket-paket diteruskan dalam path yang disebut LSP (Label Switching Path).
Komponen MPLS :
  • Label Switched Path (LSP): Merupakan jalur yang melalui satu atau serangkaian LSR dimana paket diteruskan oleh label swapping dari satu MPLS node ke MPLS node yang lain.
  • Label Switching Router: MPLS node yang mampu meneruskan paket-paket layer-3
  • MPLS Edge Node atau Label Edge Router (LER): MPLS node yang menghubungkan sebuah MPLS domain dengan node yang berada diluar MPLS domain
  • MPLS Egress Node: MPLS node yang mengatur trafik saat meninggalkan MPLS domain
  • MPLS ingress Node: MPLS node yang mengatur trafik saat akan memasuki MPLS domain
  • MPLS label: merupakan label yang ditempatkan sebagai MPLS header
  • MPLS node: node yang menjalankan MPLS. MPLS node ini sebagai control protokol yang akan meneruskan paket berdasarkan label.

MPLS over PPPoE



Contoh Jaringan
Seperti yang Anda lihat dari ca ilustrasi di atas, R2 router adalah server pppoe dan R3 router dan R4 adalah klien pppoe. Tujuan kami adalah untuk menjalankan MPLS pada jaringan ini. Saat menjalankan MPLS melalui PPPoE atau terowongan lain yang Anda harus berurusan dengan isu-isu MTU. Terowongan menambahkan overhead lebih (dalam kasus kami PPPoE menambah 8 byte lagi). Untuk dapat meneruskan paket 1500 byte IP tanpa fragmentasi kita akan membutuhkan antarmuka yang mendukung
1500 (bingkai IP)
+ 8 (PPPoE header)
+ 4 (MPLS header)
= 1512bytes
Dari tabel MTU RouterBoard Anda dapat memeriksa apakah RouterBoard mendukung L2MTU 1512.
Mari mengatakan bahwa R2 adalah RB433 dan klien pppoe terhubung ke ether2. Dari tabel tersebut Anda dapat melihat bahwa max didukung l2MTU untuk antarmuka ini adalah 1522.
Ini berarti bahwa router akan dapat meneruskan paket tanpa fragmentations.
Icon-note.png
Note: Since v5.0 is added proper support for MPLS over PPP. Now by default MPLS is disabled, to enable it go to
/ppp profile menu and set use-mpls=yes


Configuration

R1

/system identity set name=R1

# add loopback interface
/interface bridge 
add name=loopback
/ip address
add address=10.255.255.1/32 interface=loopback
add address=172.16.0.1/30 interface=ether1

#set up ospf
/routing ospf instance
set default redistribute-connected=as-type-1
/routing ospf network
add network=172.16.0.0/30 area=backbone

# set up MPLS/LDP
/mpls interface set 0 mpls-mtu=1512
/mpls ldp
set enabled=yes lsr-id=10.255.255.1 transport-address=10.255.255.1
/mpls ldp interface
add interface=ether1

R2

Perhatikan bahwa kita harus menambahkan antarmuka statis untuk setiap klien PPPoE, karena nantinya interface ini akan ditambahkan ke konfigurasi LDP.

/system identity set name=R2

# add loopback interface
/interface bridge 
add name=loopback
/ip address
add address=10.255.255.2/32 interface=loopback
add address=172.16.0.2/30 interface=ether1

# set up pppoe
/interface pppoe-server server 
add interface=ether2 service-name=mpls max-mru=1500 max-mtu=1500

/ppp secret 
add name=mplsR3 service=pppoe remote-address=192.168.0.2 local-address=192.168.0.1
add name=mplsR4 service=pppoe remote-address=192.168.0.3 local-address=192.168.0.1

/interface pppoe-server
add name="mplsR3" user="mplsR3" service="mpls" 
add name="mplsR4" user="mplsR4" service="mpls"

#set up ospf
/routing ospf instance
set default redistribute-connected=as-type-1
/routing ospf network
add network=172.16.0.0/30 area=backbone
add network=192.168.0.2/32 area=backbone
add network=192.168.0.3/32 area=backbone

# set up MPLS/LDP
/mpls interface set 0 mpls-mtu=1512
/mpls ldp
set enabled=yes lsr-id=10.255.255.2 transport-address=10.255.255.2
/mpls ldp interface
add interface=ether1
add interface=mplsR3
add interface=mplsR4


R3

/system identity set name=R3

# add loopback interface
/interface bridge 
add name=loopback
/ip address
add address=10.255.255.3/32 interface=loopback

# set up pppoe
/interface pppoe-client 
add name="mplsR3" max-mtu=1500max-mru=1500 interface=ether2 user="mplsR3" service-name=mpls

#set up ospf
/routing ospf instance
set default redistribute-connected=as-type-1
/routing ospf network
add network=192.168.0.1/32 area=backbone

# set up MPLS/LDP
/mpls interface set 0 mpls-mtu=1512
/mpls ldp
set enabled=yes lsr-id=10.255.255.3 transport-address=10.255.255.3
/mpls ldp interface
add interface=mplsR3

R4

/system identity set name=R4

# add loopback interface
/interface bridge 
add name=loopback
/ip address
add address=10.255.255.4/32 interface=loopback

# set up pppoe
/interface pppoe-client 
add name="mplsR4" max-mtu=1500 max-mru=1500 interface=ether2 user="mplsR4" service-name=mpls

#set up ospf
/routing ospf instance
set default redistribute-connected=as-type-1
/routing ospf network
add network=192.168.0.1/32 area=backbone

# set up MPLS/LDP
/mpls interface set 0 mpls-mtu=1512
/mpls ldp
set enabled=yes lsr-id=10.255.255.4 transport-address=10.255.255.4
/mpls ldp interface
add interface=mplsR4

Testing

Pada awalnya pastikan klien pppoe terhubung berhasil

[admin@R2] /ppp active> print 
Flags: R - radius 
 #   NAME         SERVICE CALLER-ID         ADDRESS         UPTIME   ENCODING  
 0   mplsR3       pppoe   00:0C:42:21:F1:EA 192.168.0.2     46m                
 1   mplsR4       pppoe   00:0C:42:21:F1:ED 192.168.0.3     46m55s  

Periksa apakah OSPF berjalan dengan baik
[admin@R2] /routing ospf neighbor> print 
 0 router-id=10.255.255.1 address=172.16.0.1 interface=wlan1 priority=1 
   dr-address=172.16.0.2 backup-dr-address=172.16.0.1 state="Full" 
   state-changes=5 ls-retransmits=0 ls-requests=0 db-summaries=0 
   adjacency=5m19s 

 1 router-id=10.255.255.3 address=192.168.0.2 interface=mplsR3 priority=1 
   dr-address=0.0.0.0 backup-dr-address=0.0.0.0 state="Full" state-changes=4 
   ls-retransmits=0 ls-requests=0 db-summaries=0 adjacency=49m33s 

 2 router-id=10.255.255.4 address=192.168.0.3 interface=mplsR4 priority=1 
   dr-address=0.0.0.0 backup-dr-address=0.0.0.0 state="Full" state-changes=4 
   ls-retransmits=0 ls-requests=0 db-summaries=0 adjacency=50m31s 

Pastikan LDP berjalan

[admin@R2] /mpls ldp neighbor> print 
Flags: X - disabled, D - dynamic, O - operational, T - sending-targeted-hello, 
V - vpls 
 #      TRANSPORT       LOCAL-TRANSPORT PEER                       SEN
 0 DO   10.255.255.3    10.255.255.2    10.255.255.3:0             no 
 1 DO   10.255.255.4    10.255.255.2    10.255.255.4:0             no 
 2 DO   10.255.255.1    10.255.255.2    10.255.255.1:0             no 
[admin@R2] /mpls forwarding-table> print 
Flags: L - ldp, V - vpls, T - traffic-eng 
 #   IN-LABEL      OUT-LABELS  DESTINATION                    I NEXTHOP        
 0   expl-null    
 1 L 20                        192.168.0.1/32                 m 192.168.0.3    
 2 L 21                        10.255.255.4/32                m 192.168.0.3    
 3 L 22                        10.255.255.3/32                m 192.168.0.2    
 4 L 23                        10.255.255.1/32                w 172.16.0.1     
 5 L 24                        192.168.88.0/24                w 172.16.0.1  

Sekarang kita dapat memeriksa apakah packet switching bekerja seperti yang diharapkan
[admin@R4] /mpls ldp neighbor> /tool traceroute 10.255.255.1 src-address=10.255.255.4
     ADDRESS                                    STATUS
   1     192.168.0.1 13ms 19ms 143ms
                      mpls-label=23
   2    10.255.255.1 38ms 15ms 14ms

Untuk lebih jelasnya bisa langsung klik disini.

sekian dulu yaa dari ane,, klo ada kesempatan ane posting yang laen lagi.

Salam


Monday, October 1, 2012

Seluk-Beluk mengenai Fiber Optik dan Prinsip Kerjanya

October 01, 2012 Ade Sudaryana



Apa itu Fiber Optik ???
Fiber optik adalah sebuah kaca murni yang panjang dan tipis serta berdiameter sebesar rambut manusia. dan dalam pengunaannya beberapa fiber optik dijadikan satu dalam sebuah tempat yang dinamakan kabel optik dan digunakan untuk mengantarkan data digital yang berupa sinar dalam jarak yang sangat jauh.

Sejarah Singkat Fiber Optik nech + bagian-bagiannya
Kira-kira lebih dari 20 tahun yang lalu, kabel serat optik (Fiber Optic) telah mengambil alih dan mengubah wajah teknologi industri telepon jarak jauh maupun industri automasi dengan pengontrolan jarak jauh. Serat optik juga memberikan peranan besar membuat Internet dapat digunakan di seluruh dunia.
Ketika serat optik menggantikan tembaga (copper) sebagai long distance calls maupun internet traffic yang secara tidak langsung berdampak pada penurunan biaya produksi. Untuk memahami bagaimana sebuah kabel serat optik bekerja, sebagai contoh coba bayangkan sebuah sedotan plastik atau pipa plastik panjang fleksible berukuran besar. Bayangkan pipa tersebut mempunyai panjang seratus meter dan anda melihat kedalam dari salah satu sisi pipa. Seratus meter di sebelah sana seorang teman menghidupkan lampu senter dan diarahkan kedalam pipa. dikarenakan bagian dalam pipa terbuat dari bahan kaca sempurna, maka cahaya senter akan di refleksikan pada sisi yang lain meskipun bentuk pipa bengkok atau terpilin masih dapat terlihatpantulan cahaya tersebut pada sisi ujungnya. Jika misalnya seorang teman anda menyalakan cahaya senter hidup dan mati seperti kode morse, maka anda dan teman anda dapat berkomunikasi melalui pipa tersebut. Seperti itulah prinsip dasar dari serat optik atau yang biasa dikenal dengan nama fiber optic cable.
  • Core adalah kaca tipis yang merupakan bagian inti dari fiber optik yang dimana pengiriman sinar dilakukan.
  • Cladding adalah materi yang mengelilingi inti yang berfungsi memantulkan sinar kembali ke dalam inti(core).
  • Buffer Coating adalah plastic pelapis yang melindungi fiber dari kerusakan.
Jenis-jenis Fiber Optik
1.  Fiber Optik Single Mode 
    Mempunyai inti yang kecil (berdiameter 0.00035 inch atau 9 micron) dan berfungsi mengirimkan sinar laser inframerah (panjang gelombang 1300-1550 nanometer)

2.  Fiber Optik Multi Mode 
    Mempunyai inti yang lebih besar(berdiameter 0.0025 inch atau 62.5 micron) dan berfungsi mengirimkan sinar laser inframerah (panjang gelombang 850-1300 nanometer)




Cara Kerja Fiber Optik
Sebuah kabel fiber optik terbuat dari serat kaca murni, sehingga meskipun kabel mempunyai panjang sampai beratus2 meter, cahaya masih dapat dipancarkan dari ujung ke ujung lainnya. Helai serat kaca tersebut didesain sangat halus,ketebalannya kira-kira sama dengan tebal rambut manusia. Helai serat kaca dilapisi oleh 2 lapisan plastik (2 layers plastic coating) dengan melapisi serat kaca dengan plastik, akan didapatkan equivalen sebuah cermin disekitar serat kaca.
Cermin ini menghasilkan total internal reflection (refleksi total pada bagian dalam serat kaca).
sama seperti jika kita berada pada ruangan gelap dengan sebuah jendela kaca, kemudian anda mengarahkan cahaya senter 90 derajat tegak lurus dengan kaca , maka cahaya senter akan tembus ke luar ruangan. Akan tetapi jika cahaya senter tersebut diarahkan (ke jendela berkaca) dengan sudut yang rendah (hampir paralel dengan cahaya aslinya), maka kaca tersebut akan berfungsi menjadi cermin yg akan memantulkan cahaya senter ke dalam ruangan. demikian pada serat optik, cahaya berjalan melalui serat kaca pada sudut yang rendah.

Untuk mengirimkan percakapan2 telepon melalui serat optik, suara analog di rubah menjadi sinyal digital.  Sebuah laser transmitter pada salah satu ujung kabel on/off untuk mengirimkan setiap bit sinyal. System fiber optik Modern dengan single laser bisa mentransmitkan jutaan bit/second. Atau bisa dikatakan laser transmitter on dan off jutaan kali /second.
System terbaru laser transmitter dapat mentransmitkan warna2 yang berbeda untuk mengirimkan beragam sinyal digital dalam fiber optik yang sama.


Kabel fiber optik modern dapat membawa sinyal digital dengan jarak kurang lebih 60 mil (sekitar 100 Km). Pada jalur distribusi jarak jauh biasanya terdapat peralatan tambahan (equipment hut) setiap 40-60 mil,yang berfungsi pick-up equipment yang akan menampung, menguatkan sinyal, dan kemudian me- retransmit-kan sinyal ke equipment selanjutnya.  




source : http://www.kaskus.co.id/showthread.php?t=8689910 

 

Tuesday, June 26, 2012

Instalasi VOIP ELASTIX

June 26, 2012 Ade Sudaryana


Hadeeeh udah lama juga ane g ngeposting artikel baru di blog ane,, nahhh kali ini ane mo ngeposting artikel tentang VOIP dengan Elastix 1.3,,, to the point aj... cekidot!!!

VOIP

Voice over Internet Protocol (juga disebut VoIP, IP Telephony, Internet telephony atau Digital Phone) adalah teknologi yang memungkinkan percakapan suara jarak jauh melalui media internet. Data suara diubah menjadi kode digital dan dialirkan melalui jaringan yang mengirimkan paket-paket data, dan bukan lewat sirkuit analog telepon biasa.

nah itu definisi dari voip,,, nah sekarang .. kita bahas intallasi servernya, yaitu elastix versi 1.3...

Berikut ini  screenshotnya dari mas beni tentang cara  instalasi  Elastix versi 1.3.
1. Download isonya di http://www.elastix.org.
2. Burn ke CD, dan booting lewat CDROM.

3. Tekan Enter.

4. Pilih Keyboard type, saya pilih us. Lalu OK.

5. Pilih Time Zone, saya pilih Asia/Jakarta. OK.

6. Masukkan Password root. OK.

7. HD akan diformat...
8. Paket-paket mulai diinstall, ya kira-kira memakan waktu 15-20 menit, bisa sambil minum kopi...
Setelah selesai, PC akan melakukan booting, jangan lupa keluarkan CD-nya.
9. Tampilan diatas adalah jika kita login dengan ssh. Kebetulan disini saya menggunakan DHCP, jadi saya mendapat IP Address. Jika ditempat anda tidak menggunakan DHCP, anda bisa set IP Address.
Login sebagai root. Jalankan setup
#setup, tekan enter.
10. Pilih Network configuration, tekan enter.
11. Tekan Yes.
12. Uncheck Use dynamic IP configuration, isi IP Address, Netmask, Default gateway dan Primary nameserver(DNS Server).
13. Masuk ke browser dan akses di IP Address yang kita install.
14. Masukkan user : admin, password : password(ini default password). Harap diganti setelah login, agar lebih aman.
15. Diatas adalah Dashboard/Control Panel dari Elastix Web Gui.

mungkin cukup dari ane cuman segitu,, klo ane sempet, ane lanjutin artikelnya..
Wassalam...



sumber : wikipedia.com
               http://beni-santoso.blogspot.com

Wednesday, January 4, 2012

Program C++ Aplikasi Kasir Sederhana

January 04, 2012 Ade Sudaryana




Hi gaes, ini ane kasih script coding C++ untuk membuat aplikasi kasir sederhana. sebenarnya ini juga bagian tugas kuliah ane sih. hihihi

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<iomanip.h>

main()
{
class
{
public:
char nm[20];
long int harga,thr;
int jumbel;
}penj[10];
float subtotal=0,diskon,ppn,grand,bayar,kembali;
int nota;
int i,j;
char lagi;
atas:

clrscr();
cout<<"============================================="<<endl;
cout<<" SWALAYAN BINA DAGANG"<<endl;
cout<<"============================================="<<endl;
cout<<"No. Nota : ";cin>>nota;
cout<<"Jumlah Transaksi : ";cin>>j;
for(i=1;i<=j;i++)
{
cout<<endl;
cout<<"Transaksi ke -"<<i<<endl;
cout<<"Nama Barang : ";gets(penj[i].nm);
cout<<"Harga Satuan : ";cin>>penj[i].harga;
cout<<"Jumlah Beli : ";cin>>penj[i].jumbel;
penj[i].thr=penj[i].harga*penj[i].jumbel;
cout<<"Total Harga : "<<penj[i].thr;
subtotal=subtotal+penj[i].thr;
if(subtotal>180000)
{diskon=0.15*subtotal;}
else if(subtotal>70000)
{diskon=0.05*subtotal;}
else
{diskon=0;}
ppn=0.1*(subtotal-diskon);
grand=(subtotal-diskon)+ppn;
}

clrscr();
cout<<" SWALAYAN BINA DAGANG"<<endl;
cout<<" Jl. Bina Sarana No. 851-OK"<<endl<<endl;
cout<<"============================="<<endl;
cout<<"Nama Brg @Harga Jml Beli"<<endl;
cout<<"============================="<<endl;
for(i=1;i<=j;i++)
{
cout<<setiosflags(ios::left)<<setw(12)<<penj[i].nm;
cout<<setiosflags(ios::left)<<setw(8)<<penj[i].harga;
cout<<setiosflags(ios::left)<<setw(8)<<penj[i].jumbel<<endl;
}
cout<<"============================="<<endl;
cout<<" Subtotal : Rp."<<subtotal<<endl;
cout<<" Diskon : Rp."<<diskon<<endl;
cout<<" PPN 10% : Rp."<<ppn<<endl;
cout<<"Grand Total : Rp."<<grand<<endl;
cout<<" Bayar : Rp.";cin>>bayar;
cout<<"-----------------------------"<<endl;
kembali=bayar-grand;
cout<<" Kembalian : Rp."<<kembali<<endl<<endl<<endl;
cout<<" Terima Kasih Atas"<<endl;
cout<<" Kunjungan Anda "<<endl<<endl<<endl;
cout<<"Return :";cin>>lagi;
if (lagi=='Y' || lagi=='y')
goto atas;
else
getch();
}

Thursday, December 29, 2011

Analogi IP Forwarding & (Source) NAT

December 29, 2011 Ade Sudaryana


Ane gy ngubek" google,, ekh ketemu ama artikel yang menurut ane menarik tentang IP Forwading & NAT yang dapat memudahkan kita dalam pemahamannya. ane juga udah izin ama yang punya artikel buat ngeshare artikel ini.

Asal Usulnya

Pada suatu hari, bertanyalah seorang teman kepada saya: "Gimana cara biar jaringan lokal kantorku bisa ngontak jaringan ip publik di kantor tanpa NAT?" Ya, memang seringkali susah mempelajari mekanisme routing ketika sebelum belajar sudah ngerti bahwa ada IP Privat dan ada IP Publik.
Di sini saya mencoba untuk menjelaskan dengan cara yang sedikit berbeda dengan penjelasan-penjelasan yang sudah ada di internet, yang jumlahnya sudah jutaan halaman itu. Semoga saja dengan cara ini, hubungan awal dan perbedaan antara IP Forwarding dengan Source NAT bisa lebih mudah dimengerti. Tentu saja, tulisan ini ditujukan untuk semua pemula yang ingin belajar tentang topik ini.
Harap diingat bahwa dalam cerita ini saya membuang beberapa detil yang seharusnya juga ada dalam proses routing. Detil itu saya hilangkan untuk mempermudah pemahaman hal-hal mendasar dalam operasi ini. Jangan pernah menerima cerita ini sebagai informasi utuh. Lengkapi dengan cerita/referensi lain yang membahas detilnya lebih dalam!

Suatu Desa dan Seorang Anak

Ilustrasi Kampungnya

Inilah peta kecamatan OtotKwat yang terletak di salah satu distrik di Negeri Kayangan.

Pada Suatu Hari...

Hiduplah keluarga bahagia di Desa Suka Nyapu. Keluarga itu memiliki seorang anak yang masih balita. Mereka menjalani kehidupan seperti biasa, hingga pada suatu hari sang ibu sakit flu. Karena pileknya tak tertahankan dan bapak sedang nun jauh di sana bekerja, maka ibu terpaksa minta tolong pada anaknya untuk membeli obat di toko obat Bu Jamilah yang terletak di Desa Suka Ngelap, walaupun sang anak sebenarnya tidak tahu jalan. Yang diketahui oleh anaknya hanyalah kalau mau keluar dari Desa Suka Nyapu, jalannya ya hanya itu saja.
Ibu berpesan kepada anaknya: "Nak, tolong belikan obat UsirPhileg di toko Bu Jamilah. Naik sepeda saja, nanti kalau sudah ketemu Pak Hasan tanyakan jalan ke Desa Suka Ngelap." Dan berangkatlah sang anak naik sepeda kecilnya. Klutak klutek klutik, akhirnya sang anak bertemu dengan Pak Hasan. Berkatalah sang anak kepada Pak Hasan: "Pak, saya mau ke toko obat Bu Jamilah di Desa Suka Ngelap. Saya lewat mana ya pak?" Dan Pak Hasan pun menjawab: "Belok kanan nak, nanti kamu akan sampai ke Desa Suka Ngelap."
Sesampainya di Desa Suka Ngelap di toko Bu Jamilah, anak itu kemudian membeli obat, dan menuju kembali pulang. Bertanyalah sang anak kepada Bu Jamilah: "Bu, kembali ke Desa Suka Nyapu lewat mana?" Dan dia memperoleh jawaban: "Lewat jalan yang tadi saja Nak, kemudian nanti kalau sudah ketemu Pak Hasan tanyakan saja jalan menuju Desa Suka Nyapu."
Klutak klutek klutik, bertemulah anak itu dengan Pak Hasan lagi. Kembali dia bertanya: "Pak, saya mau ke Desa Suka Nyapu lewat mana ya?" Jawaban yang diperoleh: "Belok kiri nak, nanti kau akan sampai kembali ke desamu." Akhirnya, dengan arahan Pak Hasan, sampailah sang anak ke desanya dengan membawa obat flu untuk ibunya yang sedang sakit.

Pada Hari Yang Lain...

"Ibu, aku ingin mandi, tapi sabunnya habis.. hiks.. hiks.." Sang ibu pun berkata kepada anaknya: "Ya beli dong nak, di Desa Suka Mandi pasti ada yang jual sabun." Tanpa basa-basi, sang anak langsung berangkat menuju Desa Suka Mandi. Dia tak merasa perlu bertanya kepada ibunya, karena toh jalan keluar dari desanya ya hanya itu, dan nanti dia bisa bertanya kepada Pak Hasan.
Sesampainya di tempat Pak Hasan, dia bertanya: "Pak, ke Desa Suka Mandi lewat mana ya?" Dan Pak Hasan pun menjawab: "Bapak tidak tahu, Nak, jadi kamu lurus saja dan nanti tanyakan ke Pak Amir." Berangkatlah dia mengikuti petunjuk Pak Hasan. Tak lama kemudian, sampailah dia ke tempat Pak Amir. Lagi-lagi dia menanyakan pertanyaan yang sebelumnya telah dia tanyakan ke Pak Hasan.Tapi di luar dugaan, Pak Amir berkata: "Jangan ke sana, Nak, pulanglah. Di sana sedang ada kerusuhan!" Tanpa patah semangat, sang anak terus-menerus mendesak agar boleh meneruskan perjalanan ke Desa Suka Mandi. Karena ternyata Pak Amir tak bergeming, maka pulanglah sang anak dengan kecewa. Dasar balita ndak tau jalan, ketika bertemu Pak Hasan, bertanya lagi dia tentang jalan pulangnya. Berkat petunjuk Pak Hasan, akhirnya dia sampai ke desanya dan kembali ke rumah.
Selang beberapa hari, kembali sang anak melanjutkan usahanya menuju Desa Suka Mandi. Dengan melalui jalan yang sama seperti beberapa hari sebelumnya, sampailah anak itu ke tempat Pak Amir. Karena keadaan sudah aman, berkatalah Pak Amir kepada anak itu: "Jalan terus saja nak, nanti bertanyalah kepada Pak Badri." Dengan riang gembira, berjalanlah dia sesuai dengan arahan Pak Amir. Sesampainya di tempat Pak Badri, kembali dia menanyakan jalan ke Desa Suka Mandi. Dijawab oleh Pak Badri: "Belok Kanan, ikuti jalan!" Cihuyyy, dia berjalan dan akhirnya sampailah ke toko sabun itu.
Karena mendapati bahwa pembelinya balita, bertanyalah si penjual: "Rumahmu di mana, Nak?" Sang anak menjawab: "Rumah saya ada di Desa Suka Nyapu." Penjualnya kemudian berkata: "Aku tak tahu di mana itu, Nak. Berangkatlah ke Pak Badri, kemudian tanyakan jalan menuju arah pulangmu." Sambil tersenyum, berangkatlah anak itu. Sesampainya di tempat Pak Badri, dia menanyakan jalan yang mana yang menuju ke arah desanya. Dia memberitahukan bahwa desanya adalah Desa Suka Nyapu. Di luar dugaan, Pak Badri menjawab: "Aduh Nak, aku tak tahu ke mana arah pulangmu. Aku cuma tahu jalan ke Desa Suka Mandi, Desa Suka Cuci, Desa Suka Ngepel, dan Desa Suka Setrika. Ke 2 desa yang terakhir melewati Pos Pak Amir. Selebihnya aku tak tahu." Menangislah sang anak, dan karena dia tak bisa pulang, maka dia menjalani sisa hidupnya sampai mati di Pos Pak Badri.
Sayang sekali hidupnya harus berakhir seperti itu. Kejadian itu tidak perlu terjadi andaikata sebelumnya Pak Amir berkata: "Nak, sepulangmu nanti katakan kepada Pak Badri bahwa kau berasal dari Pos Pak Amir," karena Pak Badri memang tahu ke mana jalan yang harus ditempuh kalau anak itu akan kembali menuju Pos Pak Amir, tapi selebihnya tidak. Setelah sampai di tempat Pak Amir, anak itu bisa diteruskan menuju tujuan yang sesungguhnya, yaitu rumahnya di Desa Suka Nyapu.

Computer Network Version of Previous Story

Dalam dunia jaringan, padanannya kira-kira begini:
  • Anak balita yang berjalan-jalan adalah IP Packet.
  • Pak Hasan, Pak Amir, dan Pak Badri pada perangkat jaringan berperan sebagai ROUTER.
  • Desa-desa di kecamatan OtotKwat pada jaringan merupakan suatu Network Segment.
  • Warna biru menunjukkan proses routing. Tentu saja, pada proses ini IP Forwarding aktif.
  • Warna hijau menunjukkan kondisi di mana router tidak melakukan IP Forwarding. Dalam dunia Linux, kondisi ini berlaku ketika /proc/sys/net/ipv4/ip_forward bernilai 0.
  • Warna merah merupakan ilustrasi peristiwa timeout.
  • Warna oranye merupakan ilustrasi peristiwa destination unreachable.
  • Warna hijau aneh merupakan ilustrasi peristiwa source NAT.

Skema Jaringan

Pada skema di bawah ini, kotak kuning adalah internet, sedangkan warna hijau (atau biru? terserah) muda adalah jaringan suatu gedung.

Cara Kerja

Menurut cerita sebelumnya, dari Desa Suka Nyapu sang anak menuju ke Desa Suka Ngelap. Pada versi ini, berarti ada paket dari network 10.1.21.0/24 ke network 222.111.212.248/29. Kalau memperhatikan cerita sebelumnya, tidak ada operasi Source NAT di situ. Kok bisa sampai? Padahal asalnya adalah IP Privat, dan tujuannya adalah IP Publik! Tak masalah. Berapa pun IPnya, asal router punya info tentang itu ya ndak masalah. Yang penting adalah router punya info untuk paket itu untuk kembali. Kasus yang persis sama berlaku untuk cerita kalau ada paket dari 172.16.92.16/28 ke 222.111.212.248/29, atau untuk cerita 10.1.21.0/24 ke 202.212.222.128/28.
Pada cerita sebelumnya pun tergambarkan bahwa paket dari 10.1.21.0/24 ke 9.10.11.0/23 tanpa operasi NAT ya bisa sampai kok. Perkaranya adalah, siapa pun yang dihubungi di 9.10.11.0/23 tidak dapat mengirim jawaban kembali ke 10.1.21.0/24. Kenapa? Karena Pak Badri tidak tahu di mana itu desa 10.1.21.0/24. Kenapa ndak tau? Karena tidak ada dalam routing table-nya. Alasan lain yang sedikit lebih masuk akal: Silakan baca RFC1918 yang menyatakan bahwa 10.0.0.0/8, 172.16.0.0/12, dan 192.168.0.0/16 tidak boleh routeable di internet. Kenapa angkanya itu? Ya suka-suka yang bikin keputusan. Tugas kita adalah menikmati keputusan, bukan ikut memikirkan keputusannya.
Sebentar, bukannya paket ndak bisa nyampe karena IP privat diblok? Pada dasarnya tidak. Ngapain diblok? Tidak diblok pun tetap tidak bisa balik lha ndak ada info route-nya. Kalau mau diblok ya boleh-boleh saja, itung-itung ngurangi traffic yang ndak perlu.
Nah setelah ada operasi S-NAT pada paket yang menuju ke 9.10.11.0/23, maka harusnya paket bisa balik ke tujuan, karena Pak Badri akan melihat bahwa paket itu berasal dari jaringan Pak Amir. Setelah dikembalikan ke Pak Amir, maka Pak Amir bisa mengembalikan paket data tersebut ke jaringan asalnya. Kalau tidak di-NAT bagaimana? Ya sesuai cerita di atas: Tewas.

Kesimpulan

IP Forwarding merupakan peristiwa di mana router meneruskan paket yang diterima pada suatu interface ke interface yang lain sesuai tujuan paket.
Source NAT merupakan peristiwa di mana router mengubah paket, menggantikan SourceAddress paket tersebut menjadi suatu alamat tertentu.
Bisakah IP Forwarding bekerja tanpa S-NAT? BISA. Bisakah S-NAT bekerja tanpa IP Forwarding? Bisa aja sih, tinggal set iptables kalo anda pake Linux, atau perintah NAT lain yang sesuai untuk router anda. Tapi ya ngapain???
Ceritanya kok aneh? Saya tukang jaringan, bukan tukang dongeng he..he..he..

Ucapan Terima Kasih

I'd like to thank to all networking site reached by Google. They provides many information I need to have this story written.

Tanggapan Orang Lain

Beberapa orang yang pernah baca menanyakan beberapa hal pada saya. Pertanyaan itu antara lain:
  1. Pak Badri kok bisa tau jalan ke Desa Suka Setrika? Kan Desa Suka Setrika itu alamat lokal, sedangkan Pak Badri ke Pak Amir kan lewat internet?
    Seperti yang saya sebutkan sebelumnya, ini adalah ilustrasi sederhana tentang proses forwarding dan SNAT. Lagi pula, SECARA TEKNIS, itu bukan hal yang mustahil kan? Apakah itu menyalahi RFC1918? Ya, tentu saja salah. Tapi andai karena sesuatu hal anda mengetikkan perintah `ip route 172.16.92.16 255.255.255.240 [IP Pak Badri]` atau `ip route add 172.16.92.16/28 via [IP Pak Badri]`—router lain perintahnya gimana terserah lah—kan ya tidak apa-apa. Paket tetap akan berjalan, sesuai dengan perintah yang anda masukkan. Jangan tanya tentang BGP, Policy, Firewall dan lain-lain. Lagi-lagi, konteks artikel ini adalah mengilustrasikan proses IP Forwarding dan Source NAT.
  2. Urusan ARP (berbau MAC Address) gimana? Kok ndak disinggung?
    Silakan cari di artikel yang lain. Bayangkan betapa lebih lucunya kalau diilustrasikan begini: "Balita itu berteriak kepada seluruh kampung: Wahai tukang sabun, rumahmu ada di mana?" Urusan ARP silakan cari artikel lain. Pada artikel ini saya sengaja mengabaikan proses itu.

Sumber : Kamas Muhammad

Tuesday, March 15, 2011

Analogi Route Jaringan Mikrotik

March 15, 2011 Ade Sudaryana

analogi routing

agan-agan ane dapet pemahaman mikrotik dari temen ane nech gan,, ane mo share ketemen-temen sekalian,,,
To do point aja yach,,,
Penganalogian :
- Interface kita analogikan sebagai jalanan
- IP Address kita analogikan sebagai alamat (Network ID sebagai nama jalan dan Host ID sebagai nomor rumah)
- IP route kita analogikan sebagai jalan keluar
- IP Firewall filter kita analogikan seperti razia/pemeriksaan
- IP Firewall mangle kita analogikan sebagai peraturan yang harus di patuhi
- NAT kita analogikan sebagai palang pintu gerbang keluar dan kedalam
- dan kita sebagai anggota polisi yang mengatur

OK temen semua kita lanjut aja kepenerapan analogi tersebut,

IP ADDRESS :
0 192.168.1.1/24 192.168.1.0 192.168.1.255 lan
1 123.123.123.4/24 123.123.123.0 123.123.123.255 wan1
2 172.15.23.5/24 172.15.23.0 172.15.23.255 wan2

IP FIREWALL MANGLE
0 chain=prerouting action=mark-routing new-routing-mark=ARAH INTER passthrough=yes src-address=192.168.1.0/24 dst-address-list=!nice
1 chain=prerouting action=mark-routing new-routing-mark=LOKAL passthrough=yes dst-address-list=nice

IP FIREWALL NAT
12 chain=srcnat action=masquerade

IP ROUTE
add comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=172.15.23.1 scope=30 target-scope=10 distance=1
add comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=123.123.123.1 scope=30 target-scope=10 distance=2
add comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=172.15.23.1 routing-mark=ARAH INTER scope=30 target-scope=10
add comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=123.123.123.1 routing-mark=LOKAL scope=30 target-scope=10


Paket yang berasal dari alamat (IP Address) 192.168.1.2 ingin menuju alamat 72.30.2.43 (IP yahoo) melewati jalanan (interface) LAN, ketika sampai di

perempatan (router) kendaraan (paket data) akan mematuhi peraturan yang ada (IP Firewall Mangle), mulai dari larangan (IP Firewall filter), kecepatan (queue)

sampai peraturan yang lainnya..
Setiap semua kendaraan yang akan pergi keluar kota (internet) kendaraan harus mematuhi peraturan yang di buat (ip firewall mangle) oleh kepala kepolisian

(admin jaringan), dari contoh kronologis di atas kita buat peraturan bahwa akses ke luar negeri (!nice) dan ke dalam negeri (nice) kita lewatkan dengan jalan

yang berbeda..
Dengan membaca rule peraturan ke-1 berarti setiap kendaraan (paket) yang berasal dari alamat (src address) tersebut dan menuju alamat (dst-address) selain

alamat tersebut kita beri tiket bernama (routing mark) "ARAH INTER"...dan untuk rule yang kedua pun sama membacanya..
Setelah kendaraan mematuhi semua peraturan yang kita buat (IP Firewall Mangle) semua kendaraan (paket) yang akan pergi keluar kota (internet) akan di

periksa/razia (ip Firewall filter) sebelum kendaraan melewati palang pintu keluar (NAT) , dengan penganalogian di atas kita tidak melakukan razia untuk

setiap kendaraan yang lewat, entah itu pengendara benar ataupun yang salah (spam), setelah kendaraan yang akan pergi keluar lolos dari pemeriksaan maka

kendaraan tersebut masuk ke palang pintu terakhir di kotanya (NAT), dengan membaca rulenya dapat kita lihat bahwa setiap kendaraan yang berasal dari alamat

di dalam kota tersebut (srcnat) dengan seluruh nomor tiket (nomor port) akan di teruskan dan di bukakan palang pintu (masquerade).
Setelah kendaraan kita mulai memasuki tol, banyak penunjuk-penunjuk jalan (IP route) yang kita buat di jalan tol tersebut, sampai kita membuat bahwa setiap

kendaraan (paket) yang ingin pergi ke alamat mana saja (dst-address) dengan nama tiket "ARAH INTER" (routing mark) harus melewati alamat (gateway) tersebut,

dan boleh melewati jalan lain (fail over) dengan ketentuan kalau jalan yang kita lewati sekarang sedang di tutup (gateway down).

Oke sampai disini semoga kita smeua bisa memahami proses routing dengan lebih mendalami lagi.
Dan begitulah perjalanan setiap paket dari komputer kita menuju ke alamat yang kita tuju, dan proses pemilihan jalan ini akan terus berlanjut sampai kita

dapat membawa bingkisan yang kita mau..


Mohon di koreksi yah kalau ada yang salah, kita sama-sama belajar (buat yang udah merasa paham mohon tambahannya), biar kita bisa sama-sama lebih memahami.

Wassalam

Thursday, December 31, 2009

Settingan ISPCONFIG debian Lenny

December 31, 2009 Ade Sudaryana
debian lenny



Install The SSH Server
Debian Lenny secara default belum install OpenSSH, jadi kita install terlebih dahulu, ketik : apt-get install ssh openssh-server
Install vim-nox (Optional)
Disini saya menggunakan perintah vi, untuk menginstallnya yaitu : 
apt-get install vim-nox
Configure the network
vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
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
gateway 192.168.1.1

Lalu restart network :
/etc/init.d/networking restart
lalu edit /etc/hosts. misal :
vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.100 server.tkj-smkn1.org server
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
sekarang run echo server.tkj-smkn1.org > /etc/hostname
/etc/init.d/hostname.sh start
setelah itu, run
hostname
hostname -f
Synchronize the System Clock
It is a good idea to synchronize the system clock with an NTP (network time protocol) server over the Internet. Simply run
apt-get install ntp ntpdate
Install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils
We can install Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, and binutils with a single command:
apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils
You will be asked the following questions:
New password for the MySQL "root" user: <-- yourrootsqlpassword Repeat password for the MySQL "root" user: <-- yourrootsqlpassword Create directories for web-based administration? <-- No
General type of mail configuration: <-- Internet Site
System mail name: <-- server.tkj-smkn1.org
SSL certificate required <-- Ok
We want MySQL to listen on all interfaces, not just localhost, therefore we edit /etc/mysql/my.cnf and comment out the line bind-address = 127.0.0.1:
vi /etc/mysql/my.cnf
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
[...]
Then we restart MySQL:
/etc/init.d/mysql restart
Now check that networking is enabled. Run
netstat -tap | grep mysql
The output should look like this:
server:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 6612/mysqldserver:~#
During the installation, the SSL certificates for IMAP-SSL and POP3-SSL are created with the hostname localhost. To change this to the correct hostname (server.tkj-smkn1.org in this tutorial), delete the certificates...
cd /etc/courier
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem
... and modify the following two files; replace CN=localhost with CN=server.tkj-smkn1.org (you can also modify the other values, if necessary):
vi /etc/courier/imapd.cnf
[...]
CN=server.tkj-smkn1.org
[...]
vi /etc/courier/pop3d.cnf
[...]
CN= server.tkj-smkn1.org
[...]
Then recreate the certificates...
mkimapdcert
mkpop3dcert
... and restart Courier-IMAP-SSL and Courier-POP3-SSL:
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-pop-ssl restart 
Install Amavisd-new, SpamAssassin, And Clamav
To install amavisd-new, SpamAssassin, and ClamAV, we run
apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl 
Install Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, And mcrypt
Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear, and mcrypt can be installed as follows:
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp
You will see the following question:
Web server to reconfigure automatically: <-- apache2
Then run the following command to enable the Apache modules suexec, rewrite, ssl, actions, and include:
a2enmod suexec rewrite ssl actions include
Install PureFTPd And Quota
PureFTPd and quota can be installed with the following command:
apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool
Edit the file /etc/default/pure-ftpd-common...
vi /etc/default/pure-ftpd-common
... and change the start mode from inetd to standalone and set VIRTUALCHROOT=true:
[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]
Edit the file /etc/inetd.conf to prevent inetd from trying to start ftp:
vi /etc/inetd.conf
Comment out the line beginning with ftp stream tcp:
[...]
#:STANDARD: These are standard services.
#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
[...]
Restart inetd afterwards:
/etc/init.d/openbsd-inetd restart
Then start PureFTPd:
/etc/init.d/pure-ftpd-mysql start
Edit /etc/fstab. Mine looks like this (I added ,usrquota,grpquota to the partition with the mount point /):
vi /etc/fstab
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/sda1 / ext3 errors=remount-ro,usrquota,grpquota 0 1
/dev/sda5 none swap sw 0 0
/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
To enable quota, run these commands:
touch /quota.user /quota.group
chmod 600 /quota.*
mount -o remount /
quotacheck -avugm
quotaon -avug
Install MyDNS
Before we install MyDNS, we need to install a few prerequisites:
apt-get install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev
MyDNS is not available in the Debian Lenny repositories, therefore we have to build it ourselves as follows:
cd /tmp
wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.25.tar.gz
tar xvfz mydns-1.2.8.25.tar.gz
cd mydns-1.2.8
./configure
make
make install
Next we create the start/stop script for MyDNS:
vi /etc/init.d/mydns
#! /bin/sh
#
# mydns Start the MyDNS server
#
# Author: Philipp Kern .
# Based upon skeleton 1.9.4 by Miquel van Smoorenburg
# and Ian Murdock .
#
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/mydns
NAME=mydns
DESC="DNS server"
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
start-stop-daemon --start --quiet \
--exec $DAEMON -- -b
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
start-stop-daemon --stop --oknodo --quiet \
--exec $DAEMON
echo "."
;;
reload|force-reload)
echo -n "Reloading $DESC configuration..."
start-stop-daemon --stop --signal HUP --quiet \
--exec $DAEMON
echo "done."
;;
restart)
echo -n "Restarting $DESC: $NAME"
start-stop-daemon --stop --quiet --oknodo \
--exec $DAEMON
sleep 1
start-stop-daemon --start --quiet \
--exec $DAEMON -- -b
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
Then we make the script executable and create the system startup links for it:
chmod +x /etc/init.d/mydns
update-rc.d mydns defaults
14 Install Vlogger And Webalizer
Vlogger and webalizer can be installed as follows:
apt-get install vlogger webalizer
Open /etc/webalizer/webalizer.conf...
vi /etc/webalizer/webalizer.conf
... and change the following line from
#Incremental no
to
Incremental yes
15 Install Jailkit
Jailkit is needed only if you want to chroot SSH users. It can be installed as follows (important: Jailkit must be installed before ISPConfig - it cannot be installed afterwards!):
apt-get install build-essential autoconf automake1.9 libtool flex bison
cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz

tar xvfz jailkit-2.5.tar.gz
cd jailkit-2.5
./configure
make
make install
cd ..
rm -rf jailkit-2.5*
Install fail2ban
This is optional but recommended, because the ISPConfig monitor tries to show the log:
apt-get install fail2ban
Install SquirrelMail
To install the SquirrelMail webmail client, run
apt-get install squirrelmail
Then create the following symlink...
ln -s /usr/share/squirrelmail/ /var/www/webmail
... and configure SquirrelMail:
squirrelmail-configure
We must tell SquirrelMail that we are using Courier-IMAP/-POP3:
SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color on
S Save data
Q Quit

Command >> <-- D


SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others. If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct. This does not change everything. There are
only a few settings that this will change.

Please select your IMAP server:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington's IMAP server

quit = Do not change anything
Command >> <-- courier


SquirrelMail Configuration : Read: config.php
---------------------------------------------------------
While we have been building SquirrelMail, we have discovered some
preferences that work better with some servers that don't work so
well with others. If you select your IMAP server, this option will
set some pre-defined settings for that server.

Please note that you will still need to go through and make sure
everything is correct. This does not change everything. There are
only a few settings that this will change.

Please select your IMAP server:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington's IMAP server

quit = Do not change anything
Command >> courier

imap_server_type = courier
default_folder_prefix = INBOX.
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = .
delete_folder = true

Press any key to continue... <-- press a key

SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color on
S Save data
Q Quit

Command >> <-- S


SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages

D. Set pre-defined settings for specific IMAP servers

C Turn color on
S Save data
Q Quit

Command >> <-- Q
Afterwards you can access SquirrelMail under http://server1.example.com/webmail or http://192.168.0.100/webmail:
I. Install ISPConfig 3
To install ISPConfig 3 from the latest released version, do this:
cd /tmp
wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.tar.gz?use_mirror=
tar xvfz ISPConfig-3.0.1.tar.gz
cd ispconfig3_install/install/
(Replace ISPConfig-3.0.1.tar.gz with the latest version.)
The next step is to run
php -q install.php
This will start the ISPConfig 3 installer:
server:/tmp/ispconfig3_install/install# php -q install.php


--------------------------------------------------------------------------------
_____ ___________ _____ __ _
|_ _/ ___| ___ \ / __ \ / _(_)
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| |
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, |
__/ |
|___/
--------------------------------------------------------------------------------


>> Initial configuration

Operating System: Debian Lenny/Sid or compatible

Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with .
Tap in "quit" (without the quotes) to stop the installer.


Select language (en,de) [en]: <-- ENTER

Installation mode (standard,expert) [standard]: <-- ENTER

Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: <-- ENTER

MySQL server hostname [localhost]: <-- ENTER

MySQL root username [root]: <-- ENTER

MySQL root password []: <-- yourrootsqlpassword

MySQL database to create [dbispconfig]: <-- ENTER

MySQL charset [utf8]: <-- ENTER

Generating a 2048 bit RSA private key
..................................................................................................................+++
.........................................................................................................+++
writing new private key to 'smtpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [ID]: <-- ENTER
State or Province Name (full name) [Jawa Barat]: <-- ENTER
Locality Name (eg, city) [Bogor]: <-- ENTER
Organization Name (eg, company) [ICT Foundation]: <-- ENTER
Organizational Unit Name (eg, section) [TKJ]: <-- ENTER
Common Name (eg, YOUR name) [ICT]: <-- ENTER
Email Address []: <-- ENTER
Configuring Jailkit
Configuring SASL
Configuring PAM
Configuring Courier
Configuring Spamassassin
Configuring Amavisd
Configuring Getmail
Configuring Pureftpd
Configuring MyDNS
Configuring Apache
Configuring Firewall
Installing ISPConfig
ISPConfig Port [8080]: <-- ENTER

Configuring DBServer
Installing Crontab
no crontab for root
no crontab for getmail
Restarting services ...
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
Stopping SASL Authentication Daemon: saslauthd.
Starting SASL Authentication Daemon: saslauthd.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
Stopping ClamAV daemon: clamd.
Starting ClamAV daemon: clamd .
Stopping Courier authentication services: authdaemond.
Starting Courier authentication services: authdaemond.
Stopping Courier IMAP server: imapd.
Starting Courier IMAP server: imapd.
Stopping Courier IMAP-SSL server: imapd-ssl.
Starting Courier IMAP-SSL server: imapd-ssl.
Stopping Courier POP3 server: pop3d.
Starting Courier POP3 server: pop3d.
Stopping Courier POP3-SSL server: pop3d-ssl.
Starting Courier POP3-SSL server: pop3d-ssl.
Restarting web server: apache2 ... waiting .
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -E -A -u 1000 -O clf:/var/log/pure-ftpd/transfer.log -b -B
Installation completed.
server:/tmp/ispconfig3_install/install#
The installer automatically configures all underlying services, so no manual configuration is needed.