Senin, 21 Februari 2011

How To Set Up A Debian Linux Firewall

The Firewall Script Top of page

If you haven't already done so, please read the Proxy/NAT page. Much of the information for proxy servers and firewalls is the same and we won't be repeating it here. As a matter of fact, if you created the proxy server on the previous page, all you have to do is add a few more IPTABLES commands to enhance the firewalling functionality of the system.

All we're going to do is take the proxy server shell script from the Proxy/NAT page and add some more rules to it. Whereas the proxy script only had specific rules related to forwarding, the modified script will have all three types of rules (input, ouput, and forwarding). To set this script up you'll need to:

    Section A
  • Enter your internal interface designation (INTIF)
  • Enter your internal network address (INTNET)
  • Enter your internal interface IP address (INTIP)
  • Enter your external interface designation (EXTIF)
    Section B
  • If your external interface uses a static IP address
    • Uncomment the EXTIP line and enter your static IP address
    Section C
  • If your external interface uses a dynamic IP address
    • Uncomment the EXTIP line
    Optional
  • If you plan to simultaneously use your firewall system as a Web server uncomment the two OPTIONAL: lines (echo and iptables) in the INPUT section.
The comments in the script give a little more information on what values to enter and what lines need to be uncommented for your situation. If you want to have a Web server but don't feel comfortable using your firewall system to act as one, we show you how to set up the firewall to forward traffic to a separate Web server that's behind the firewall in the DMZ section below.



#!/bin/sh

#  IPTABLES  FIREWALL  script for the Linux 2.4 kernel.
#  This script is a derivitive of the script presented in
#  the IP Masquerade HOWTO page at:
#  www.tldp.org/HOWTO/IP-Masquerade-HOWTO/stronger-firewall-examples.html
#  It was simplified to coincide with the configuration of
#  the sample system presented in the Guides section of
#  www.aboutdebian.com
#
#  This script is presented as an example for testing ONLY
#  and should not be used on a production firewall server.
#
#    PLEASE SET THE USER VARIABLES
#    IN SECTIONS A AND B OR C

echo -e "\n\nSETTING UP IPTABLES FIREWALL..."


# === SECTION A
# -----------   FOR EVERYONE 

# SET THE INTERFACE DESIGNATION AND ADDRESS AND NETWORK ADDRESS
# FOR THE NIC CONNECTED TO YOUR _INTERNAL_ NETWORK
#   The default value below is for "eth0".  This value 
#   could also be "eth1" if you have TWO NICs in your system.
#   You can use the ifconfig command to list the interfaces
#   on your system.  The internal interface will likely have
#   have an address that is in one of the private IP address
#   ranges.
#       Note that this is an interface DESIGNATION - not
#       the IP address of the interface.

# Enter the designation for the Internal Interface's
INTIF="eth0"

# Enter the NETWORK address the Internal Interface is on
INTNET="192.168.1.0/24"

# Enter the IP address of the Internal Interface
INTIP="192.168.1.1/24"



# SET THE INTERFACE DESIGNATION FOR YOUR "EXTERNAL" (INTERNET) CONNECTION
#   The default value below is "ppp0" which is appropriate 
#   for a MODEM connection.
#   If you have two NICs in your system change this value
#   to "eth0" or "eth1" (whichever is opposite of the value
#   set for INTIF above).  This would be the NIC connected
#   to your cable or DSL modem (WITHOUT a cable/DSL router).
#       Note that this is an interface DESIGNATION - not
#       the IP address of the interface.
#   Enter the external interface's designation for the
#   EXTIF variable:

EXTIF="ppp0"


# ! ! ! ! !  Use ONLY Section B  *OR*  Section C depending on
#  ! ! ! !   the type of Internet connection you have.
# ! ! ! ! !  Uncomment ONLY ONE of the EXTIP statements.


# === SECTION B
# -----------   FOR THOSE WITH STATIC PUBLIC IP ADDRESSES

   # SET YOUR EXTERNAL IP ADDRESS
   #   If you specified a NIC (i.e. "eth0" or "eth1" for
   #   the external interface (EXTIF) variable above,
   #   AND if that external NIC is configured with a
   #   static, public IP address (assigned by your ISP),
   #   UNCOMMENT the following EXTIP line and enter the
   #   IP address for the EXTIP variable:

#EXTIP="your.static.IP.address"



# === SECTION C
# ----------   DIAL-UP MODEM, AND RESIDENTIAL CABLE-MODEM/DSL (Dynamic IP) USERS


# SET YOUR EXTERNAL INTERFACE FOR DYNAMIC IP ADDRESSING
#   If you get your IP address dynamically from SLIP, PPP,
#   BOOTP, or DHCP, UNCOMMENT the command below.
#   (No values have to be entered.)
#         Note that if you are uncommenting these lines then
#         the EXTIP line in Section B must be commented out.

#EXTIP="`/sbin/ifconfig ppp0 | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`"


# --------  No more variable setting beyond this point  --------


echo "Loading required stateful/NAT kernel modules..."

/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc

echo "    Enabling IP forwarding..."
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr

echo "    External interface: $EXTIF"
echo "       External interface IP address is: $EXTIP"
echo "    Loading firewall server rules..."

UNIVERSE="0.0.0.0/0"

# Clear any existing rules and setting default policy to DROP
iptables -P INPUT DROP
iptables -F INPUT 
iptables -P OUTPUT DROP
iptables -F OUTPUT 
iptables -P FORWARD DROP
iptables -F FORWARD 
iptables -F -t nat

# Flush the user chain.. if it exists
if [ "`iptables -L | grep drop-and-log-it`" ]; then
   iptables -F drop-and-log-it
fi

# Delete all User-specified chains
iptables -X

# Reset all IPTABLES counters
iptables -Z

# Creating a DROP chain
iptables -N drop-and-log-it
iptables -A drop-and-log-it -j LOG --log-level info 
iptables -A drop-and-log-it -j REJECT

echo -e "     - Loading INPUT rulesets"

#######################################################################
# INPUT: Incoming traffic from various interfaces.  All rulesets are 
#        already flushed and set to a default policy of DROP. 
#

# loopback interfaces are valid.
iptables -A INPUT -i lo -s $UNIVERSE -d $UNIVERSE -j ACCEPT

# local interface, local machines, going anywhere is valid
iptables -A INPUT -i $INTIF -s $INTNET -d $UNIVERSE -j ACCEPT

# remote interface, claiming to be local machines, IP spoofing, get lost
iptables -A INPUT -i $EXTIF -s $INTNET -d $UNIVERSE -j drop-and-log-it

# remote interface, any source, going to permanent PPP address is valid
iptables -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -j ACCEPT

# Allow any related traffic coming back to the MASQ server in
iptables -A INPUT -i $EXTIF -s $UNIVERSE -d $EXTIP -m state --state ESTABLISHED,RELATED -j ACCEPT


#  OPTIONAL:  Uncomment the following two commands if plan on running
#             an Apache Web site on the firewall server itself
#
#echo -e "      - Allowing EXTERNAL access to the WWW server"
#iptables -A INPUT -i $EXTIF -m state --state NEW,ESTABLISHED,RELATED -p tcp -s $UNIVERSE -d $EXTIP --dport 80 -j ACCEPT


# Catch all rule, all other incoming is denied and logged. 
iptables -A INPUT -s $UNIVERSE -d $UNIVERSE -j drop-and-log-it


echo -e "     - Loading OUTPUT rulesets"

#######################################################################
# OUTPUT: Outgoing traffic from various interfaces.  All rulesets are 
#         already flushed and set to a default policy of DROP. 
#

# loopback interface is valid.
iptables -A OUTPUT -o lo -s $UNIVERSE -d $UNIVERSE -j ACCEPT

# local interfaces, any source going to local net is valid
iptables -A OUTPUT -o $INTIF -s $EXTIP -d $INTNET -j ACCEPT

# local interface, any source going to local net is valid
iptables -A OUTPUT -o $INTIF -s $INTIP -d $INTNET -j ACCEPT

# outgoing to local net on remote interface, stuffed routing, deny
iptables -A OUTPUT -o $EXTIF -s $UNIVERSE -d $INTNET -j drop-and-log-it

# anything else outgoing on remote interface is valid
iptables -A OUTPUT -o $EXTIF -s $EXTIP -d $UNIVERSE -j ACCEPT

# Catch all rule, all other outgoing is denied and logged. 
iptables -A OUTPUT -s $UNIVERSE -d $UNIVERSE -j drop-and-log-it


echo -e "     - Loading FORWARD rulesets"

#######################################################################
# FORWARD: Enable Forwarding and thus IPMASQ
#          Allow all connections OUT and only existing/related IN

iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT

# Catch all rule, all other forwarding is denied and logged. 
iptables -A FORWARD -j drop-and-log-it

# Enable SNAT (MASQUERADE) functionality on $EXTIF
iptables -t nat -A POSTROUTING -o $EXTIF -j SNAT --to $EXTIP

echo -e "    Firewall server rule loading complete\n\n"


Not the 'drop-and-log-it' action in the 'catch all' rules. IPTABLES log messages are written to the /var/log/messages file and also to the 'console' (screen). These messages include the source and destintation address and interface information of dropped packets. This is useful in troubleshooting. If your firewall isn't acting the way you thought, you can see which packets are being dropped.

The UNIVERSE="0.0.0.0/0" line just means "any address".

If you read the script comments you saw there's a commented-out command that you can uncomment if you want to also have your firewall act as a Web server (not a real secure idea). But what if you wanted to set up a separate Web server system behind your firewall system? There's three statements that you have to add to the script. We show you how to do that in the Setting Up A DMZ section below. (You don't have to set up a full-blown DMZ to use these commands to have servers behind your firewall.)

As with the proxy script, you can simply copy/paste the above script into a text editor and make the necessary changes for your system, network, and type of external connection Then save it using the file name firewall.txt and anonymous FTP it to your Debian system.


Note that, also like the proxy script, you cannot set this script to run at boot up if you are using a dynamic IP-based modem connection for the external interface unless you add the commands to call the pon script.
Once the file is transferred, use the following commands to copy/rename it to the appropriate scripts directory and to make it executable for root:


cp /home/ftp/pub/incoming/firewall.txt /etc/init.d/firewall.sh
chmod 755 /etc/init.d/firewall.sh
Now all you have to do is connect to your ISP and enter the following command to run the script:


/etc/init.d/firewall.sh

Using IPTABLES sets up a "packet filtering firewall". It inspects packets for source or destination addresses, protocol (tcp, udp, or icmp), and port numbers (which indicate the type of Internet application being used such as 80 for http (Web browsing), 21 for ftp, 23 for telnet, etc.). There are other, more sophisticated types of firewalls. Those that examine the actual data in the packets to see if what's being transferred back and forth is a logical exchange of information are called "stateful" firewalls.

If you created a symbolic link on the Proxy/NAT page so the proxy script would run at bootup, you may want to delete it and recreate one for this script. The following two commands will take care of that:


rm /etc/rc2.d/S95proxy
ln -s /etc/init.d/firewall.sh /etc/rc2.d/S95firewall
If you added the commands to the proxy script to call the pon dialer you may want to add them to the firewall script also.

Konfigurasi NTP Server pada Debian 5 Lenny Server


#apt-get install ntp ntpdate ntp-server
This will install all the required packages for NTP
Configuring NTP Server
By Default main configuration file located at /etc/ntp.conf
Default configuration file looks like below
#/etc/ntp.conf, configuration for ntpd
driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# You do need to talk to an NTP server or two (or three).
#server ntp.your-provider.example
# pool.ntp.org maps to more than 300 low-stratum NTP servers.
# Your server will pick a different set every time it starts up.
# *** Please consider joining the pool! ***
# *** ***
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
# By default, exchange time with everybody, but don't allow configuration.
# See /usr/share/doc/ntp-doc/html/accopt.html for details.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1
# Clients from this (example!) subnet have unlimited access,
# but only if cryptographically authenticated
#restrict 192.168.123.0 mask 255.255.255.0 notrust
# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255
# If you want to listen to time broadcasts on your local subnet,
# de-comment the next lines. Please do this only if you trust everybody
# on the network!
#disable auth
#broadcastclient
Example Configuration
You need to add a number of servers to the server list. The Debian default is pool.ntp.org which works but isn't always amazingly accurate because it makes no attempt to use time servers near you. If you want more accuracy use the time servers either on your continent (for instance europe.pool.ntp.org) or your country (for instance uk.pool.ntp.org) one of your local country servers.The optimal number of servers to listen to is three but two will also give a good accuracy. If your ISP runs a time server for you it is worth including it in your server list as it will often be more accurate than the pooled servers and will help keep the load down on the pool.
I am using the following two servers for my configuration
server ntp0.pipex.net
server ntp1.pipex.net
Restrict the type of access you allow these servers. In this example the servers are not allowed to modify the run-time configuration or query your Linux NTP server.
restrict otherntp.server.org mask 255.255.255.255 nomodify notrap noquery
restrict ntp.research.gov mask 255.255.255.255 nomodify notrap noquery
The mask 255.255.255.255 statement is really a subnet mask limiting access to the single IP address of the remote NTP servers.
If this server is also going to provide time for other computers, such as PCs, other Linux servers and networking devices, then you'll have to define the networks from which this server will accept NTP synchronization requests. You do so with a modified restrict statement removing the noquery keyword to allow the network to query your NTP server. The syntax is:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
In this case the mask statement has been expanded to include all 255 possible IP addresses on the local network.
We also want to make sure that localhost (the universal IP address used to refer to a Linux server itself) has full access without any restricting keywords
restrict 127.0.0.1
Save the file and exit
Now you need to run the ntpdate command against your server
#ntpdate ntp0.pipex.net
restart NTP for these settings to take effect using the following command
#/etc/init.d/ntp restart
You can now configure other Linux hosts on your network to synchronize with this new master NTP server in a similar fashion.
Determining If NTP Is Synchronized Properly
Use the ntpq command to see the servers with which you are synchronized. It provided you with a list of configured time servers and the delay, offset and jitter that your server is experiencing with them. For correct synchronization, the delay and offset values should be non-zero and the jitter value should be under 100.
#ntpq -p
Output looks like below

A star by any one of the names means that the system clock is synchronising with the NTP clock. If you don't have a star (as in the example above) it means that the clocks are unreachable, already synchronized to this server or has an outrageous synchronization distance. Try running ntpdate (you will need to stop the ntp server) with your first ntp server as an argument. This will set your system clock fairly accuratly and mean that the server will be able to choose a clock to synchronize with.
Firewall Configuration for NTP
NTP servers communicate with one another using UDP with a destination port of 123. Unlike most UDP protocols, the source port isn't a high port (above 1023), but 123 also. You'll have to allow UDP traffic on source/destination port 123 between your server and the Stratum 1/2 server with which you are synchronizing.
NTP Client Configuration
If you want to configure ntp client you need to install the following packages
#apt-get install ntp ntp-simple ntpdate
Configuring NTP client
You need to edit the /etc/ntp.conf file you need to point the following settings to NTP server ip address
Server configuration settings
server 192.168.1.1
Restrict the type of access you allow these servers. In this example the servers are not allowed to modify the run-time configuration or query your Linux NTP server.
restrict default notrust nomodify nopeer
Localhost configuration
restrict 192.168.1.1
In this case the mask statement has been expanded to include all 255 possible IP addresses on the local network.
We also want to make sure that localhost (the universal IP address used to refer to a Linux server itself) has full access without any restricting keywords
restrict 127.0.0.1
Now you need to save and exit the file
run ntpdate command against your server
ntpdate 192.168.1.1
Restart ntp service using the following command
/etc/init.d/ntp restart
If you use the date command to change time, it is worth setting also the hardware clock to the correct time. Otherwise, the time is wrong after the next reboot, since the hardware clock keeps the time when power is turned off. When the clock in the operating system shows the correct time, set the hardware clock like this
#hwclock --systohc
se the ntpq command to see the servers with which you are synchronized
#ntpq
#ntpdc -p

Selasa, 08 Februari 2011

Cara Aman Mengotak-atik Setting BIOS PC

WELCOME TO MY BLOG YOUR SEARCHING MY FILE

Bila Windows adalah wajah ramah yang ditampilkan proyek-proyek komputer kepada dunia, maka BIOS adalah sisi gelap bawah sadar yang bertugas untuk berpikir. BIOS (Basic Input/Output System) adalah kode untuk fungsi-fungsi fundamental PC, seperti mengumpulkan ketukan tombol dari keyboard atau meletakkan pixel ke layar.

Program kecil ini bekerja di balik layar, menterjemahkan perintah Windows yang people-friendly menjadi angka nol dan satu yang hanya dimengerti oleh hardware Anda. Dan sebagaimana alam bawah sadar manusia, BIOS bisa berpengaruh sangat kuat pada tingkah laku dan kinerja PC Anda.

Terapi BIOS

Ketika teknologi baru muncul dan bug tua ditemukan, para pembuat komputer sering menerbitkan versi BIOS yang telah diupdate yang dapat mengatasi problem dan meningkatkan kinerja. Periksa situs Web pembuat PC Anda mengenai update terbaru. Namun pertama-tama pastikan Anda memiliki nomor versi terbaru BIOS; biasanya muncul sekilas di monitor Anda tepat setelah Anda menyalakan sistem. (Tekan tombol Pause bila kilasannya terlalu cepat.)

Mengupdate BIOS mudah, tetapi Anda harus melakukannya dengan hati-hati. Biasanya Anda perlu menjalankan program kecil dari floppy disk saja. Namun bila terjadi masalah, Anda hanya bisa meratapi motherboard yang tidak bisa lagi Anda gunakan. Jadi pastikan bahwa sebelumnya Anda telah membaca semua instruksi di file readme BIOS update. Dan selalu lakukan persis seperti apa yang petunjuk-petunjuk itu katakan.

Jika BIOS adalah bawah sadar PC, maka utiliti Setup merupakan fondasi untuk membangun karakter PC. Utiliti tersebut memiliki setting user untuk mengontrol harddisk, memori, kartu-kartu grafis, power saving, port USB, dan hardware lain. Program tersebut biasanya disertakan dalam disk, tetapi sekarang sudah tersimpan dalam chip ROM yang sama dengan BIOS PC.

Untuk membuka Setup, cukup tekan tombol (atau kombinasi tombol) yang disarankan kepada Anda untuk dimasukkan ketika PC melakukan start up. Masing-masing pembuat BIOS menggunakan tombol yang berbeda — Delete, F1, atau F10. Di layar Anda seharusnya memperlihatkan tombol atau tombol-tombol mana yang perlu ditekan untuk Setup tepat setelah layar menampilkan angka versi BIOS. Jika tidak, periksa dokumentasi sistem Anda.

Karena utiliti Setup dibuat oleh pembuat BIOS dan berada dalam chip yang sama dengan BIOS, ini sering disebut utiliti BIOS Setup. Dan karena utiliti ini menyimpan settingnya di chip clock/calendar — chip complementary metal-oxide semiconductor, atau CMOS — maka sering pula disebut sebagai program Setup CMOS. (Chip CMOS memiliki batere sendiri untuk memelihara setting chip sekalipun PC dimatikan.)

Utiliti Setup memiliki setting hardware yang berlimpah, mulai dari yang terlihat nyata, seperti setting waktu di clock PC, sampai yang tidak kelihatan, seperti jumlah “wait states” yang mengkoordinasi aliran data antara RAM dan CPU.

Pertama, Jangan Merusak

Ketika bekerja dengan utiliti Setup PC, gunakan petunjuk praktis yang sama diajarkan pada awal bedah otak: Bila Anda tidak tahu apa yang dilakukan sesuatu, jangan berurusan dengannya. Kecerobohan mengubah wait state atau setting lainnya dapat menurunkan kinerja atau bahkan menyebabkan sistem mengalami crash.

Jika Anda mengira Anda telah tanpa sengaja mengubah setting ketika sedang bekerja dengan utiliti Setup, segera berhenti dan mulailah dari awal lagi. Semua utiliti Setup memiliki pilihan menu yang memungkinkan Anda keluar tanpa menyimpan perubahan. Anda mungkin melihat pula pilihan untuk mengembalikan setting ke nilai defaultnya. Abaikan opsi ini: Bila vendor PC Anda telah melakukan fine-tune terhadap sistem, setting default si pembuat BIOS mungkin membuatnya menjadi tidak optimal.

Backup setting-setting Anda sebelum membuat perubahan. Bila batere yang menghidupi chip clock/calendar mati, setting-setting Anda mati bersamanya. Bila utiliti Setup Anda mempunyai opsi backup, gunakanlah. Jika tidak, catat setting di kertas — atau tekan key Print Screen untuk masing-masing layar di utiliti tersebut (tetapi ini tidak selalu berfungsi).

Apa yang Dicari

Sebelum mulai, baca sampai selesai user manual yang menyertai PC atau motherboard. Banyak manual menawarkan penjelasan singkat masing-masing setting. Setting bervariasi menurut manufaktur dan model, namun Anda seharusnya menemukan ini di hampir semua PC:

Optimalisasi dan kompatibilitas setting: Utiliti Setup sering berisi setting-setting untuk kinerja hardware. Kadang-kadang ini tidak diatur secara optimal di pabrik, utamanya pada PC yang dibuat berdasar pesanan atau generik. Scan seluruh program Setup. Setting modus AGP dan setting DMA merupakan kandidat utama untuk dioptimalisasi. Setting-setting ini juga berguna untuk troubleshooting hardware yang baru diinstall: Menonaktifkan atau menurunkan setting yang diberikan bisa memicu ketidak-kompatibelan kartu grafis, CD-ROM drive, atau peranti lain yang terjadi sebelumnya.

Setting harddisk: Anda akan menemukan tabel, biasanya pada halaman kedua atau Advanced dan dengan judul “IDE”, yang mendaftar semua parameter konfigurasi untuk EIDE harddisk yang secara langsung terkoneksi ke motherboard. (SCSI harddisk dan EIDE harddisk yang tidak punya kartu ekspansi akan menjalankan program konfigurasinya sendiri.) Sementara kebanyakan PC yang dibuat selama beberapa tahun terakhir dapat dengan mulus mendeteksi dan mengkonfigurasi harddisk baru, sebagian memerlukan instalasi manual. Baca your dokumentasi disk baru Anda mengenai prosedur tersebut dan gunakan opsi-opsi on-screen untuk membuat perubahan di tabel ini.

Floppy disk: Opsi ini memungkinkan Anda menyetel tipe floppy drive (3,5 inci, 1,44MB, sebagai contoh) yang telah Anda tetapkan sebagai drive A: atau B: Anda. Ini merupakan setting yang perlu diperiksa jika Anda mengalami problem floppy-drive. Sebagian utiliti Setup mempunyai setting sekuriti `Floppy Read only` tersendiri yang mencegah data Anda dituliskan ke floppy disk dan dihapus dari PC.

Urutan booting: Setting ini menentukan mana yang pertama kali dilihat PC ketika instruksi boot-up. Contoh: `A: kemudian C:`, `C: kemudian A:`, atau `C:, Zip drive`. Untuk booting dari CD-ROM drive, Zip, atau LS-120, Anda sepertinya harus mengubah setting ini.

Proteksi password: Bila ini diaktifkan, BIOS akan menanyakan password sebelum booting up. Sangat berhati-hatilah dengan yang satu ini: Bila melupakan password, Anda terpaksa mereset jumper motherboard atau mencopot batere CMOS, yang akan menyebabkan Anda kehilangan semua setting, atau Anda bahkan harus membeli motherboard baru.

Setting IRQ: Bila Anda butuh setting IRQ ekstra untuk hardware baru, Anda perlu membebaskan satu IRQ dengan menonaktifkan feature yang tidak digunakan, seperti port serial, port paralel, atau port USB.

Setting port paralel: Pilih modus yang paling cocok untuk hardware. Modus ECP atau EPP dapat sangat mempercepat printer dan peranti lain.

Kipas RPM dan temperatur CPU: Dua parameter kritis ini sebaiknya dicentang secara periodik untuk memastikan mereka berfungsi dengan benar.

Bantuan Hardware Offline
Internet sangat bagus untuk menemukan jawaban atas pertanyaan-pertanyaan hardware, tetapi menyelidiki situs-situs Web untuk mendapatkan nasihat yang bisa dipercaya cukup menghabiskan waktu. Kadangkala cara tercepat untuk mendapat jawaban adalah cara gaya kuno: dengan buku referensi yang baik. Di bawah ini adalah dua yang terbaik.

Upgrading and Repairing PCs ( www.upgradingandrepairingpcs.com) karya Scott Mueller (US$ 60) merupakan buku klasik yang mencakup segala sesuatu yang Anda butuhkan tentang PC dan hal-hal yang mungkin Anda tidak ketahui. Bila Anda mencari referensi menyeluruh, keluasan dan kedalaman judul ini belum terkalahkan ( www.quepublishing.com).

PC Hardware in a Nutshell ( www.oreilly.com/catalog/pchardnut2) oleh Barbara Fritchman Thompson dan Robert Bruce Thompson (US$ 40) merupakan panduan praktis yang bagus untuk membeli dan menggunakan PC. Dimuati dengan nasehat bergaya ringkas yang secara jelas memberikan informasi yang Anda perlukan, tanpa Anda harus mencari-carinya (www.oreilly.com).

Drive Kotor

Benah-benah di akhir minggu meninggalkan lapisan debu yang menutupi seluruh kantor, dan Anda kuaatir CD-RW drive Anda mungkin kotor. Bagaimana sebaiknya membersihkannya?

Mungkin sebaiknya tidak. Gosokan paling halus sekalipun dapat menghambat laser sensitif pada drive, jadi bila tidak rusak, jangan bersihkan. Bila kinerja menurun, atau bila drive Anda tidak mampu membaca medianya, coba beberapa semprotan yang diarahkan dengan baik dari kaleng semprotan udara — tersedia dengan harga kurang dari US$ 10 di toko-toko komputer. Pastikan menggunakan sedotan plastik yang menyertai kaleng. Dan jaga agar menyemprot pelan-pelan; desakan semprotan yang berlebihan dapat menyebabkan kondensasi yang menumpuk uap lembab pada interior drive. Sebelum menggunakan kit pembersih CD-RW seperti US$ 15 Drive Guardian buatan Kensington ( www.kensington.com/html/1080.html), carilah rekomendasi dari pembuat drive; sebagian merekomendasikannya, tetapi yang lainnya tidak.

Menghentikan Program Tua

Beberapa program software yang benar-benar tua hanya tidak sanggup berfungsi pada PC kecepatan tinggi sekarang ini. Jika Anda memiliki program kuno yang mengunci atau memunculkan pesan error setiap kali Anda hendak menjalankannya, cobalah CPUKiller; utiliti gratis dan mudah digunakan, yang memungkinkan Anda memperlambat PC sesedikit atau sebanyak Anda inginkan. Pergilah ke www.cpukiller.com untuk mendownloadnya.

Sumber : Ilmukomputer.com

Apa Itu Squid

I. Squid adalah high-performance proxy caching server untuk web klien, yang sudah mendukung FTP, ghoper, dan HTTP data object. Berbeda dengan software caching yang lama, squid menangani semua permintaan tunggal (single), non-blocking, I/O-driven proses.

Squid menyimpan meta data dan terutama hot-object yang di simpan di RAM, menyimpan DNS lookups, mendukung non-blocking DNS lookups, dan implementasi negative-caching jika permintaan gagal.

Squid mendukung SSL, access kontrol yang banyak, dan full request logging. Dengan menggunakan lightweight internet cache protokol, squid cache dapat dibuat dalam suatu hirarki atau mesh untuk meningkatkan penghematan bandwidth.

Squid terdiri dari program server utama squid, sebuah Domain Name System lookup (program dnsserver), beberapa program tambahan untuk permintaan menulis ulang dan melakukan authentication, dan beberapa tools management client. Ketika squid dijalankan, itu akan menambah jumlah proses dnsserver, masing-masing bertugas sendiri-sendiri, blocking Domain Name System (DNS) lookup. Ini akan mengurangi waktu tunggu DNS lookups.

II. Internet Object caching adalah suatu cara untuk menyimpan hasil permintaan internet-object. (seperti, data yang ada dari HTTP, FTP, dan ghoper protokol) untuk membuat sistem dekat dengan permintaan daripada ke sumber aslinya. Web browser dapat menggunakan lokal squid cache sebagai proxy HTTP server, ini akan mengurangi waktu akses seperti halnya penghematan bandwidth.

III. Instalasi Squid
Paket-paket yang dibutuhkan :

- compiler gcc dan tool pendukung compiler (development program)
- malloc, program memori utilisasi
- Squid source program (tarball)

Download paket dan install :

root@proxy root# mkdir /download
root@proxy download# cd /download
root@proxy download# wget http://www.squid-cache.org/Versions/v2/2.5/squid-2.5.STABLE10.tar.gz
root@proxy download# wget ftp://ftp.gnu.org/gnu/malloc.tar.gz

Sebelum installasi squid, pastikan program squid lama anda yang mungkin sudah terinstall di sistem untuk di uninstall dulu.

root@proxy root# rpm -qa |grep squid
squid-2.5STABLE6
root@proxy root# rpm -e squid-2.5STABLE6

Installasi semua paket squid :

root@proxy download# tar xzf malloc.tar.gz
root@proxy download# cd malloc
root@proxy malloc# vi Makefile
—-semula—–
# Use this on System V.
#CPPFLAGS = -DUSG
—————

diubah —

—-menjadi—–
# Use this on System V.
CPPFLAGS = -DUSG
—————

root@proxy malloc# make
root@proxy malloc# cp libmalloc.a /usr/lib/libgnumalloc.a
root@proxy malloc# cp malloc.h /usr/include/gnumalloc.h

Tunning system sebelum installasi squid (ini maksudnya, untuk mengaktifkan langsung pada saat kompile squid), tujuannya untuk menaikkan File Deskriptor (FD) , memperbesar proses penggunaan file :

root@proxy malloc# vi /etc/security/limits.conf
* Soft nofile 2048
* Hard nofile 2048
root@proxy malloc# ulimit -HSn 2048
root@proxy malloc# ulimit -n
4096

Installasi Core Squid program :

root@proxy malloc# cd /download
root@proxy download# tar squid-2.5.STABLE10.tar.gz
root@proxy download# cd squid-2.5.STABLE10
root@proxy squid-2.5.STABLE10# ./configure \
–prefix=/usr –exec-prefix=/usr –bindir=/usr/bin \
–sbindir=/usr/sbin –libexecdir=/usr/libexec \
–datadir=/usr/share/squid –sysconfdir=/etc/squid \
–sharedstatedir=/usr/com –localstatedir=/var \
–libdir=/usr/lib –includedir=/usr/include \
–infodir=/usr/share/info –mandir=/usr/share/man \
–libexecdir=/usr/lib/squid \
–enable-gnuregex \
–enable-async-io=24 \
–with-aufs-threads=24 \
–with-pthreads \
–with-aio \
–with-dl \
–enable-storeio=aufs \
–enable-removal-policies=heap \
–enable-icmp \
–enable-delay-pools \
–disable-wccp \
–enable-snmp \
–enable-ssl \
–enable-cache-digests \
–enable-default-err-languages=English \
–enable-err-languages=English \
–enable-poll \
–enable-linux-netfilter \
–disable-ident-lookups \
–disable-hostname-checks \
–enable-underscores \
–enable-cachemgr-hostname=localhost

Catatan: 7 baris paling atas adalah penyesuaian konfigurasi dari sistem yang ada di redhat/fedora. dan untuk opsi-opsi silahkan kompile jika dibutuhkan, kalau tidak dibutuhkan jangan dimasukkan pada saat kompile.

root@proxy squid-2.5.STABLE10# mkdir /var/log/squid
root@proxy squid-2.5.STABLE10# chown -R squid:squid /var/log/squid
root@proxy squid-2.5.STABLE10# make all && make install
root@proxy squid-2.5.STABLE10# strip /usr/lib/squid/*
root@proxy squid-2.5.STABLE10# strip /usr/sbin/squid

3. Konfigurasi dan Optimasi squid

Konfigurasi squid :

http_port 3128
icp_port 3130
ssl_unclean_shutdown on
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 6 MB
cache_swap_low 98
cache_swap_high 99
maximum_object_size 64 MB
maximum_object_size_in_memory 16 KB
ipcache_size 8192
ipcache_low 98
ipcache_high 99
fqdncache_size 8192
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_dir aufs /cache01 5000 10 256
cache_access_log /var/log/squid/access.log
#cache_access_log none
cache_log /var/log/squid/cache.log
cache_store_log none
emulate_httpd_log off
pid_filename /var/run/squid.pid
mime_table /etc/squid/mime.conf
log_fqdn off
memory_pools off
client_netmask 255.255.255.255
ftp_user squid@domainku.web
ftp_list_width 32
ftp_passive on
ftp_sanitycheck on
refresh_pattern ^ftp: 40320 95% 241920 reload-into-ims
refresh_pattern . 120 50% 14400
quick_abort_min 0
quick_abort_max 0
quick_abort_pct 98
negative_ttl 2 minutes
half_closed_clients off
read_timeout 15 minutes
client_lifetime 2 hours
pconn_timeout 60 seconds
request_timeout 1 minutes
shutdown_lifetime 10 seconds
positive_dns_ttl 60 seconds
negative_dns_ttl 30 seconds
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1
acl lan src 192.168.0.0/24 192.168.1.0/24
acl to_localhost dst 127.0.0.0/8
acl PURGE method PURGE
acl POST method POST
acl IpAddressOnly url_regex ^http://[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/$
acl IpAddressOnly url_regex ^http://[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$
acl GETONLY method GET
acl VIRUS urlpath_regex winnt/system32/cmd.exe?
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl snmppublic snmp_community public
# Hotmail workaround
header_access Accept-Encoding deny all
http_access allow localhost
http_access allow lan
http_access allow manager lan
http_access allow PURGE localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny PURGE
http_access deny VIRUS
http_access deny all
http_reply_access allow all
icp_access allow lan
icp_access deny all
miss_access allow lan
miss_access deny all
cachemgr_passwd passwordku all
cache_mgr proxyadmin@domainku.web
cache_effective_user squid
cache_effective_group squid
visible_hostname proxies3.domainku.web.id
unique_hostname proxy.domainku.web.id
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
httpd_accel_no_pmtu_disc on
logfile_rotate 7
forwarded_for on
icp_hit_stale on
log_icp_queries off
query_icmp on
buffered_logs off
strip_query_terms off
icon_directory /usr/share/squid/icons
error_directory /usr/share/squid/errors/English
store_avg_object_size 13 KB
store_objects_per_bucket 10
client_db on
snmp_port 3401
snmp_access allow snmppublic lan
snmp_access deny all
coredump_dir /cache01
reload_into_ims on
pipeline_prefetch on
ie_refresh on
vary_ignore_expire on

Tips Optimasi Squid :

Jika ada beberapa situs terdekat yg mungkin hanya 1 hop, di-by pass saja supaya kerja Squid benar-benar utk yg jaraknya jauh (hopnya banyak).

hierarchy_stoplist cgi-bin ? localhost domain-anda.com isp-anda.com domainku.web.id
acl QUERY urlpath_regex cgi-bin \? localhost domain-anda.com isp-anda.com domainku.web.id
no_cache deny QUERY

Dari pengalaman dan rekomendasi 6 MB akan lebih cepat dan biarkan Squid bekerja lebih keras lagi.

cache_mem 6 MB
cache_swap_low 98
cache_swap_high 99

Maksimum obyek di hardisk dan di memori diupayakan lebih besar shg byte hit lebih tinggi (bisa dinaikkan lagi jika hardisk berkecepatan tinggi dan jumlahnya banyak dg memori yg lebih besar pula).

maximum_object_size 128 MB
maximum_object_size_in_memory 32 KB

Jika memori 512 MB atau lebih besar silahkan cache diperbesar.

ipcache_size 2048
ipcache_low 98
ipcache_high 99

Untuk heap replacement saya memakai LFUDA utk cache hardisk dan GDSF utk cache memori dg alasan di hardisk diprioritaskan obyek yg ukuran besar-besar dan di memori obyek yg ukurannya kecil-kecil utk disimpan.

cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF

Idealnya ruang di hardisk yg anda pakai hanya sekitar 70% dari total krn semakin penuh Squid akan semakin pelan mencari tempat kosong, mis. utk cache 1 GB maka yg dipakai hanya 700MB (jangan 1GB dipakai semuanya). Jangan lupa hanya 1 direktori per drive krn faktor penghambat adalah kecepatan spindle hardisk lho, bukan terus dg memperbanyak direktori pada 1 hd akan mempercepat (hd orde milidetik, memori orde nanodetik). Jadi mending hardisknya banyak tapi ukurannya kecil-kecil daripada hanya 1 berukuran besar. Terus jika OS-nya Linux pakailah FS-nya Reiser (versi 4 tercepat) dg metode akses aufs. Diskd optimal di FreeBSD tetapi tidak di Linux lho. Jangan lupa di partisi tsb noatime dan notail diaktifkan spy tidak menambah ekstra write saat menulis atau membaca. Intinya hardisk adalah faktor penghambat terbesar di Squid.

saran kira2 70% dari 16GB

cache_dir aufs /cachez 12000 28 256

atau (utk ruang 4GB-an per hardisk)

cache_dir aufs /cachehardisk1 3000 8 256
cache_dir aufs /cachehardisk2 3000 8 256
cache_dir aufs /cachehardisk3 3000 8 256
cache_dir aufs /cachehardisk4 3000 8 256

Logging untuk info yg vital saja dan diusahakan file-file log ada di hardisk tersendiri spy tidak mempengaruhi kecepatan direktori cache utamanya.

log_fqdn off
log_icp_queries off
cache_log none
cache_store_log none

Dengan memaksa sedikit supaya akses obyek lebih intensif di lokal Squid dan waktu simpan ditambah sebelum proses validasi terjadi (mis. validasi terjadi per 3 jam dg penyimpanan obyek terlama 3 bulan, utk ftp bisa lebih lama lagi).

refresh_pattern ^ftp: 10080 95% 241920 reload-into-ims override-lastmod
refresh_pattern . 180 95% 120960 reload-into-ims override-lastmod

Toleransi aborting dihilangkan saja.

quick_abort_min 0
quick_abort_max 0
quick_abort_pct 98

Mematikan dan merekonfigurasi Squid jangan terlalu cepat krn bisa mengakibatkan integritas file kacau.

shutdown_lifetime 10 seconds

Tidak perlu reservasi memori.

memory_pools off

Penting utk relasi dg sibling dg mengukur respons-nya via ICP dan ICMP.

icp_hit_stale on
query_icmp on

Penting utk meningkatkan refresh pattern lebih lanjut.

reload_into_ims on
pipeline_prefetch on
vary_ignore_expire on

Sekali lagi Squid diperlukan utk mengambil yg jaraknya jauh, jarak dekat langsung saja

acl local-dst dst semuaalamatlokal semuaalamatipygdekat
acl local-domain dstdomain localhost domain-anda.com isp-anda.com domainku.web.id

always_direct allow localhost local-dst local-domain
always_direct deny all

Sys-V init squid :

root@proxy root# vi /etc/init.d/squid

#!/bin/bash
# squid This shell script takes care of starting and stopping
# Squid Internet Object Cache
#
# chkconfig: – 90 25
# description: Squid – Internet Object Cache. Internet object caching is \
# a way to store requested Internet objects (i.e., data available \
# via the HTTP, FTP, and gopher protocols) on a system closer to the \
# requesting site than to the source. Web browsers can then use the \
# local Squid cache as a proxy HTTP server, reducing access time as \
# well as bandwidth consumption.
# pidfile: /var/run/squid.pid
# config: /etc/squid/squid.conf

PATH=/usr/bin:/sbin:/bin:/usr/sbin
export PATH

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = “no” ] && exit 0

# check if the squid conf file is present
[ -f /etc/squid/squid.conf ] || exit 0

if [ -f /etc/sysconfig/squid ]; then
. /etc/sysconfig/squid
fi

# don’t raise an error if the config file is incomplete
# set defaults instead:
SQUID_OPTS=${SQUID_OPTS:-”-DY”}
SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}

# determine the name of the squid binary
[ -f /usr/sbin/squid ] && SQUID=squid
[ -z “$SQUID” ] && exit 0

prog=”$SQUID”

# determine which one is the cache_swap directory
CACHE_SWAP=`sed -e ’s/#.*//g’ /etc/squid/squid.conf | \
grep cache_dir | awk ‘{ print $3 }’`
[ -z “$CACHE_SWAP” ]

RETVAL=0

start() {
for adir in $CACHE_SWAP; do
if [ ! -d $adir/00 ]; then
echo -n “init_cache_dir $adir… “
$SQUID -z -F -D >> /var/log/squid/squid.out 2>&1
fi
done
echo -n $”Starting $prog: “
ulimit -HSn 2048
/bin/nice –20 $SQUID $SQUID_OPTS >> /var/log/squid/squid.out 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
timeout=0;
while : ; do
[ ! -f /var/run/squid.pid ] || break
if [ $timeout -ge $SQUID_PIDFILE_TIMEOUT ]; then
RETVAL=1
break
fi
sleep 1 && echo -n “.”
timeout=$((timeout+1))
done
fi
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID
[ $RETVAL -eq 0 ] && echo_success
[ $RETVAL -ne 0 ] && echo_failure
echo
return $RETVAL
}

stop() {
echo -n $”Stopping $prog: “
$SQUID -k check >> /var/log/squid/squid.out 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
$SQUID -k shutdown &
rm -f /var/lock/subsys/$SQUID
timeout=0
while : ; do
[ -f /var/run/squid.pid ] || break
if [ $timeout -ge $SQUID_SHUTDOWN_TIMEOUT ]; then
echo
return 1
fi
sleep 2 && echo -n “.”
timeout=$((timeout+2))
done
echo_success
echo
else
echo_failure
echo
fi
return $RETVAL
}

reload() {
$SQUID $SQUID_OPTS -k reconfigure
}

restart() {
stop
start
}

condrestart() {
[ -e /var/lock/subsys/squid ] && restart || :
}

rhstatus() {
status $SQUID
$SQUID -k check
}

probe() {
return 0
}

case “$1″ in
start)
start
;;

stop)
stop
;;

reload)
reload
;;

restart)
restart
;;

condrestart)
condrestart
;;

status)
rhstatus
;;

probe)
exit 0
;;

*)
echo $”Usage: $0 {start|stop|status|reload|restart|condrestart}”
exit 1
esac

exit $?

4. Paramater lain Tunning System Squid :

Edit di /etc/sysctl.conf, dan tambahkan di bawah ini:

root@proxy root# vi /etc/sysctl.conf
# add port outgoing
net.ipv4.ip_local_port_range = 1024 32768

Tunning di fstab :

edit di /etc/fstab, harusnya seperti ini yg harus sama yg di ubah (biasanya ada tambahan noatime/notail, untuk jenis mounting yg lain biarkan saja, jangan diubah):

/dev/hda1 / reiserfs defaults,noatime 1 1
/dev/hda6 /boot reiserfs defaults,noatime 1 2
/dev/hda7 /var reiserfs defaults,noatime 1 2
/dev/hda8 /usr reiserfs defaults,noatime 1 2
/dev/hda9 /home reiserfs defaults,noatime 1 2
/dev/sda1 /cache01 reiserfs noatime,notail 0 0
/dev/sda2 /cache02 reiserfs noatime,notail 0 0
/dev/sdb1 /cache03 reiserfs noatime,notail 0 0
/dev/sdb2 /cache04 reiserfs noatime,notail 0 0

Check yg melakukan koneksi ke squid :

root@proxy root# tail -f /var/log/squid/access.log

source:
http://forum.linux.or.id (mas dani, fish, fai, firewaxx, dan semua barudak forum.linux.or.id)

http://www.squid-cache.org/Doc/FAQ/FAQ.html

http://aa.cakralintas.net.id/

Apa Itu Squid Pada Jaringan Internet

Squid adalah high-performance proxy caching server untuk web klien, yang sudah mendukung FTP, ghoper, dan HTTP data object. Berbeda dengan software caching yang lama, squid menangani semua permintaan tunggal (single), non-blocking, I/O-driven proses.
Squid menyimpan meta data dan terutama hot-object yang di simpan di RAM, menyimpan DNS lookups, mendukung non-blocking DNS lookups, dan implementasi negative-caching jika permintaan gagal.
Squid mendukung SSL, access kontrol yang banyak, dan full request logging. Dengan menggunakan lightweight internet cache protokol, squid cache dapat dibuat dalam suatu hirarki atau mesh untuk meningkatkan penghematan bandwidth.





Squid terdiri dari program server utama squid, sebuah Domain Name System lookup (program dnsserver), beberapa program tambahan untuk permintaan menulis ulang dan melakukan authentication, dan beberapa tools management client. Ketika squid dijalankan, itu akan menambah jumlah proses dnsserver, masing-masing bertugas sendiri-sendiri, blocking Domain Name System (DNS) lookup. Ini akan mengurangi waktu tunggu DNS lookups.
II. Internet Object caching adalah suatu cara untuk menyimpan hasil permintaan internet-object. (seperti, data yang ada dari HTTP, FTP, dan ghoper protokol) untuk membuat sistem dekat dengan permintaan daripada ke sumber aslinya. Web browser dapat menggunakan lokal squid cache sebagai proxy HTTP server, ini akan mengurangi waktu akses seperti halnya penghematan bandwidth.

Squid adalah program proxy/cache server. Squid dikenal sebagai program proxy dan cache server yang handal.

Proxy server memiliki mekanisme penyimpanan obyek-obyek yang sudah pernah diminta dari server-server di internet, biasa disebut caching.
Karena itu, proxy server yang juga melakukan proses caching juga biasa disebut cache server.

Mekanisme caching akan menyimpan obyek-obyek yang merupakan hasil permintaan dari dari para pengguna, yang didapat dari internet.
Karena proxy server bertindak sebagai perantara, maka proxy server mendapatkan obyek-obyek tersebut lebih dahulu dari sumbernya untuk kemudian diteruskan kepada peminta yang sesungguhnya.
Dalam proses tersebut, proxy server juga sekaligus menyimpan obyek-obyek tersebut untuk dirinya sendiri dalam ruang disk yang disediakan (cache).

Dengan demikian,
bila suatu saat ada pengguna yang meminta suatu layanan ke internet yang mengandung obyek-obyek yang sama dengan yang sudah pernah diminta sebelumnya, yaitu yang sudah ada dalam cache,
maka proxy server akan dapat langsung memberikan obyek dari cache yang diminta kepada pengguna,
tanpa harus meminta ulang ke server aslinya di internet.
Bila permintaan tersebut tidak dapat ditemukan dalam cache di proxy server, baru kemudian proxy server meneruskan atau memintakannya ke server aslinya di internet.

 
Design by Free Wordpress Themes | Bloggerized by Lasantha - Premium Blogger Templates