Squid Listen on Other Port ( Squid Configure Port Listing with SELinux)

last updated in Categories , , , , , , , , ,

My Squid proxy server running on port 3128. Since this is frequently scanned by adversaries looking for proxy servers; I’ve changed port to 10000 and restart squid. But my squid is not working on port # 10000 it only works on port # 3128? How do I force Squid to listen on uncommon port under CentOS Linux v5.3?

Yes, the default listening port for the Squid service is 3128. You can change it to something else to improve security.


Squid Listen on Uncommon Port

Open squid.conf file, enter:
# vi squid.conf
Use an arbitrary port such as 10000:
http port 10000
Save and close the file. Restart squid:
# service squid restart
Verify port is open:
# netstat -tulpn | grep ':10000'
You also need to update SELinux configuration. Type the following command to add a new SELinux port mapping for the Squid service:
# semanage port -a -t http_cache_port_t -p tcp 10000
semanage is used to configure certain elements of SELinux policy without requiring modification to or recompilation from policy sources. Above command will allow Squid to listen on port 10000.

Configure Squid Authentication

You can improve squid security by configuring authentication.

Squid Iptables

Edit your /etc/sysconfig/iptables file and only allow Squid access from for port # 10000:

-A RH-Firewall-1-INPUT -s -m state --state NEW -p tcp --dport 10000 -j ACCEPT

Finally, restart iptables:
# service iptables restart


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

6 comment

  1. make sure you have configured your firewall properly (e.g: iptables) to make the squid works..

  2. I was bought a service that only allow a IP, the IP that i say, only one, but I need use this from more IP’s. I think that I can install in this computer a system to do a transparent proxy for redirect my socks5 requests to this IP from other IP.

    For example, I can buy a server and allow this IP in the service, and later use my home or office computer to access using the server as a tunnel.

    And I need respect the ports.

    My home IP -> Server allowed IP -> Service computer

    My home IP does a request to the IP of server (example: curl -x And my server will do a proxy to service computer (example: with the same port (50000) and the response go back to my curl response.

    How can I do this?

    Still, have a question? Get help on our forum!