• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Squid indonesia
 

Squid indonesia

on

  • 8,141 views

 

Statistics

Views

Total Views
8,141
Views on SlideShare
8,131
Embed Views
10

Actions

Likes
3
Downloads
597
Comments
0

2 Embeds 10

http://www46.jimdo.com 6
http://budigunawan.jimdo.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Squid indonesia Squid indonesia Document Transcript

    • SQUID (Proxy Server) Squid proxy server memungkinkan Anda untuk cache konten web dan kembali dengan cepatpada permintaan berikutnya. Dengan menjalankan squid dalam accelerator mode, permintaan akanditangani lebih cepat dari pada web server normal, sehingga membuat situs Anda tampil lebih cepatdaripada orang lain! Memulai dengan SquidProxy server Sebuah server proxy adalah sebuah sistem komputer berada antara klien meminta sebuahdokumen web dan server target (sistem komputer lain) yang melayani dokumen. Dalam bentuksederhana, sebuah proxy server memfasilitasi komunikasi antara klien dan server tanpa memodifikasipermintaan atau balasan. Ketika kita memulai permintaan untuk resource dari server, proxy servermembajak koneksi kita dan mewakili dirinya sendiri sebagai klien ke server, meminta resource atasnama kita. Jika balasan diterima, server proxy mengembalikan kepada kita, seaakan-akan kita telahberkomunikasi dengan server. Dalam bentuk tingkat lanjut, proxy server dapat menyaring permintaanberdasarkan berbagai aturan dan memungkinkan komunikasi hanya ketika permintaan dapat divalidasiterhadap aturan yang tersedia. Aturan umumnya didasarkan pada alamat IP dari klien atau server,protokol, tipe content dokumen web, jenis konten web, dan sebagainya. Seperti yang terlihat pada gambar sebelumnya, klien tidak dapat membuat permintaan langsungke server web. Untuk memfasilitasi komunikasi antara klien dan web server, kita harusmenghubungkan mereka menggunakan server proxy yang bertindak sebagai media komunikasi untukklien dan web server. Kadang-kadang, proxy server dapat mengubah permintaan atau balasan, ataubahkan dapat menyimpan balasan dari server secara lokal untuk memenuhi permintaan yang sama dari
    • klien yang sama atau dari klien lain pada tahap berikutnya. Menyimpan balasan lokal untuk digunakandi lain waktu dikenal sebagai cache. Caching adalah teknik yang populer digunakan oleh proxy serveruntuk menghemat bandwidth, memberdayakan web server, dan meningkatkan pengalaman browsingpengguna.Proxy server sebagian besar digunakan untuk melakukan berikut ini: 1. Mengurangi penggunaan bandwidth 2. Meningkatkan pengalaman browsing pengguna dengan mengurangi waktu buka halaman dengan adanya caching dokumen web 3. Menegakkan kebijakan akses jaringan 4. Pemantauan lalu lintas pengguna atau pelaporan penggunaan internet untuk pengguna individu atau kelompok 5. Meningkatkan privasi pengguna dengan tidak mengekspos komputer pengguna secara langsung ke InternetReverse proxy Reverse proxy adalah teknik menyimpan jawaban atau sumber daya dari web server secaralokal sehingga permintaan berikutnya ke sumber daya yang sama dapat dipenuhi dari salinan lokal padaproxy server , kadang-kadang bahkan tanpa benar-benar menghubungi web server. Proxy server atauweb cache akan memeriksa salinan yang disimpan secara lokal dari dokumen web masih berlakusebelum salinan cache disajikan.Caching web yang banyak digunakan: • Untuk mengurangi penggunaan bandwidth. Sebagian besar dokumen web statis seperti file CSS dan JavaScript, gambar, video, dan sebagainya dapat disimpan pada cache memori karena mereka tidak sering berubah dan merupakan bagian utama dari sebuah respon dari web server. • Oleh ISP untuk mengurangi rata-rata waktu buka halaman untuk meningkatkan pengalaman browsing untuk pelanggan mereka pada Dial-Up atau broadband. • Untuk mengambil beban dari web server yang sangat sibuk dengan melayani halaman statis / dokumen dari cache proxy server.Memperoleh Squid Squid tersedia dalam beberapa bentuk (compressed source archives, source code dari versisistem kontrol, binary paket seperti RPM, DEB, dan sebagainya) dari situs resmi Squid, mirror Squiddari berbagai seluruh dunia, dan repositori perangkat lunak dari hampir semua sistem operasi . Squidjuga disertakan dengan banyak distribusi Linux / Unix.
    • Ada berbagai versi dan rilis Squid tersedia untuk di-download dari situs resmi Squid. Untukmendapatkan hasil maksimal dari instalasi squid lebih baik memeriksa source code terbaru dari VersionControl System (VCS) sehingga kita mendapatkan fitur terbaru dan perbaikan. Tapi perlu hati-hati,source code terbaru dari VCS umumnya mutakhir dan mungkin tidak stabil atau bahkan mungkin tidakbekerja dengan benar. Meskipun kode dari VCS bagus untuk belajar atau pengujian fitur baru Squid,Anda sangat disarankan untuk tidak menggunakan kode dari VCS untuk penyebaran produksi. Jika kitaingin bermain aman, kita mungkin harus men-download versi stabil terbaru atau versi stabil dari rilisyang lebih tua. Versi yang stabil umumnya diuji sebelum mereka dilepaskan. Versi yang stabil dapatlangsung digunakan dalam penyebaran produksi.Waktu untuk bertindak - mengidentifikasi versi yang tepat Daftar versi Squid tersedia terdapat pada http://www.squid-cache.org/ Versions/ . Untuklingkungan produksi, kita harus menggunakan versi yang tercantum di bawah bagian Versi Stabil saja.Waktu untuk bertindak – men-download Squid Sekarang kita akan men-download squid 3.1.10 dari situs resmi Squid: 1. Kunjungi web http://www.squid-cache.org/Versions/ 2. Sekarang kita perlu untuk mengklik pada link versi 3.1, seperti ditunjukkan pada gambar berikut: 3. Kita akan dibawa ke halaman yang menampilkan berbagai rilis dalam versi 3.1. Link dengan tulisan tar.gz pada kolom download adalah paket compress source dari paket squid :
    • 4. Untuk mendownload klik pada link tar.gz 5. Atau bisa mendownload paket tersebut melalui terminal dengan mengetikkan perintah berikut : $ wget http://www.squid-cache.org/Versions/v3/3.1/squid-3.1.10.tar.gzMendapatkan kode sumber terbaru dari Bazaar VCS Pengguna yang sudah mahir mungkin tertarik untuk mendapatkan kode sumber yang terbarudari repositori kode Squid, menggunakan Bazaar. Kita dapat melewati bagian ini jika kita tidak akrabdengan VCS pada umumnya. Bazaar adalah sistem kontrol versi (VCS) populer digunakan untukmelacak sejarah proyek dan memfasilitasi kolaborasi. Dari versi 3.x dan seterusnya, kode sumber Squidtelah bermigrasi ke Bazaar. Oleh karena itu, kita harus memastikan bahwa kita memiliki Bazaar diinstalpada sistem kita untuk memeriksa repositori dari kode sumber. Untuk mengetahui lebih lanjut tentangBazaar atau untuk instalasi Bazaar dan konfigurasi manual, silakan kunjungi situs resmi Bazaar dihttp://bazaar.canonical.com/. Setelah kita memiliki Bazaar setup, kita harus kita harus menuju ke mirror repositori kodeSquid pada Launchpad di https://code.launchpad.net/squid/. Dari sini kita dapat menelusuri semua versidan cabang Squid. Mari membuat diri kita akrab dengan tata letak halaman :Dalam screenshot Series: trunk merupakan cabang pengembangan, yang berisi kode yang masihdalam pengembangan dan belum siap untuk penggunaan produksi. Cabang-cabang dengan statusMature sudah stabil dan dapat digunakan langsung dalam lingkungan produksi.
    • Instalasi Squid Squid dapat diinstal dengan menggunakan kode sumber yang kita diperoleh dalam bagiansebelumnya, menggunakan manajer paket, menggunakan paket biner yang tersedia untuk sistemoperasi kita. Mari kita lihat rinci bagaimana cara kita dapat menginstal Squid.Proses instalasi Squid dari source code ada tiga langkah: 1. Pilih sistem operasi fitur dan pengaturan khusus. 2. Kompilasi kode sumber untuk menghasilkan executable. 3. Tempatkan executable yang dihasilkan dan file lain yang dibutuhkan di lokasi mereka yang ditunjuk untuk Squid berfungsi dengan baik.Kita dapat melakukan beberapa langkah di atas menggunakan alat otomatis yang membuat kompilasidan proses instalasi relatif mudah.Kompilasi Squid Kompilasi Squid adalah proses kompilasi beberapa file yang mengandung C/C++ source codedan menghasilkan executable. Kompilasi Squid benar-benar mudah dan dapat dilakukan dalambeberapa langkah. Untuk mengkompilasi Squid, kita perlu ANSI C/ C++ compiler yang sesuai. Jikakita sudah memiliki GNU C/C++ Compiler (GNU Compiler Collection (GCC) dan g++, sudah tersediadi hampir setiap sistem operasi Linux / Unix secara default), kita siap untuk memulai kompilasi.Mengapa kompilasi? Kompilasi Squid adalah sedikit tugas yang menyakitkan dibandingkan dengan menginstal squiddari paket biner. Namun, kami merekomendasikan kompilasi Squid dari sumber daripada menggunakanpre-compiled binari. Mari kita lihat beberapa keuntungan dari kompilasi Squid dari sumber: • Saat kompilasi kita dapat mengaktifkan fitur tambahan, yang tidak dapat diaktifkan dalam paket pre-compiled binary. • Ketika kompilasi, kita juga dapat menonaktifkan fitur tambahan yang tidak diperlukan untuk lingkungan tertentu. Sebagai contoh, kita mungkin tidak perlu helper Otentikasi atau dukungan ICMP. • Menggunakan mengkonfigurasi, kita dapat menentukan lokasi alternatif untuk menginstal Squid. Kita bahkan dapat menginstal Squid tanpa hak root atau super user, yang tidak mungkin dapat dilakukan dengan pre-compiled paket biner. Meskipun kompilasi Squid dari source memiliki banyak keunggulan dibandingkan menginstaldari paket binary, paket biner memiliki keunggulan tersendiri. Sebagai contoh, ketika kita berada dalammode pengendalian kerusakan atau situasi krisis dan kita perlu untuk mendapatkan proxy server dan
    • berjalan sangat cepat, menggunakan paket biner untuk instalasi akan menyediakan instalasi cepat.Uncompressing arsipJika kita memperoleh Squid dalam format arsip terkompresi, kita harus mengekstrak sebelum kita dapatmelanjutkan lebih jauh. Jika kita memperoleh Squid dari Launchpad menggunakan Bazaar, kita tidakperlu melakukan langkah ini.tar -xvzf squid-3.1.10.tar.gz tar adalah perintah populer yang digunakan untuk mengekstrak arsip terkompresi dari berbagaijenis. Di sisi lain, juga dapat digunakan untuk kompres banyak file ke arsip tunggal. Perintahsebelumnya akan mengekstrak arsip ke direktori bernama squid-3.1.10.Konfigurasi atau sistem check Mengkonfigurasi atau memeriksa sistem adalah langkah pertama dalam proses kompilasi dandiperoleh dengan menjalankan ./configure pada command line. Program ini memeriksa sistem,memastikan bahwa paket yang dibutuhkan telah terinstal. Selain itu juga memeriksa kemampuansistem dan mengumpulkan informasi tentang arsitektur sistem dan pengaturan standar seperti,deskriptor file yang tersedia dan sebagainya. Setelah mengumpulkan semua informasi, program inimenghasilkan makefiles, yang digunakan pada langkah berikutnya untuk mengkompilasi source codesquid. Menjalankan configure tanpa parameter apapun akan menggunakan default preset. Jika kitabersedia untuk mengubah pengaturan default Squid atau jika kita ingin menonaktifkan beberapa fituropsional yang diaktifkan secara default, atau jika kita ingin menginstal Squid di lokasi alternatif dalamsistem file, kita perlu menambahkan pilihan untuk mengkonfigurasi. Gunakan perintah berikut untukmelihat pilihan yang tersedia sebagai gambaran singkat.Mari kita jalankan configure dengan opsi --help untuk melihat opsi konfigurasi yang tersedia../configure --help | lessIni akan menampilkan halaman yang berisi pilihan dan penjelasan singkat untuk configure. Gunakantombol panah atas dan bawah untuk menelusuri informasi. Sekarang mari kita membahas beberapa opsiyang umum digunakan dengan configure:--prefix Opsi --prefix adalah pilihan yang paling umum digunakan. Jika kita sedang menguji versi baruatau jika kita ingin menguji beberapa versi Squid, kita akan memiliki beberapa versi squid yangterpasang pada sistem kita. Untuk mengidentifikasi versi yang berbeda dan untuk mencegahkemungkinan terjadinya gangguan atau kebingungan antar versi, itu ide yang baik untuk menginstal
    • mereka dalam direktori terpisah. Sebagai contoh, untuk menginstal versi Squid 3.1.10, kita dapatmenggunakan direktori /opt/squid/3.1.10/ dan perintah configure terkait akan dijalankan sebagai: ./configure --prefix=/opt/squid/3.1.10/Demikian pula, untuk menginstal versi Squid 3.1, kita dapat menggunakan direktori /opt/squid/3.1/.Mulai sekarang dan seterusnya, ${prefix} akan mewakili lokasi di mana kita telah menginstal squid,yaitu, nama direktori yang digunakan dengan opsi --prefix saat menjalankan configure, seperti yangditunjukkan pada perintah sebelumnya. Squid menyediakan lebih dalam mengontrol lokasi dari berbagai jenis file seperti executabledan file dokumentasi. Penempatan mereka dapat dikontrol dengan pilihan seperti --bindir, --sbindir, danseterusnya. Silakan periksa halaman bantuan configure untuk rincian lebih lanjut tentang pilihan ini. Sekarang, mari kita memeriksa fitur opsional dan paket. Untuk mengaktifkan fitur opsionalapapun, kita gunakan pilihan dalam format --enable-FEATURE_NAME dan untuk menonaktifkan fitur,format pilihan adalah --disable-FEATURE_NAME or --enable-FEATURE_NAME=no . Sebagaicontoh, icmp adalah nama fitur. ./configure --enable-FEATURE # FEATURE will be enabled ./configure --disable-FEATURE # FEATURE will be disabled ./configure --enable-FEATURE=no # FEATURE will be disabled Demikian pula, untuk mengkompilasi Squid dengan paket yang tersedia, kita gunakan sebuahopsi dalam format --with-PACKAGE_NAME dan untuk mengkompilasi Squid tanpa sebuah paket, kitagunakan pilihan --without-PACKAGE_NAME. openssl adalah sebuah nama paket misalnya.--enable-gnuregex Ekspresi reguler yang digunakan untuk membangun Access Control Lists di squid. Jika kitamenjalankan sistem Linux/Unix berbasis operasi modern, kita tidak perlu khawatir tentang pilihan ini.Tapi jika sistem kita tidak memiliki built-in yang mendukung untuk ekspresi reguler, kita harusmengaktifkan dukungan untuk ekspresi reguler menggunakan –enable-gnuregex.-- disable-inline Squid memiliki banyak kode yang dapat Inlined, yang baik untuk penggunaan produksi. Tapikode inline memakan waktu lebih lama untuk mengkompilasi dan berguna ketika kita perlu untukmengkompilasi sumber hanya sekali untuk menyiapkan Squid untuk penggunaan produksi. Pilihan inidimaksudkan untuk digunakan selama pengembangan ketika kita perlu waktu kompilasi Squid dan lagi.--disable-optimizations Squid, secara default, dikompilasi dengan optimasi compiler yang menghasilkan kinerja yanglebih baik. Sekali lagi pilihan ini harus digunakan saat debugging masalah atau pengujian versi yang
    • berbeda yang akan mengurangi waktu kompilasi. Pilihan --disable-inline secara otomatis digunakanjika kita menggunakan opsi ini.--enable-storeio Kinerja squid sangat bergantung pada disk I / O kinerja saat disk caching diaktifkan. QuickerSquid dapat membaca/menulis file dari cache, pada waktu tertentu ia akan mengambil untuk memenuhipermintaan, yang pada gilirannya akan mengakibatkan waktu delay (penundaan) yang lebih kecil.Teknik penyimpanan yang berbeda dapat menyebabkan kinerja yang optimal, tergantung pada jenis lalulintas dan penggunaan. Kita dapat menggunakan opsi ini untuk membangun Squid dengan dukunganuntuk modul berbagai penyimpanan I/O. Silakan periksa src/fs/ direktori source code squid untukmodul penyimpanan I/O yang tersedia. ./configure –enable-storeio=ufs,aufs,coss,diskd,null--enable-removal-policies Sewaktu menggunakan disk caching, kita menginstruksikan Squid untuk menggunakan ruangdisk yang ditentukan untuk caching dokumen web. Selama periode waktu, ruang yang dikonsumsi danSquid masih perlu lebih banyak ruang untuk cache dokumen baru. Squid kemudian harus memutuskanmana dokumen lama harus dihapus atau dibersihkan dari cache untuk membuat ruang untukmenyimpan yang baru. Ada kebijakan yang berbeda untuk membersihkan dokumen untuk mencapaimanfaat maksimal dari caching. Kebijakan ini didasarkan pada struktur tumpukan dan daftar data. Daftar struktur data diaktifkansecara default. Silakan periksa src/repl/ direktori source code squid untuk kebijakan penghapusan yangtersedia. ./configure –enable-removal-policies=heap,lru--enable-icmp Opsi ini berguna dalam menentukan jarak dari rekan-rekan cache lainnya dan remoteserver untuk memperkirakan perkiraan latency. Hal ini berguna hanya jika kita memiliki rekan-rekancache lainnya dalam jaringan.--enable-delay-pools Squid menggunakan delay pools untuk membatasi atau mengontrol bandwidth yang dapatdigunakan oleh klien atau sekelompok klien. Delay pools seperti ember bocor yang kebocoran data(lalu lintas web) untuk klien dan diisi ulang pada tingkat yang terkendali. Hal ini bermanfaat ketika kitaperlu untuk mengontrol bandwidth yang digunakan oleh sekelompok pengguna.--enable-esi Opsi ini memungkinkan Squid untuk menggunakan Edge Side Includes (lihat
    • http://www.esi.org untuk informasi lebih lanjut). Jika ini diaktifkan, squid akan mengabaikan headercache-kontrol dari klien. Pilihan ini hanya dimaksudkan untuk digunakan saat Squid digunakan dalammodus akselerator.--enable-useragent-log Menyediakan kemampuan logging header agen pengguna dari permintaan HTTP oleh klien.--enable-referer-log Jika kita mengaktifkan opsi ini, Squid akan mampu menulis kolom header referer daripermintaan HTTP.--disable-wccp Opsi ini menonaktifkan dukungan untuk Web Cache Komunikasi Protocol (WCCP) Cisco.WCCP memungkinkan komunikasi antara cache, yang pada gilirannya membantu dalam melokalisirlalu lintas. Secara default, dukungan WCCP diaktifkan.--disable-wccpv2 Mirip dengan pilihan sebelumnya, ini Menonaktifkan dukungan Cisco WCCP versi 2. WCCPv2adalah versi perbaikan dari WCCP dan memiliki built-in mendukung untuk load balancing, scaling,fault-tolerance, dan mekanisme pelayanan jaminan. Secara default, dukungan WCCPv2 diaktifkan.--disable-snmp Dalam versi Squid 3.x, SNMP (Simple Network Management Protocol) diaktifkan secaradefault. SNMP cukup populer di kalangan administrator sistem untuk server monitoringdan perangkat jaringan.--enable-cachemgr-hostname Cache Manager (cachemgr.cgi) adalah utilitas CGI untuk mengelola squid cache dan melihatstatistik cache menggunakan antarmuka web. Nama host untuk mengakses manajer cache bisa diaturmenggunakan opsi ini. Secara default, kita dapat mengakses cache manager antarmuka webmenggunakan localhost atau alamat IP dari server squid. ./configure –enable-cachemgr-hostname=squidproxy.example.com--enable-arp-acl Squid mendukung pengembangan Access Control Lists berdasarkan MAC (atau Ethernet)address. Fitur ini dinonaktifkan secara default. Jika kita ingin mengontrol akses klien berdasarkanalamat Ethernet, kita harus mengaktifkan fitur ini. Mengaktifkan ini adalah ide yang baik sambil belajarsquid.--disable-htcp Hypertext Caching Protocol (HTCP) dapat digunakan oleh squid untuk mengirim dan menerima
    • cache yang dicernanya untuk cache tetangga. Opsi ini menonaktifkan dukungan HTCP.--enable-ssl Squid dapat menghentikan koneksi SSL. Ketika Squid dikonfigurasi dalam mode reverse proxy,Squid dapat menghentikan koneksi SSL dimulai oleh klien dan menanganinya atas nama web server dibackend. pada dasarnya ini berarti bahwa backend web server tidak akan memiliki untuk melakukanpekerjaan SSL, yang berarti penghematan komputasi yang signifikan. Dalam hal ini, komunikasi antaraSquid dan backend web server akan menjadi HTTP murni, tapi klien masih akan melihatnya sebagaikoneksi aman dengan server web. Hal ini berguna hanya ketika Squid dikonfigurasi untuk bekerja padaakselerator atau mode reverse proxy.--enable-cache-digest Cache digests adalah cara Squid berbagi informasi dengan server Squid tetangga tentang cachedokumen web, dalam format terkompresi.--enable-default-err-language Setiap kali Squid menemukan kesalahan (misalnya, halaman tidak ditemukan, akses ditolak,atau network unreachable error) yang harus disampaikan kepada klien, squid menggunakan halamandefault untuk menampilkan kesalahan ini. Halaman-halaman kesalahan tersedia dalam bahasa lokal.Pilihan ini dapat digunakan untuk menentukan bahasa default untuk semua halaman kesalahan. Bahasadefault untuk halaman kesalahan adalah bahasa Inggris. ./configure –enable-default-err-language=Spanish--enable-err-languages Secara default, squid membangun dukungan untuk semua bahasa yang tersedia. Jika kita hanyaingin membangun Squid dengan bahasa yang kita kenal dengan, kita dapat menggunakan opsi ini.Harap memeriksa errors/ pada direktori source code squid untuk bahasa yang tersedia. ./configure --enable-err-languages=English French German--disable-http-violations Squid memiliki pilihan konfigurasi, dan dengan menggunakan mereka, kita dapat memaksaSquid untuk melanggar standar protokol HTTP dengan mengganti field header dalam permintaan ataurespons HTTP. Bermain-main dengan HTTP header bertentangan dengan norma HTTP standar. Kitadapat menonaktifkan dukungan untuk segala macam pelanggaran HTTP dengan menggunakan opsi ini.--enable-ipfw-transparent IPFIREWALL (IPFW) adalah aplikasi firewall untuk sistem FreeBSD, FreeBSD dikelola olehstaf dan sukarelawan. Opsi ini berguna ketika mengatur Transparan Proxy Server pada sistem denganIPFW. Jika sistem kita tidak memiliki IPFW, kita harus menghindari menggunakan opsi ini, karena
    • Squid akan gagal dikompilasi. Perilaku default adalah auto-detect, yang melakukan pekerjaan dengancukup baik.--enable-ipf-transparent Ipfilter (IPF) juga merupakan stateful firewall bagi banyak Unix-seperti sistem operasi. Hal inidisediakan oleh NetBSD, Solaris, dan sebagainya. Jika sistem kita memiliki IPF, maka kita harusmengaktifkan opsi ini untuk dapat mengkonfigurasi Squid dalam mode Transparan. Mengaktifkan opsiini dengan tidak adanya IPF pada sistem akan mengakibatkan kesalahan kompilasi.--enable-pf-transparent Packet Filter (PF) adalah satu lagi aplikasi stateful firewall awalnya dikembangkan untukOpenBSD. Opsi ini berguna pada sistem dengan PF dipasang untuk mencapai mode Transparent Proxy.Jangan aktifkan pilihan ini jika PF tidak diinstal.--enable-linux-netfliter Netfilter merupakan kerangka penyaringan paket dalam kernel Linux dalam seri 2.4.x dan 2.6.x.Opsi ini berguna untuk mengaktifkan dukungan Transparent Proxy pada sistem operasi berbasis Linux.--enable-follow-x-forwarded-for Ketika sebuah permintaan HTTP diteruskan oleh proxy, proxy menulis informasi pentingtentang dirinya sendiri dan klien dimana permintaan tersebut sedang diteruskan, dalam header HTTP.Opsi ini memungkinkan Squid untuk mencoba untuk pencarian alamat IP dari klien asli untuk dimanapermintaan itu diteruskan melalui satu atau lebih server proxy.--disable-ident-lookups Hal ini untuk mencegah dari melakukan pencarian pada Squid ident atau mengidentifikasiusername untuk setiap koneksi. Menonaktifkan ini dapat mencegah sistem kita dari kemungkinanserangan Denial Of Service oleh klien berbahaya yang meminta koneksi dalam jumlah besar.--disable-internal-dns Squid memiliki implementasi sendiri pada DNS protokol dan mampu membangun query DNS.Jika kita ingin menggunakan DNS internal squid, maka kita tidak harus menonaktifkan itu. Jika tidak,kita dapat menonaktifkan dukungan untuk fitur internal DNS Squid dengan menggunakan opsi ini dandapat menggunakan server eksternal DNS.--enable-default-hostsfile Menggunakan pilihan ini, kita dapat memilih lokasi default dari file host. Pada sistem operasipada umumnya, itu terletak di direktori /etc/ hosts. ./configure --enable-default-hostsfile=/some/other/location/hosts
    • --enable-auth Squid mendukung berbagai mekanisme autentikasi. Opsi ini memungkinkan dukungan untukskema autentikasi. Konfigurasi pilihan ini (dan berhubungan mengaktifkan opsi auth) sedangmengalami perubahan.Sintaks lama Sebelumnya, opsi ini digunakan untuk mengaktifkan dukungan autentikasi dan daftar skemaautentikasi ini juga berlalu. Skema Autentikasi dari daftar kemudian dibangun selama kompilasi. ./configure –enable-auth=basic,digest,ntlmSintaks baru Sekarang, pilihan ini hanya digunakan untuk mengaktifkan dukungan global untuk otentikasidan daftar skema otentikasi tidak diteruskan. Skema autentikasi diaktifkan dengan opsi --enable-auth-AUTHENTICATION_SCHEME dimana AUTHENTICATION_SCHEME adalah nama dari skemaautentikasi. Secara default, semua skema autentikasi diaktifkan dan helper autentikasi yang sesuaidibangun selama kompilasi. helper otentikasi (authentication helper) adalah program eksternal yangdapat mengotentikasi klien menggunakan berbagai mekanisme autentikasi, terhadap database penggunayang berbeda. ./configure –enable-auth--enable-auth-basic Opsi ini memungkinkan dukungan untuk skema Otentikasi Dasar dan membangun daftar helpertertentu. Jika daftar helper tidak disediakan, Hal ini memungkinkan akan mengaktifkan semua helpermungkin. Daftar helper yang tersedia untuk skema ini dapat ditemukan di helpers/basic_auth/ direktoridalam source code squid. Untuk menonaktifkan skema autentikasi, kita dapat menggunakan --disable-auth-basic. ./configure --enable-auth-basic=PAM,NCSA,LDAPJika kita ingin mengaktifkan opsi ini tetapi tidak ingin membangun semua helper, kita harusmenggunakan "none" di tempat dari daftar helper ./configure –enable-auth-basic=noneSebelumnya, opsi ini dikenal sebagai –enable-basic-auth-helpers. Daftar helper dilewatkan dengan carayang sama. ./configure –enable-basic-auth-helpers=PAM,NCSA,LDAP“Sintaks opsi lama dan baru untuk semua skema otentikasi lainnya yang serupa.”--enable-auth-ntlm Squid mendukung skema otentikasi NTLM diaktifkan dengan pilihan ini. Helper yang tersedia
    • untuk skema ini berada di direktori helpers/ntlm_auth/ dalam source codesquid. Untuk menonaktifkandukungan autentikasi NTLM skema, gunakan opsi --disable-auth-ntlm . ./configure –enable-auth-ntlm=smb_lm,no_check--enable-auth-negotiate Opsi ini memungkinkan skema Otentikasi Negotiate. Rincian dan sintaks mirip dengan opsiskema otentikasi di atas. ./configure –enable-auth-negotiate=kerberos--enable-auth-digest Opsi ini memungkinkan dukungan untuk skema Otentikasi Digest. Rincian lainnya miripdengan opsi di atas.--enable-ntlm-fail-open Jika opsi ini diaktifkan dan helper gagal melakukan otentikasi pengguna, itu masih dapatmemungkinkan Squid untuk mengotentikasi pengguna. Pilihan ini harus digunakan dengan hati-hatikarena dapat mengakibatkan celah keamanan.--enable-external-acl-helpers Squid mendukung ACL eksternal menggunakan helper. Jika kita bersedia untuk menggunakanACL eksternal, kita harus mempertimbangkan menggunakan opsi ini. Kita juga bisa menggunakan opsiini sambil belajar. Daftar helper ACL eksternal harus dilalui untuk membangun helper tertentu. Perilakudefault adalah untuk membangun semua helper yang tersedia. Sebuah daftar yang tersedia helper ACLeksternal dapat ditemukan di direktori helpers/external_acl/ pada source code squid. ./configure –enable-external-acl-helpers=unix_group,ldap_group--disable-translation Secara default, squid berusaha menyajikan kesalahan dan halaman manual dalam bahasa lokal.Jika kita tidak ingin ini terjadi, maka kita dapat menggunakan opsi ini.--disable-auto-locale Berdasarkan permintaan header klien, Squid mencoba untuk secara otomatis menyediakanhalaman kesalahan lokal. Kita dapat menggunakan pilihan ini untuk menonaktifkan lokalisasi otomatis.Tag error_directory di file konfigurasi squid harus dikonfigurasi jika kita menggunakan opsi ini.--disable-unlinkd unlinkd adalah proses eksternal yang digunakan untuk memutuskan tautan panggilan sistem.Opsi ini menonaktifkan dukungan unlinkd di squid. Menonaktifkan unlinkd bukanlah ide yang baikkarena system call unlink dapat memblokir proses memakan waktu yang cukup banyak, yang dapatmenyebabkan keterlambatan dalam respons.
    • --with-default-user Kita biasanya tidak ingin menjalankan squid sebagai user root untuk menghilangkan risikokeamanan. Secara default, squid berjalan sebagai user nobody. Namun, jika kita telah menginstal Squiddari biner pre-compiled, Squid dapat menjalankan sebagai squid atau proxy pengguna tergantungpada sistem operasi yang kita gunakan. Menggunakan pilihan ini, kita dapat mengatur default useruntuk menjalankan squid. Lihat contoh berikut bagaimana menggunakan opsi ini: ./configure –with-default-user=squid--with-logdir Secara default, squid menulis semua laporan log dan kesalahan untuk file yang ditunjuk di ${prefix}/var/logs/. Lokasi ini berbeda dari lokasi yang digunakan oleh semua proses lainnya dandaemon untuk menulis log mereka. Dalam rangka untuk mendapatkan akses cepat ke log Squid, kitamungkin ingin menempatkan mereka di direktori default sistem log, yang ini /var/log/ di sebagian besarsistem operasi berbasis Linux. Lihat contoh sintaks berikut untuk melakukan hal ini: ./configure –with-logdir=/var/log/squid/--with-pidfile Lokasi default untuk menyimpan file PID squid adalah ${prefix}/var/run/squid. pid, bukanmerupakan lokasi sistem standar untuk menyimpan file PID. Pada kebanyakan sistem operasi berbasisLinux, file PID disimpan di /var/run/. Jadi, kita mungkin ingin mengubah lokasi default pidfilemenggunakan opsi berikut: ./configure –with-pidfile=/var/run/squid.pid--with-aufs-threads Menggunakan pilihan ini, kita dapat menentukan jumlah thread untuk digunakan ketika sistempenyimpanan aufs digunakan untuk mengelola direktori cache. Jika opsi ini tidak digunakan, squidsecara otomatis menghitung jumlah thread yang harus digunakan: ./configure –with-aufs-threads=12--without-pthreads Versi Squid dibangun tanpa dukungan thread POSIX. Sekarang, Squid dibangun dengandukungan pthreads secara default, karena itu, jika kita tidak ingin mengaktifkan dukungan pthreads,kita harus secara eksplisit menonaktifkan itu.--with-openssl Jika kita ingin membangun Squid dengan dukungan OpenSSL, kita dapat menggunakan opsi iniuntuk menentukan path instalasi OpenSSL, jika tidak diinstal di lokasi default: ./configure –with-openssl=/opt/openssl/
    • --with-large-files Dalam lalu lintas yang padat, log file squid ini (terutama log akses) tumbuh dengan cepat dandalam jangka panjang ukuran file dapat menjadi cukup besar. Kita dapat menggunakan opsi ini untukmengaktifkan dukungan untuk file log besar.“Untuk kinerja yang lebih baik, itu adalah praktik yang baik untuk memutar file-file log yang seringbukannya pergi dengan file besar.”--with-filedescriptors Sistem operasi menggunakan deskriptor file (pada dasarnya integer) untuk melacak file dansoket yang terbuka. Secara default, ada batas pada jumlah deskriptor file, pengguna dapatmenggunakan (biasanya 1024). Begitu Squid sudah menerima koneksi yang telah dikonsumsi semuadeskriptor file yang tersedia untuk pengguna Squid, squid tidak dapat menerima koneksi lebih banyak,kecuali beberapa file deskriptor yang dilepas. Di bawah beban(load) berat, squid sering kehabisan filedeskriptor. Kita dapat menggunakan pilihan berikut untuk mengatasi masalah kekurangan filedescriptor: ./configure –with-filedescriptors=8192Kita juga perlu meningkatkan batas system-width pada jumlah deskriptor file yang tersedia untukpengguna.Have a go hero – file descriptors Cari tahu jumlah maksimum deskriptor file yang tersedia untuk pengguna Anda. Juga, tuliskanperintah yang akan menetapkan batas maksimum file deskriptor yang tersedia untuk 8192.Solusi: Untuk memeriksa file deskriptor yang tersedia gunakan perintah berikut: ulimit -nUntuk mengatur batas file descriptor dengan 8192, kita perlu menambahkan baris berikut di/etc/security/limits.conf: username hard nofile 8192 username soft nofile 8192Tindakan ini hanya dapat dilakukan dengan hak root atau super user.Saatnya untuk bertindak - menjalankan perintah configure Sekarang setelah kita telah memiliki sekilas tentang beberapa pilihan yang tersedia, kita dapatlayout pilihan untuk lingkungan dimana kita membangun squid. Sekarang, kita siap untuk menjalankanperintah configure dengan opsi-opsi berikut: ./configure --prefix=/opt/squid/ --with-logdir=/var/log/squid/ --with- pidfile=/var/run/squid.pid
    • --enable-storeio=ufs,aufs --enable-removal- policies=lru,heap --enable-icmp --enable- useragent-log --enable-referer- log --enable-cache-digests –with-large-filesdan menghasilkan keputusan atas dasar library dan modul yang tersedia. configure menulis keluarandebug ke file config.log dalam direktori yang sama. Ini adalah cara untuk memeriksa config.log untuksetiap kesalahan yang mungkin terjadi saat menjalankan perintah configure. Jika semuanya berjalanbaik-baik saja, configure akan menghasilkan makefiles dalam beberapa direktori yang akan dibutuhkanuntuk kompilasi source code pada langkah berikutnya.Apa yang baru saja terjadi? Menjalankan program configure dengan opsi-opsi yang disebutkan dalam contoh kodesebelumnya, akan menghasilkan makefiles yang dibutuhkan untuk mengkompilasi source code dansource code Squid dari modul diaktifkan. Ini juga akan menghasilkan config.log dan file config.status.Semua pesan yang dihasilkan selama menjalankan program configure dicatat ke file config.log. Fileconfig.status adalah eksekusi yang dapat dijalankan untuk menciptakan makefiles.Have a go hero – debugging configure errors Dalam direktori source squid, jalankan perintah configure, seperti yang ditunjukkan dalam kodeberikut: ./configure –enable-storeio=aufs,diskSekarang cobalah untuk memeriksa apa yang salah dan memperbaiki kesalahan.Saatnya untuk bertindak - kompilasi source Setelah menentukan lingkungan kita dan membangun persyaratan, kita perlu melakukankompilasi aktual. Kompilasi source code sangat mudah dan hanya dengan menggunakan satu perintah: makeKita tidak perlu menjadi root atau super user untuk menjalankan perintah ini. Perintah ini dapatmengambil cukup banyak waktu untuk mengeksekusi, tergantung pada perangkat keras sistem.Menjalankan make akan menghasilkan banyak output di terminal. Hal ini juga dapat menghasilkanbanyak peringatan kompilator yang aman dapat diabaikan dalam banyak kasus. Jika make berakhir dengan error, kita harus periksa bugzilla squid untuk masalah yang sama.Kita dapat memperbarui sebuah bug yang ada dengan laporan kesalahan kita atau membuat laporan bugbaru jika tidak ada bug yang sama. Untuk rincian tentang pemecahan masalah dan menyelesaikanlaporan bug, silakan lihat Bab 12, Troubleshooting Squid . Jika make berakhir tanpa kesalahan, kita dapat dengan cepat melanjutkan ke tahap instalasi.Kita juga dapat menjalankan make lagi untuk memverifikasi bahwa segala sesuatu dikompilasi dengan
    • sukses. Menjalankan make lagi akan menghasilkan banyak baris serupa dengan berikut ini: Making all in compat make[1]: Entering directory /home/user/squid-source/compat make[1]: Nothing to be done for all. make[1]: Leaving directory /home/user/squid-source/compatApa yang baru saja terjadi? Kita baru saja menjalankan perintah make yang akan mengkompilasi source code dari Squiddan modul yang terkait, untuk menghasilkan executable, jika selesai tanpa kesalahan. Executable yangdihasilkan siap untuk diinstal sekarang.Saatnya untuk bertindak - menginstal Squid Kompilasi yang sukses dari kode sumber dalam bagian sebelumnya akan menghasilkanprogram yang dibutuhkan tergantung pada fitur dan paket telah kita aktifkan atau dinonaktifkan.Namun, mereka harus dipindahkan ke lokasi yang telah ditentukan, sehingga mereka dapat digunakan.Mari kita melakukan langkah-langkah akhir instalasi. 1. Tergantung pada ${prefix} , kita mungkin perlu hak root atau super user untuk menginstal Squid. Jika root atau super user diperlukan, pertama kita harus beralih ke root atau super user dengan menggunakan perintah berikut: sudo su 2. Sekarang semua yang perlu kita lakukan adalah untuk menjalankan perintah make dengan install sebagai argumen: make install Perintah ini akan menginstal atau hanya memindahkan program ke lokasi yang telah ditentukan, tergantung pada path yang digunakan dengan opsi --prefix saat menjalankan program configure.Apa yang baru saja terjadi?Kita baru saja belajar bagaimana untuk melakukan langkah terakhir dalam menginstal Squid, yangmenempatkan program-program yang dihasilkan dan file penting lainnya di lokasi yang telahditentukan. Mari kita melihat file dan direktori yang dihasilkan selama instalasi. Cara termudah untukmemeriksa direktori dan file yang dihasilkan adalah dengan menggunakan perintah tree. Jika perintahtree tidak tersedia, kita bisa melihat daftar file dengan menggunakan perintah ls juga.tree ${prefix} | less${prefix} adalah direktori yang digunakan dengan opsi --prefix saat configure. Sekarang mari kita
    • memiliki gambaran singkat di file penting yang dihasilkan oleh squid saat instalasi. Semua direktoridan file berikut terdaftar, berada di ${prefix}:binDirektori ini berisi program-program yang dapat dieksekusi atau dijalankan oleh pengguna tanpa hakroot atau super user.bin/squidclientsquidclient adalah klien HTTP dengan kemampuan canggih, yang memungkinkan untuk melakukanpermintaan HTTP untuk menguji server Squid. Jalankan squidclient untuk memeriksa pilihan yangtersedia: ${prefix}/bin/squidclienetcIni adalah tempat di mana untuk semua file konfigurasi yang berkaitan dengan Squid berada.“Ini adalah ide yang baik untuk menggunakan pilihan --sysconfdir=/etc/squid/ dengan configure,sehingga Anda dapat berbagi konfigurasi pada instalasi squid yang berbeda saat pengujian.”etc/squid.confIni adalah lokasi default untuk file konfigurasi squid. File squid.conf dihasilkan selama instalasi inimerupakan konfiguasi minimum yang dibutuhkan untuk Squid untuk digunakan. Kita selalu membuatperubahan pada file ini jika kita perlu mengubah konfigurasi squid.etc/squid.conf.defaultSquid menghasilkan file konfigurasi default ini sehingga kita dapat menyalin dan rename menjadisquid.conf dan mulai lagi.etc/squid.conf.documentedIni adalah versi yang didokumentasikan dengan lengkap dari squid.conf, berisi ribuan baris komentar.Kita harus selalu merujuk ke file ini untuk tag konfigurasi yang tersedia untuk versi Squid yang telahkita instal.libexecDirektori ini berisi program pembantu(helper) dibangun selama kompilasi squid.libexec/cachemgr.cgiProgram CGI menyediakan antarmuka web untuk mengelola cache Squid yang disebut Cache Manajer.SbinDirektori ini berisi program-program yang hanya dapat dieksekusi oleh root atau user dengan hak aksessuper user.
    • sbin/squidIni adalah program Squid yang sebenarnya, yang umumnya dijalankan sebagai daemon.shareIni adalah lokasi untuk template halaman error, dokumentasi, dan file lain yang digunakan oleh squid.share/errorsDirektori ini berisi template halaman kesalahan lokal. Template adalah halaman HTML dan kita dapatmenyesuaikan pesan kesalahan yang ditampilkan oleh Squid, dengan memodifikasi template HTMLini.share/iconsDirektori ini berisi sejumlah gambar kecil yang digunakan untuk daftar direktori FTP atau Gopher.share/manIni adalah tempat di mana halaman manual untuk squid squidclient, dan helper dibangun selamakompilasi. man adalah halaman manual atau halaman bantuan yang dapat dilihat dengan menggunakanperintah man (tersedia di semua Linux / Unix distribusi). Untuk melihat halaman manual yang terletakdi /opt/squid/ share/man/man8/squid.8 , kita dapat menggunakan perintah man sebagai berikut: man /opt/squid/share/man/man8/squid.8Untuk rincian lebih lanjut tentang halaman manual, silakan kunjungihttp://en.wikipedia.org/wiki/Man_page.varSebuah tempat untuk file yang sering berubah ketika squid berjalan.var/cacheIni adalah direktori default untuk menyimpan dokumen-dokumen web cache pada hard disk.var/logsIni adalah default home untuk semua file log (seperti cache.log, access.log, dan sebagainya) yangdigunakan oleh squid.Apa yang baru saja terjadi? Kita baru saja melihat berbagai file dan direktori yang dihasilkan selama instalasi dan gambaransingkat tentang apa isi dari setiap direktori.Installing Squid dari paket binary Paket binary Squid tersedia dalam repositori perangkat lunak pada kebanyakan sistem operasidan kita dapat menginstal mereka dengan menggunakan manajer paket yang disediakan oleh sistemoperasi masing-masing. Selanjutnya, kita akan melihat bagaimana menggunakan manajer paket pada
    • beberapa sistem operasi untuk menginstal Squid.“Versi terbaru atau beta mungkin tidak tersedia dalam repositori perangkat lunak dari semua sistemoperasi. Dalam kasus tersebut, kita harus mendapatkan versi terbaru atau beta dari situs squid, sepertiyang dijelaskan sebelumnya dalam bab ini.”Fedora, CentOS or Red HatYum adalah manajer paket yang populer pada sistem operasi berbasis RPM. Squid RPM tersedia diFedora, CentOS, dan repositori Red Hat. Untuk menginstal Squid, kita tinggal bisa menggunakanperintah berikut: yum install squidDebian or UbuntuKita dapat menggunakan apt-get untuk menginstal Squid di Debian atau Ubuntu: apt-get install squid3FreeBSDSquid tersedia dalam koleksi port FreeBSD. Perintah berikut dapat digunakan untuk menginstal Squidpada FreeBSD: pkg_add -r squid31Untuk informasi lebih lanjut tentang manajemen paket di FreeBSD, silahkan kunjungihttp://www.freebsd.org/doc/handbook/packages-using.html.OpenBSD or NetBSDmenginstal squid di OpenBSD atau NetBSD mirip dengan menginstal pada FreeBSD dan dapatdilakukan dengan menggunakan perintah berikut: pkd_add squid31Untuk mempelajari lebih lanjut tentang sistem manajemen paket pada OpenBSD dan NetBSD, silakanlihat http://www.openbsd.org/ports.html#Get danhttp://www.netbsd.org/docs/pkgsrc/using.html#installing-binary-packages masing-masing.Dragonfly BSDUntuk menginstal squid di Dragonfly BSD, kita dapat menggunakan perintah berikut: pkg_radd squid31Untuk informasi lebih lanjut tentang cara menginstal paket biner pada Dragonfly BSD, silakankunjungi http://www.dragonflybsd.org/docs/newhandbook/pkgsrc/ .GentooKita dapat menginstal Squid di Gentoo Linux dengan perintah emerge, seperti yang ditunjukkan berikutini: emerge =squid-3.1*
    • Arch Linux Untuk menginstal squid di Arch Linux, kita dapat menggunakan pengelola paket pacman,seperti terlihat pada perintah berikut: pacman -S squidUntuk informasi lebih lanjut tentang pacman, silakan kunjungihttps://wiki.archlinux.org/index.php/Pacman. Quick start Sebelum kita mengeksplorasi file konfigurasi secara rinci, mari kita lihat konfigurasi minimalyang Anda akan butuhkan untuk memulai. Bersiaplah dengan file konfigurasi yang terletak di/opt/squid/etc/squid.conf. Karena kita akan membuat perubahan dan penambahan yang diperlukansecara cepat setting server proxy yang minimal. cache_dir ufs /opt/squid/var/cache/ 500 16 256 acl my_machine src 192.0.2.21 # Replace with your IP address http_access allow my_machine Kita harus menambahkan baris sebelumnya di bagian atas file konfigurasi saat ini kita(memastikan bahwa kita mengubah alamat IP yang sesuai). Sekarang, kita perlu menciptakan direktoricache. Kita dapat melakukannya dengan menggunakan perintah berikut: $ /opt/squid/sbin/squid -zKita sekarang sudah siap untuk menjalankan server proxy kita, dan ini dapat dilakukan denganmenjalankan perintah berikut: $ /opt/squid/sbin/squid Squid akan mulai mendengarkan pada port 3128 (default) pada semua antarmuka jaringan padakomputer kita. Sekarang kita dapat mengkonfigurasi browser kita untuk menggunakan Squid sebagaiproxy server HTTP dengan host sebagai alamat IP komputer kita dan port 3128. Setelah browser dikonfigurasi, coba browsing ke http://www.example.com/. Itu saja! Kita telahmengkonfigurasi Squid sebagai server proxy HTTP! Sekarang mencoba browse kehttp://www.example.com:897/ dan mengamati pesan yang Anda terima. Pesan yang ditampilkan adalahakses ditolak pesan yang dikirim kepada Anda oleh Squid.Sekarang, mari kita lanjutkan untuk memahami file konfigurasi secara rinci.Sintaks dari file konfigurasiFile konfigurasi squid ini pada normalnya dapat ditemukan pada direktori /etc/squid/squid.conf ,/usr/local/squid/etc/squid.conf , atau $ ${prefix}/etc/squid.conf dimana ${prefix} adalah nilai untuk
    • opsi --prefix, yang dilewatkan ke perintah configure sebelum kompilasi squid.Dalam versi baru squid, versi didokumentasikan dari squid.conf, yang dikenal sebagai squid.conf.documented, dapat ditemukan bersama squid.conf. Dalam bab ini, kita akan membahas beberapaperintah impor yang tersedia di file konfigurasi. Untuk penjelasan rinci tentang semua perintah yangdigunakan dalam file konfigurasi, silakan cek http://www.squid-cache.org/Doc/config/. Sintaks untuk file konfigurasi Squid documented mirip dengan program lainnya untuk Linux/Unix. Secara umum, ada beberapa baris komentar yang berisi dokumentasi terkait yang bergunasebelum setiap perintah digunakan dalam file konfigurasi. Hal ini membuat lebih mudah untukmemahami dan mengkonfigurasi perintah, bahkan untuk orang yang tidak biasa mengkonfigurasiaplikasi yang menggunakan file-file konfigurasi. Biasanya, kita hanya perlu membaca komentar danmenggunakan opsi yang sesuai dan tersedia untuk perintah tertentu.Baris dimulai dengan karakter # diperlakukan sebagai komentar dan benar-benar diabaikan oleh squidketika parsing file konfigurasi. Selain itu, setiap baris kosong juga diabaikan. # Test comment. This and the above blank line will be ignored by Squid.Mari kita lihat potongan dari file konfigurasi documented (squid.conf.documented). # TAG: cache_effective_user # If you start Squid as root, it will change its effective/real # UID/GID to the user specified below. The default is to change # to UID of nobody. # see also; cache_effective_group #Default: # cache_effective_user nobodyDalam potongan sebelumnya, baris pertama menyebutkan nama direktif, yang dalam hal ini,cache_effective_user. Baris berikut tag line memberikan informasi singkat tentang penggunaanInstruksi. Baris terakhir berisi nilai default untuk direktif ini, jika tidak di tentukan.Jenis perintah Sekarang, mari kita lihat sekilas berbagai jenis perintah dan nilai-nilai yang dapatditentukan.Single valued directives Ini adalah perintah yang mengambil hanya satu nilai. Petunjuk-petunjuk ini tidak bolehdigunakan beberapa kali di file konfigurasi karena kejadian terakhir dari perintah akan menimpa semua
    • deklarasi sebelumnya. Sebagai contoh, logfile_rotate harus ditentukan hanya sekali. logfile_rotate 10 # Few lines containing other configuration directives logfile_rotate 5Dalam kasus ini, 5 logfile_rotate akan dibuat ketika kita memicu squid untuk memutar sebuah file log.Boolean-valued or toggle directives Ini juga petunjuk bernilai tunggal(single value), tetapi instruksi ini umumnya digunakan untukmengaktifkan atau menonaktifkan fitur. query_icmp on log_icp_queries off url_rewrite_bypass offKita menggunakan perintah ketika kita perlu mengubah perilaku default.Multi-valued directives Perintah(direktif) jenis ini secara umum mengambil satu atau lebih dari satu nilai. Kita dapatmenentukan semua nilai pada satu baris setelah perintah tersebut atau kita dapat menuliskannya padabeberapa baris dengan direktif berulang setiap waktu. Semua nilai-nilai untuk direktif yangdikumpulkan dari baris yang berbeda: hostname_aliases proxy.exmaple.com squid.example.comSecara opsional, kita dapat melewatinuliskan perintah diatas pada baris yang berbeda sebagai berikut: dns_nameservers proxy.example.com dns_nameservers squid.example.comKedua potongan kode sebelumnya akan menginstruksikan Squid untuk menggunakanproxy.example.com dan squid.example.com sebagai alias untuk nama host dari server proxy kita.Directives with time as a value Ada beberapa instruksi yang mengambil nilai-nilai dengan waktu sebagai unit. Squidmemahami kata-kata detik, menit, jam, dan seterusnya, dan ini dapat diakhiri dengan nilai-nilainumerik untuk menentukan nilai yang sebenarnya. Sebagai contoh: request_timeout 3 hours persistent_request_timeout 2 minutesDirectives with file or memory size as values Nilai yang dikirimkan untuk instruksi ini umumnya diakhiri dengan unit ukuran file ataumemori seperti byte, KB, MB, atau GB. Sebagai contoh: reply_body_max_size 10 MB
    • cache_mem 512 MB maximum_object_in_memory 8192 KBSebagaimana kita telah familiar dengan sintaks file konfigurasi sekarang, mari kita buka file squid.confdan belajar tentang direktif yang sering digunakan.Have a go hero – categorize the directives Buka file konfigurasi squid documented dan menemukan setidaknya tiga instruksi dari tiap jenisyang kita bahas sebelumnya. Jangan gunakan direktif yang sudah digunakan dalam contoh.HTTP port Direktif ini digunakan untuk menentukan port dimana squid akan mendengarkan untuk koneksiklien. Secara default adalah untuk mendengarkan pada port 3128 pada semua interface yang tersediapada mesin.Waktu untuk tindakan - pengaturan port HTTP Sekarang, kita akan melihat berbagai cara untuk mengatur port HTTP dalam file squid.conf: • Dalam bentuk yang paling sederhana, kita hanya menentukan port yang kita ingin Squid untuk mendengarkan: http_port 8080 • Kita juga dapat menentukan alamat IP dan kombinasi port yang kita ingin Squid untuk mendengarkan. Kita biasanya menggunakan pendekatan ini ketika kita memiliki beberapa interface pada mesin kita dan kita ingin Squid untuk mendengarkan hanya pada interface yang terhubung ke Local Area Network(LAN): http_port 192.0.2.25:3128 Hal ini akan menginstruksikan Squid untuk mendengarkan pada port 3128 pada interface dengan alamat IP 192.0.2.25. • Bentuk lain di mana kita dapat menentukan http_port adalah dengan menggunakan kombinasi nama host dan port: http_port myproxy.example.com:8080 Hostname akan diterjemahkan ke alamat IP oleh Squid dan kemudian Squid akan mendengarkan pada port 8080 pada alamat IP tertentu. Aspek lain dari direktif ini adalah bahwa, ia dapat mengambil beberapa nilai pada baris terpisah. Mari kita lihat apa yang akan dilakukan baris berikut: http_port 192.0.2.25:8080 http_port lan1.example.com:3128
    • http_port lan2.example.com:8081 Baris ini akan memicu Squid untuk mendengarkan pada tiga alamat IP yang berbeda dan kombinasi port. Pada umumnya membantu ketika kita memiliki klien di LAN yang berbeda, yang dikonfigurasi untuk menggunakan port yang berbeda untuk server proxy. • Dalam versi terbaru dari Squid, kita juga dapat menentukan modus operasi seperti intercept, tproxy, accel, dan sebagainya. Modus Intercept akan mendukung permintaan intersepsi tanpa perlu mengkonfigurasi mesin klien. Kita akan belajar lebih banyak tentang proxy server intersepsi pada Bab 10, squid dalam Mode Intercept. tproxy modus digunakan untuk mengaktifkan dukungan proxy Linux Transparan untuk koneksi outgoing spoofing menggunakan alamat IP klien. http_port 8080 tproxy “Kita harus memperhatikan bahwa mengaktifkan mode intercept atau tproxy menonaktifkan beberapa mekanisme autentikasi. Juga, IPv6 didukung untuk tproxy tetapi membutuhkan versi kernel yang sangat baru. IPv6 tidak didukung dalam modus intercept.” Accelerator modus diaktifkan menggunakan modus accel. Ini adalah ide yang baik untuk mendengarkan pada port 80, jika kita mengkonfigurasi Squid dalam mode akselerator. Mode ini tidak dapat digunakan seperti itu. Kita harus menentukan setidaknya satu website kita ingin mempercepat. Kita akan belajar lebih banyak tentang modus akselerator dalam Bab 9, squid dalam Mode Accelerator. http_port 80 accel defaultsite=website.example.com “Kita harus mengatur port HTTP hati-hati karena port standar seperti 3128 atau 8080 dapat menimbulkan risiko keamanan jika kita tidak dapat mengamankan port dengan benar. Jika kita tidak ingin menghabiskan waktu pada pengamanan port, kita dapat menggunakan nomor port acak di atas 10000.”Apa yang baru saja terjadi? Pada bagian ini, kita belajar tentang penggunaan dari salah satu arahan yang paling penting,yaitu, http_port. Kita telah belajar tentang berbagai cara di mana kita dapat menentukan port HTTP,tergantung pada kebutuhan. Kita dapat memaksa Squid untuk mendengarkan pada beberapa interfacedan port yang berbeda, pada antarmuka yang berbeda.Access control lists Access Control Lists (ACL) adalah elemen dasar untuk kontrol akses dan biasanya digunakan
    • dalam kombinasi dengan perintah lain seperti http_access, icp_access, dan sebagainya, untukmengontrol akses ke berbagai komponen Squid dan sumber daya web. ACL mengidentifikasi transaksiweb dan kemudian instruksi seperti http_access, cache, dan kemudian memutuskan apakah transaksitersebut harus diizinkan atau tidak. Juga, kita harus mencatat bahwa instruksi terkait dengan aksessumber daya umumnya berakhir dengan _access. Setiap definisi access control list harus memiliki nama dan jenis, diikuti oleh nilai-nilai untukjenis ACL tertentu: acl ACL_NAME ACL_TYPE value acl ACL_NAME ACL_TYPE "/path/to/filename"Nilai-nilai untuk setiap nama baik ACL dapat ditentukan langsung setelah ACL_TYPE atau Squiddapat membacanya dari sebuah file terpisah. Di sini kita harus mencatat bahwa nilai-nilai dalam fileharus ditulis sebagai salah satu nilai per baris.Time for action – constructing simple ACLsMari kita membangun sebuah daftar access control untuk nama domain example.com: acl example_site dstdomain example.comDalam kode ini, example_site adalah nama dari ACL dengan tipe dstdomain, yang mencerminkanbahwa nilai, example.com, adalah nama domain.Sekarang jika kita ingin membangun sebuah access control list yang dapat mencakup banyak situscontoh, kita memiliki tiga cara berikut kemungkinan untuk melakukannya: 1. Nilai pada satu baris: Kita dapat menentukan semua nilai yang mungkin pada satu baris: acl example_sites dstdomain example.com example.net example.org Ini bekerja dengan baik asalkan hanya ada beberapa nilai. 2. Nilai pada banyak baris: Dalam kasus daftar nilai-nilai yang kita ingin tentukan tumbuh secara signifikan, kita dapat membagi daftar dan menuliskan nilai pada beberapa baris: acl example_sites dstdomain example.com example.net acl example_sites dstdomain example.org 3. Nilai dari sebuah file: Jika kasus jumlah nilai yang ingin kita tentukan cukup besar, kita bisa menempatkan mereka dalam sebuah file yang didedikasikan dan kemudian menginstruksikan Squid untuk membaca nilai dari file tertentu: acl example_sites dstdomain /opt/squid/etc/example_sites.txt Kita dapat menempatkan file example_sites.txt dalam direktori yang sama dengan squid.conf sehingga mudah untuk menemukan. Isi dari file example_sites.txt harus sebagai berikut:
    • # This file can also have comments # Write one value (domain name) per line example.net example.org # Temporarily remove example.org from example_sites acl example.com Nama ACL adalah case-insensitive dan multi-nilai. Jadi kita dapat menggunakan mereka, beberapa kali, dan nilai-nilai akan agregat: acl NiCe_NaMe src 192.0.2.21 acl nIcE_nAmE src 192.0.2.23 Kode ini tidak mewakili dua access control list yang berbeda. Ini hanya satu ACL dengan dua alamat, yaitu, 192.0.2.21 dan 192.0.2.23, sebagai nilai-nilai. “Kita harus hati-hati perhatikan bahwa salah satu nama ACL tidak dapat digunakan dengan lebih dari satu jenis ACL. acl destination dstdomain example.com acl destination dst 192.0.2.24 Kode di atas tidak valid karena menggunakan nama tujuan ACL di dua ACL yang berbeda jenis.” Contoh-contoh sebelumnya dari access list sangat dasar dan sederhana hanya untuk permulaan. Kita akan mengeksplorasi daftar akses dan kontrol dalam Bab 4, Chapter 4, Getting Started with Squids Powerful ACLs and Access RulesApa yang baru saja terjadi? Kita baru saja belajar untuk membuat beberapa ACL dstdomain sederhana dari jenis ACL, yangmengidentifikasi domain tujuan dalam permintaan.Have a go hero – understanding the pre-defined ACLs Langsung ke bagian ACL di file konfigurasi Squid dan mencoba untuk memahami ACLdisediakan oleh Squid, secara default.Mengontrol akses ke server proxy Saat Squid berjalan pada server kita, dapat diakses dengan beberapa cara misalnya, melalui webbrowsing normal oleh pengguna akhir atau sebagai induk atau server proxy yang sibling oleh proxyserver tetangga. Squid menyediakan berbagai petunjuk untuk mengontrol akses ke sumber daya yangberbeda. Berikutnya, kita akan belajar tentang pemberian atau mencabut akses ke sumber daya yang
    • berbeda.HTTP akses kontrolACL hanya membantu dalam mengidentifikasi permintaan berdasarkan aturan yang berbeda. ACLtidak berguna dengan sendirinya, mereka harus dikombinasikan dengan perintah kontrol akses untukmembolehkan atau menolak akses ke berbagai sumber daya. http_access adalah salah satu direktifseperti yang digunakan untuk memberikan akses untuk melakukan transaksi HTTP melalui squid.Mari kita lihat sintaks dari http_access: http_access allow|deny [!]ACL_NAMEMari kita lihat sintaks dari http_access:Menggunakan http_access, kita bisa membolehkan atau menolak akses ke transaksi HTTP melaluisquid. Para ACL_NAME dalam kode menandakan permintaan yang mengakses harus diberikan ataudicabut. Jika tanda seru (!) Diawali dengan ACL_NAME, akses akan diberikan atau dicabut untuksemua permintaan yang tidak diidentifikasi olehACL_NAME.Saatnya untuk bertindak - ACL menggabungkan dan HTTP aksesMari kita lihat pada beberapa kasus untuk mengendalikan akses HTTP menggunakan ACL misalnya.Ketika kita memiliki beberapa aturan akses, squid cocok dengan sebuah permintaan tertentu terhadapmereka dari atas ke bawah dan terus melakukannya sampai tindakan tertentu (mengizinkan ataumenolak) ditentukan. Harap dicatat bahwa jika kita memiliki beberapa ACL dalam aturan aksestunggal, maka permintaan yang cocok dengan semua ACL dari kiri ke kanan, dan proses Squidberhenti aturan dengan cepat menemukan sebuah ACL yang tidak dapat mengidentifikasi permintaan.Aturan akses dengan hasil beberapa ACL dalam sebuah tindakan tertentu, hanya jika permintaandiidentifikasi oleh semua ACL yang digunakan dalam aturan. acl my_home_machine src 192.0.2.21 acl my_lab_machine src 198.51.100.86 http_access allow my_home_machine http_access allow my_lab_machineACL dan aturan akses dalam kode sebelumnya akan memungkinkan host 192.0.2.21 dan 198.51.100.86untuk mengakses server proxy. Aturan akses tersebut juga dapat ditulis sebagai: acl my_machines src 192.0.2.21 198.51.100.86 http_access allow my_machinesPerilaku default adalah untuk memungkinkan akses ke semua klien dalam jaringan area lokal danmenolak akses ke semua klien lain. Jika kita ingin klien (yang tidak dalam jaringan area lokal kita)
    • untuk dapat menggunakan server proxy kita, kita harus menambahkan aturan akses tambahan untukmemungkinkan mereka.Perilaku default dari kontrol akses HTTP sedikit rumit jika akses untuk klien tidak dapat diidentifikasioleh salah satu aturan akses. Dalam kasus tersebut, perilaku standar adalah untuk melakukankebalikan dari aturan akses terakhir. Jika aturan akses terakhir adalah menolak, maka tindakan akanmenjadi memungkinkan akses begitu pun sebaliknya. Oleh karena itu, untuk menghindari kebingunganatau perilaku yang tidak diinginkan, ini adalah praktek yang baik untuk menambahkan baris menolaksemua setelah aturan akses. http_access deny allSemua parameter elemen ACL khusus yang disediakan oleh Squid dan itu mewakili semua alamat IP.Baris ini akan menolak akses dari semuanya. Karena ini berjalan setelah semua aturan akses lainnya,permintaan dari klien yang tidak dikenal akan ditolak.Apa yang baru saja terjadi?Kita belajar untuk menggabungkan ACL dengan direktif http_access untuk membolehkan ataumenolak akses ke klien. Kita juga belajar bagaimana kelompok ACL yang berbeda dari jenis yangsama dan kemudian menggunakannya untuk mengontrol akses.HTTP reply accessBalasan HTTP adalah respon yang diterima dari server web sesuai dengan permintaan diinisiasi olehklien. Menggunakan direktif http_reply_access, kita dapat mengontrol akses terhadap jawaban yangditerima. Sintaks dari http_reply_access mirip dengan http_access. http_reply_access allow|deny [!]ACL_NAMEDirektif ini menimpa sebagian izin yang diberikan oleh http_access. Mari kita lihat contoh: acl my_machine src 192.0.2.21 http_access allow my_machine http_reply_access deny my_machineKita telah mengizinkan http_access ke host 192.0.2.21 tapi tetap saja tidak akan dapat mengakses situsdengan benar seperti itu tidak diperbolehkan untuk menerima balasan. Host hanya bisa membuatpermintaan ke server proxy untuk dokumen web tetapi tidak akan menerima jawaban apapun.Direktif ini biasanya digunakan untuk menolak akses untuk jenis konten seperti audio, video, dansebagainya, untuk mencegah pengguna dari mengakses konten media.Kita harus benar-benar berhati-hati saat menggunakan direktif http_reply_access. Ketika permintaandiijinkan oleh http_access, Squid akan menghubungi server asli, bahkan jika aturan dengan direktif
    • http_reply_access menyangkal respon. Hal ini dapat mengakibatkan masalah keamanan serius.Sebagai contoh, perhatikan klien menerima URL jahat, yang dapat mengirimkan informasi pentingpribadi seorang klien menggunakan metode HTTP POST. Jika permintaan klien melewati aturanhttp_access tetapi tidak mendapatkan respon ditolak oleh aturan http_reply_access, maka client akanberada di bawah mengira bahwa tidak ada yang terjadi namun hacker akan memiliki cerdik mencuriinformasi pribadi klien kita.ICP accessDirektif ini digunakan untuk mengontrol akses query dengan cache sekitar kita menggunakan InternetCache Protocol (ICP). Pada dasarnya memungkinkan atau menolak akses ke port ICP. Sintaks miripdengan http_access dan perilaku standar adalah untuk menolak semua permintaan ICP. icp_access allow|deny [!]ACL_NAMEHTCP accessMenggunakan direktif ini, kita dapat mengontrol apakah Squid akan merespon permintaan HTCPtertentu atau tidak. Sintaks mirip dengan http_access dan perilaku standar adalah untuk menolak semuapermintaan.HTCP CLR accessCache yang berdekatan dapat membuat permintaan untuk membersihkan atau menghapus objek cachedalam bentuk permintaan HTCP CLR. Direktif htcp_clr_access dapat digunakan untuk memberikanakses membersihkan cache hanya kepada rekan terpercaya.Miss accessDirektif ini digunakan untuk menentukan rekan-rekan atau klien cache semua dapat menggunakansebagai cache induk mereka. Ketika rekan cache atau klien mencoba untuk mengambil kontenmenggunakan server proxy kita, permintaan dapat mengakibatkan LEWATKAN (tidak ada dalamcache) atau HIT (dapat dipenuhi dari cache kita). Umumnya, sebuah LEWATKAN diambil oleh serverkita atas nama klien atau rekan. Jika kita tidak ingin klien kita atau rekan-rekan untuk mengambilkonten menggunakan proxy kita, maka kita dapat menggunakan direktif miss_access, seperti yangditunjukkan: acl bad_clients src 192.0.2.0/24 miss_access deny bad_clients miss_access allow allKode ini tidak akan mengizinkan bad_clients untuk menggunakan proxy server kita sebagai indukproxy. Perilaku default adalah untuk memungkinkan semua klien yang lewat aturan http_access untuk
    • menggunakan server proxy sebagai induk.Catatan:Tembolok (Inggris: cache) dalam teknologi informasi adalah mekanisme penyimpanan data sekunderberkecepatan tinggi yang digunakan untuk menyimpan data / instruksi yang sering diakses. Memoricache dimaksudkan untuk memberi kecepatan memori yang mendekati memori yang paling cepat yangbisa diperoleh, dan pada waktu yang sama menyediakan kapasitas memori yang besar dengan hargayang lebih murah dari jenis-jenis memori semikonduktor. Jika data yang diminta yang terkandungdalam cache (cache hit), permintaan ini dapat dilayani hanya dengan membaca cache, yang relatiflebih cepat. Jika tidak (cache miss), data harus menghitung ulang atau diambil dari lokasi penyimpananaslinya, yang relatif lebih lambat. Oleh karena itu, semakin besar jumlah permintaan yang dapatdilayani dari cache, semakin cepat kinerja sistem secara keseluruhanIdent lookup accessDirektif ini yang menentukan atau tidak Squid harus melakukan lookup username untuk permintaanklien TCP. acl ident_aware_hosts src 192.0.2.0/24 ident_lookup_access allow ident_aware_hosts ident_lookup_access deny allKode ini akan memungkinkan Squid untuk melakukan lookup ident hanya untuk ident_aware_hosts.Seting default tidak melakukan lookup ident bagi semua permintaan.Hanya TC/IP berbasis ACL didukung dengan direktif ini.Cache peers or neighborsCache teman atau tetangga adalah server proxy lain yang Squid proxy server kita dapat:Berbagi cache untuk mengurangi penggunaan bandwidth dan waktu aksesGunakan sebagai induk atau saudara server proxy untuk memenuhi permintaan klien Gunakan sebagai induk atau server proxy yang saudaraKita biasanya menggunakan lebih dari satu server proxy dalam jaringan yang sama untuk berbagibeban dari sebuah server tunggal untuk kinerja yang lebih baik. Server proxy dapat menggunakancache masing-masing untuk mengambil dokumen-dokumen web cache lokal untuk meningkatkankinerja. Mari kita lihat sekilas arahan yang diberikan oleh squid untuk komunikasi antara rekan-rekancache yang berbeda.Declaring cache peers (Mendeklarasikan Cache rekan-rekan)Direktif cache_peer digunakan untuk memberitahu squid tentang proxy server di sekitar kita. Mari kita
    • melihat sekilas pada sintaks untuk direktif ini:cache_peer HOSTNAME_OR_IP_ADDRESS TYPE PROXY_PORT ICP_PORT [OPTIONS]Dalam kode ini, HOSTNAME_OR_IP_ADDRESS adalah alamat host atau IP dari server proxy targetatau rekan cache. JENIS menentukan jenis server proxy, yang pada gilirannya, menentukan bagaimanaproxy server akan digunakan oleh server proxy kita. Server proxy lain dapat digunakan sebagai induk,sibling, atau anggota dari kelompok multicast.Saatnya untuk bertindak - menambahkan peer cacheMari kita menambahkan server proxy (parent.example.com) yang akan bertindak sebagai proxy keserver proxy induk kita: cache_peer parent.example.com parent 3128 3130 default proxy-only3130 adalah port ICP standar. Jika server proxy lain tidak menggunakan ICP port standar, kita harusmengubah kode yang sesuai. Kode ini akan mengarahkan Squid untuk menggunakanparent.example.com sebagai server proxy untuk memenuhi permintaan klien dalam kasus itu tidakmampu melakukannya sendiri.Opsi default menetapkan bahwa rekan Cache harus digunakan sebagai upaya terakhir dalam skenario dimana rekan-rekan lainnya tidak dapat dihubungi. Pilihan proxy-only menentukan bahwa kontendiambil menggunakan peer ini tidak harus di-cache lokal. Hal ini bermanfaat ketika kita tidak inginmereplikasi dokumen web cache, terutama ketika dua rekan-rekan yang terhubung dengan backbonebandwidth tinggi.Apa yang baru saja terjadi? Kita menambahkan parent.example.com sebagai rekan cache atau proxy induk ke server Squidproxy kita. Kita juga menggunakan pilihan proxy-only, yang berarti permintaan yang diambilmenggunakan rekan cache tidak akan di-cache di server proxy kita. Ada beberapa opsi lain di mana anda dapat menambahkan rekan cache, untuk berbagai tujuan,seperti, sebuah hirarki. Kita akan membahas rekan cache lebih rinci dalam Bab 8, Membangun HirarkiCache Squid.Membatasi Dengan cepat akses menuju domain menggunakan peer Jika kita telah menambahkan beberapa proxy server sebagai peer Cache ke server Squid kita,kita mungkin memiliki keinginan untuk memiliki sedikit kontrol atas permintaan diteruskan ke peers.Direktif cache_peer_domain adalah cara cepat untuk mencapai kontrol yang diinginkan. Sintaks daridirektif ini cukup sederhana: cache_peer_domain CACHE_PEER_HOSTNAME [!]DOMAIN1 [[!]DOMAIN2 ...]
    • Dalam kode tersebut, CACHE_PEER_HOSTNAME adalah alamat IP dari host atau peer cache yangdigunakan ketika mendeklarasikan sebagai peer cache, menggunakan direktif cache_peer. Kita dapatmenentukan sejumlah domain yang dapat diambil melalui peer cache. Menambahkan tanda seu (!)Sebagai awalan untuk nama domain akan mencegah penggunaan peer cache ini untuk domain tertentu.Katakanlah kita ingin menggunakan peer cache yang videoproxy.example.com untuk browsing portalvideo seperti Youtube, Netflix, Metacafe, dan sebagainya. cache_peer_domain videoproxy.example.com .youtube.com .netflix.com cache_peer_domain videoproxy.example.com .metacafe.comKedua baris diatas akan mengkonfigurasi Squid untuk menggunakan cache videoproxy.example.comcache peer untuk request ke domain youtube.com, netflix.com, dan metacafe.com saja. Permintaanuntuk domain lain tidak akan diteruskan menggunakan peer ini.