Install Squid Proxy Server on CentOS / Redhat enterprise Linux 5
I've already wrote about setting up a Linux transparent squid proxy system. However I'm getting lots of questions about Squid basic installation and configuration:
How do I install Squid Proxy server on CentOS 5 Liinux server?
Sure Squid server is a popular open source GPLd proxy and web cache. It has a variety of uses, from speeding up a web server by caching repeated requests, to caching web, name server query , and other network lookups for a group of people sharing network resources. It is primarily designed to run on Linux / Unix-like systems. Squid is a high-performance proxy caching server for Web clients, supporting FTP, gopher, and HTTP data objects. Unlike traditional caching software, Squid handles all requests in a single, non-blocking, I/O-driven process. Squid keeps meta data and especially hot objects cached in RAM, caches DNS lookups, supports non-blocking DNS lookups, and implements negative caching of failed requests. Squid consists of a main server program squid, a Domain Name System lookup program (dnsserver), a program for retrieving FTP data (ftpget), and some management and client tools.
Install Squid on CentOS / RHEL 5
Use yum command as follows:
# yum install squid
Output:
Loading "installonlyn" plugin Setting up Install Process Setting up repositories Reading repository metadata in from local files Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Package squid.i386 7:2.6.STABLE6-4.el5 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: squid i386 7:2.6.STABLE6-4.el5 updates 1.2 M Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.2 M Is this ok [y/N]: y Downloading Packages: Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: squid ######################### [1/1] Installed: squid.i386 7:2.6.STABLE6-4.el5 Complete!
Squid Basic Configuration
Squid configuration file located at /etc/squid/squid.conf. Open file using a text editor:
# vi /etc/squid/squid.conf
At least you need to define ACL (access control list) to work with squid. The defaults port is TCP 3128. Following example ACL allowing access from your local networks 192.168.1.0/24 and 192.168.2.0/24. Make sure you adapt to list your internal IP networks from where browsing should be allowed:
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks
Save and close the file. Start squid proxy server:
# chkconfig squid on
# /etc/init.d/squid start
Output:
init_cache_dir /var/spool/squid... Starting squid: . [ OK ]
Verify port 3128 is open:
# netstat -tulpn | grep 3128
Output:
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 20653/(squid)
Open TCP port 3128
Finally make sure iptables is allowing to access squid proxy server. Just open /etc/sysconfig/iptables file:
# vi /etc/sysconfig/iptables
Append configuration:
-A RH-Firewall-1-INPUT -m state --state NEW,ESTABLISHED,RELATED -m tcp -p tcp --dport 3128 -j ACCEPT
Restart iptables based firewall:
# /etc/init.d/iptables restart
Output:
Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ] Applying iptables firewall rules: [ OK ] Loading additional iptables modules: ip_conntrack_netbios_n[ OK ]
Client configuration
Open a webbrowser > Tools > Internet option > Network settings > and setup Squid server IP address and port # 3128.
See also
You may find our previous squid tips useful:
Squid Security and blocking content Related Tips
- Squid content filtering: Block / download of music MP3, mpg, mpeg, exec files
- Squid deny users accessing a website
- Squid Proxy Server Limit the number of simultaneous Web connections from a client with maxconn ACL
Squid Authentication Related Tips
- Howto: Squid proxy authentication using ncsa_auth helper
- Squid NTLM authentication configuration using ntlm_auth
- Configure squid for LDAP authentication using squid_ldap_auth helper
Squid Other Tips
- Howto: Squid proxy authentication using ncsa_auth helper
- Squid NTLM authentication configuration using ntlm_auth
- Configure squid for LDAP authentication using squid_ldap_auth helper
Squid Other Tips
Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
You may also be interested in other helpful articles:
- nixCraft FAQ Roundup
- nixCraft FAQ Roundup ~ Sep, 24, 2007
- CentOS 4 / Redhat Enterprise Linux 4 iSCSI Installation and Configuration ( iscsi initiators )
- Howto: Squid proxy authentication using ncsa_auth helper
- Howto: Add a new yum repository to install software under CentOS / Redhat Linux
Discussion on This Article:
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: cache, caching_software, CentOS, dns_lookups, iptables_command, Linux, rhel_5, sharing_network, squid_proxy_server, squid_server, vi_command, yum_command



i need linux el e 5 ,how to configure cui mode in
example el 4 netconfig ip ,subnet,gateway
but same command not working in el 5 kindly send to me command
Hi,
I just need to use Squid as a cache for Apache’s requests, not for any filtering or such. Is there anyway I can set it up on CentOS?
Thanks!
thanks for the tutorial.
Now, I got everything working. I am trying to browse google.com using newly configure proxy. I get the below error
“The requested URL could not be retrieved”
Access Denied.
How can I go about this? Thank you.
How to set up reverse squid proxy server2.6 on CentOS
how to install Squid reverse proxy2.6 on CentOS
how to install and configure reverse squid proxy for caching images for a long time and please explain refresh_pattern of squid and how to use it in Reverse Squid Proxy.
iam shankar kumar from bangalore. i have problem in dansgaudian problem how to configure dansguardian with squid and how to block downloading and uploding and some websites i want to block
Hello everybody,
Can any body tell me how to block or restrict web sites via squid i386 7:2.6.STABLE6-4.el5 and is it possible to enable content filtering in squid if yes please tell me the steps to.
Thanking You
Ananda Bhattacharjee.
ananda.bhattacharjee@gmail.com
how to install squid guard on centos? how to block all external ip and allow some specific one from network?
i want a brief method to install squid on CentOS 4.3 final….with trouble shooting..send me e books or physical magazine to my home address.Madina Mobiles Chowke Farooq-e-Azam Peco road link Multan road Lahore Pakistan.
Hi!I m Ritesh,
I just want to know what are the proceedures to configure transparent suqid proxy server.can anyone help?
Hello, I get an error when I tried to do the command /etc/init.d/iptables restart, here was the output I received:
[root@andydaykin ~]# /etc/init.d/iptables restart
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: mangle filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: iptables-restore: line 1 failed
[FAILED]