← Back to Blog

Setting Up Proxies for Local Networks: Corporate Use Guide

CRITICALLY IMPORTANT: - Translate ONLY to English, DO NOT mix languages - DO NOT include words from other languages in the translation - Use ONLY English characters and alphabet - NEVER translate promo codes (e.g., ARTHELLO) - leave them as they are Text for translation: Example: Company "Alpha" with 200 employees installed Squid proxy and reduced internet channel consumption by 35% through caching. Savings: $450/month.

πŸ“…November 13, 2025

🌐 What is a Local Network Proxy Server

A local network proxy server is an intermediary server hosted within your corporate or home network that provides all network devices with access to the internet through a single point of control.

How It Works:

  1. User (computer, smartphone, tablet) in the local network sends a request
  2. Proxy Server (192.168.1.100:3128) receives the request and checks access rules
  3. Proxy sends the request to the internet on its behalf
  4. Internet Server responds to the proxy server
  5. Proxy forwards the response back to the user

πŸ’‘ A Simple Analogy

Imagine an office with a single secretary. All employees pass their requests through the secretary instead of making direct calls. The secretary controls who can call, records all calls in a log, and can block unwanted numbers. The proxy server is that "secretary" for your entire local network.

❓ Why a Local Proxy Server is Necessary

πŸ”’

Access Control

Centralized management of access to internet resources. Blocking social media during work hours, prohibiting torrents, filtering by website categories.

πŸ“Š

Traffic Monitoring

Detailed statistics: who, when, which sites were visited, how much traffic was consumed. Reports by user and department. Identifying data leaks.

πŸ’Ύ

Caching

Saving frequently requested files on the proxy server. Saving internet bandwidth by up to 40%, speeding up downloads of Windows updates and antivirus databases.

πŸ›‘οΈ

Security

Protection against malicious sites, phishing, and viruses. Scanning downloaded files. Blocking ads and trackers at the network level.

πŸ’°

Cost Savings

Reducing internet costs through caching and control. One connection instead of several. Controlling user bandwidth limits.

🌍

Bypassing Blocks

Accessing blocked resources via external proxies. Setting up proxy chains to bypass regional restrictions.

🎯 Use Cases for a Local Proxy Server

🏒 Corporate Network (50-500 Employees)

  • Productivity Control: Blocking social media, YouTube, gaming sites during work hours
  • Security: Filtering malicious sites, scanning downloaded files
  • Reporting: Detailed logs for the security and IT departments
  • Savings: Caching Windows, Office, and antivirus updates

Example: Company "Alpha" with 200 employees installed a Squid proxy and reduced internet bandwidth consumption by 35% due to caching. Savings: $450/month.

🏫 Educational Institutions

  • Child Protection: Blocking 18+ content, violence, gambling sites
  • Access Control: Different rules for teachers and students
  • Scheduling: YouTube access only during IT lessons
  • Administration Reports: Monitoring student activity

🏠 Home Network

  • Parental Control: Restricting children's access to certain sites
  • Ad Blocking: Eliminating ads on all devices in the network
  • IoT Security: Controlling traffic from smart devices (cameras, TVs, speakers)
  • Traffic Saving: Relevant for metered mobile internet plans

πŸ§ͺ Testing and Development

  • Traffic Interception: Analyzing API requests from mobile applications
  • Response Substitution: Testing applications with modified server data
  • Simulating Slow Internet: Throttling for 3G testing
  • SSL Inspection: Debugging HTTPS traffic analysis

πŸ”§ Types of Local Proxy Servers

πŸ“‘ HTTP/HTTPS Proxy

Purpose: Proxying web traffic (browsers, applications)

Examples: Squid, Apache Traffic Server, nginx

Features:
βœ… Content Caching
βœ… URL Filtering
βœ… Header Modification

πŸ”Œ SOCKS Proxy

Purpose: Universal proxying for any TCP/UDP traffic

Examples: Dante, Shadowsocks, 3proxy

Features:
βœ… Works with any protocol
βœ… UDP Support (SOCKS5)
βœ… Minimal latency

πŸͺŸ Transparent Proxy

Purpose: Invisible proxying without client configuration

Examples: Squid in transparent mode + iptables

Features:
βœ… No client configuration needed
βœ… Interception at the router level
⚠️ More complex with HTTPS

πŸ”— Reverse Proxy

Purpose: Load balancing and protecting web servers

Examples: nginx, HAProxy, Apache mod_proxy

Features:
βœ… Load Distribution
βœ… SSL Termination
βœ… DDoS Protection

πŸ—οΈ Network Architecture with a Proxy Server

Typical Corporate Network Diagram

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           🌐 INTERNET                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚  πŸ›‘οΈ Firewall   β”‚  (Perimeter Defense)
         β”‚  192.168.0.1   β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚  πŸ”„ Router       β”‚  (Routing)
         β”‚ 192.168.1.1     β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚            β”‚            β”‚
β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”  β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”  β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”
β”‚ πŸ’» PC1 β”‚  β”‚ πŸ’» PC2 β”‚  β”‚ πŸ“± Phoneβ”‚
β”‚.10     β”‚  β”‚.11     β”‚  β”‚.12      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    β”‚            β”‚            β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 β”‚ (All requests go through the proxy)
         β”Œβ”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚  πŸ”§ PROXY       β”‚  (Squid/CCProxy)
         β”‚ 192.168.1.100  β”‚  Port: 3128
         β”‚ + Cache (500GB)β”‚
         β”‚ + Logs         β”‚
         β”‚ + Filters      β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

How the Diagram Works:

  1. User (PC1) configures the proxy in their browser: 192.168.1.100:3128
  2. The request goes to the proxy server, not directly to the internet
  3. The proxy checks access rules (is this site allowed?)
  4. The proxy requests content on behalf of the user
  5. The proxy caches the response and forwards it to the user
  6. On a repeat request, the proxy serves data from the cache (instantly)

⚠️ Important Architectural Points

  • Fault Tolerance: If the proxy fails, all network access to the internet is lost (Solution: backup proxy)
  • Performance: The proxy must handle all network traffic (minimum 4 CPU cores, 8GB RAM for 100 users)
  • Storage: Fast SSD storage is required for the cache (500GB+ recommended for 100-200 users)
  • Bandwidth: The proxy's network card must be no slower than the internet connection (Gigabit Ethernet minimum)

βš–οΈ Advantages and Disadvantages of a Local Proxy

βœ… ADVANTAGES

🎯 Centralized Control

One control point for the entire network. Changes apply instantly to all users without configuring every device.

πŸ“Š Detailed Analytics

All requests are logged. You see who visited what site, when, and how much traffic was consumed. Ideal for auditing and optimization.

πŸ’° Channel Savings

Caching can reduce internet consumption by 30-40%. Especially effective for OS updates, antivirus, and popular websites.

πŸ›‘οΈ Network Protection

Blocking malicious sites, phishing, and viruses at the proxy level. An additional layer of defense beyond endpoint antivirus.

πŸ”’ Hiding Internal Structure

All requests originate from the proxy server's IP. The outside world does not see the real IP addresses of the workstations.

❌ DISADVANTAGES

⚠️ Single Point of Failure

If the proxy server goes down, the entire network loses internet access. Solution: backup server or automatic bypass.

🐌 Potential Speed Reduction

If the server performance is insufficient, delays may occur. Hardware must be correctly sized for the number of users.

πŸ”§ Configuration Complexity

Requires a qualified system administrator. Configuring Squid, filtering rules, and SSL inspection is not for beginners.

πŸ’Ύ Resource Requirements

Requires a dedicated server with good hardware and a large disk for the cache. For 200 users: 8-16GB RAM, 500GB+ SSD.

πŸ‘οΈ HTTPS Issues

HTTPS inspection requires installing a root certificate on all devices. Some applications may not function correctly.

πŸ’‘ Conclusion

A local proxy server is a must-have for corporate networks with 20+ users. The advantages in terms of control, security, and savings significantly outweigh the complexities of setup and maintenance. For home networks, it is worthwhile if you have the technical skills and specific requirements (parental control, ad blocking).

Need ready-made proxies for your business?

Instead of setting up your own server, use ready-made solutions from ProxyCove!
Register with the promo code ARTHELLO and get a $1.3 bonus!

πŸ“– Continue reading in Part 2: Step-by-step installation and configuration of Squid, CCProxy, and 3proxy for Windows and Linux

Installing the Squid Proxy Server

Part 2: Step-by-step configuration of Squid for Ubuntu/Debian/CentOS. User authentication, site filtering, caching, client setup.

Series Continuation | Reading Time: 15 minutes

πŸ“¦ Installing the Squid Proxy Server

🐧 Installation on Ubuntu/Debian

# Update the system
sudo apt update && sudo apt upgrade -y

# Install Squid
sudo apt install squid -y

# Check version
squid -v
# Squid Cache: Version 5.2

# Check service status
sudo systemctl status squid

# Enable autostart
sudo systemctl enable squid

🎩 Installation on CentOS/RHEL/Rocky Linux

# Install Squid
sudo dnf install squid -y

# Or for older CentOS versions
sudo yum install squid -y

# Start the service
sudo systemctl start squid

# Enable autostart
sudo systemctl enable squid

# Open port in firewall
sudo firewall-cmd --permanent --add-port=3128/tcp
sudo firewall-cmd --reload

πŸ“‚ Important Files and Directories

File/Directory Purpose
/etc/squid/squid.conf Main configuration file
/var/log/squid/access.log Access logs (all requests)
/var/log/squid/cache.log Service operation logs
/var/spool/squid/ Cache directory
/etc/squid/blocked_sites.txt List of blocked sites (created manually)

βš™οΈ Basic Squid Configuration

⚠️ Important Before Starting

Always back up the configuration file before editing:
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.backup

Minimal Working Configuration

# /etc/squid/squid.conf

# Proxy port
http_port 3128

# Define the local network
acl localnet src 192.168.1.0/24

# Allow access from the local network
http_access allow localnet

# Deny everything else
http_access deny all

# In-memory cache size (256 MB)
cache_mem 256 MB

# Disk cache directory and size (10 GB)
cache_dir ufs /var/spool/squid 10000 16 256

# Maximum cacheable object size
maximum_object_size 100 MB

# Hostname for logs
visible_hostname proxy.company.local

# Log format (extended)
logformat combined %>a %[ui %[un [%tl] "%rm %ru HTTP/%rv" %>Hs %h" "%{User-Agent}>h"
access_log /var/log/squid/access.log combined

# Administrator email (shown on errors)
cache_mgr admin@company.local

Applying the Configuration

# Check configuration for errors
sudo squid -k parse

# If no errors, restart Squid
sudo systemctl restart squid

# Check status
sudo systemctl status squid

# View logs in real-time
sudo tail -f /var/log/squid/access.log

πŸ” User Authentication

Authentication allows controlling access by username/password and maintaining statistics per user.

Creating the User Password File

# Install htpasswd utility
sudo apt install apache2-utils -y

# Create the password file
sudo touch /etc/squid/passwords

# Add user ivan (password will be prompted)
sudo htpasswd /etc/squid/passwords ivan

# Add more users
sudo htpasswd /etc/squid/passwords maria
sudo htpasswd /etc/squid/passwords admin

# Set correct access permissions
sudo chown proxy:proxy /etc/squid/passwords
sudo chmod 640 /etc/squid/passwords

# Check contents
sudo cat /etc/squid/passwords
# ivan:$apr1$xyz...
# maria:$apr1$abc...
# admin:$apr1$def...

Configuring squid.conf for Authentication

# Add to /etc/squid/squid.conf

# Basic Authentication setup
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm Proxy Server Authentication
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive on

# Create an ACL for authenticated users
acl authenticated proxy_auth REQUIRED

# Allow access only to authenticated users
http_access allow authenticated

# Show username in logs
logformat authenticated %{%Y-%m-%d %H:%M:%S}tl %>a %un "%rm %ru" %>Hs %

Apply changes:

sudo squid -k parse && sudo systemctl restart squid

βœ… Checking Authentication

Now, when trying to use the proxy, the browser will prompt for a username and password. Format for configuration:

http://ivan:password123@192.168.1.100:3128

🚫 Site and Content Filtering

πŸ”’ Blocking Sites by Domain

Step 1: Create a file with the list of domains to block

# Create the file
sudo nano /etc/squid/blocked_sites.txt

# Add domains (one per line)
.facebook.com
.vk.com
.instagram.com
.tiktok.com
.youtube.com
.reddit.com
casino
betting
porn
xxx

# A leading dot blocks all subdomains
# facebook.com, www.facebook.com, m.facebook.com β€” all blocked

Step 2: Add rules to squid.conf

# Define ACL with blocked sites
acl blocked_sites dstdomain "/etc/squid/blocked_sites.txt"

# Deny access to these sites
http_access deny blocked_sites

# Show a custom error page
deny_info ERR_BLOCKED_SITE blocked_sites

⏰ Scheduling Blocks

Blocking social media only during business hours (9:00 AM - 6:00 PM, Mon-Fri):

# Define business hours
acl work_hours time MTWHF 09:00-18:00

# List of social networks
acl social_networks dstdomain .facebook.com .vk.com .instagram.com

# Block social networks only during work hours
http_access deny social_networks work_hours

# Allow access outside business hours
http_access allow social_networks

πŸ“Š Blocking by File Type

# Block torrents, video, exe files
acl blocked_files urlpath_regex -i \.torrent$ \.exe$ \.msi$ \.mp4$ \.mkv$ \.avi$

http_access deny blocked_files

# Block by MIME type
acl video_content rep_mime_type video/mpeg video/x-msvideo video/mp4
http_reply_access deny video_content

πŸ’Ύ Caching Setup

Proper cache configuration can reduce internet bandwidth consumption by 30-40%.

Optimal Cache Configuration

# In-memory cache size (512 MB)
cache_mem 512 MB

# Disk cache: 50GB, 32 first-level directories, 256 second-level
cache_dir ufs /var/spool/squid 50000 32 256

# Minimum and maximum cacheable object size
minimum_object_size 0 KB
maximum_object_size 500 MB

# Maximum in-memory object size
maximum_object_size_in_memory 512 KB

# Cache expiry times
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

# Cache Windows updates (saves up to 40% bandwidth!)
refresh_pattern windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims

# Cache popular files longer
refresh_pattern -i \.(jpg|jpeg|png|gif|bmp|webp)$ 1440 90% 10080
refresh_pattern -i \.(pdf|doc|docx|xls|xlsx)$ 1440 80% 10080
refresh_pattern -i \.(js|css)$ 720 50% 4320

Initialize cache after configuration:

sudo squid -z
sudo systemctl restart squid

πŸ“Š Cache Statistics

# Check cache statistics
squidclient -p 3128 mgr:info | grep "Hit Ratio"

# Clear the entire cache
sudo systemctl stop squid
sudo rm -rf /var/spool/squid/*
sudo squid -z
sudo systemctl start squid

πŸ’» Configuring Clients to Use the Proxy

πŸͺŸ Windows

  1. Open Settings β†’ Network & Internet β†’ Proxy Server
  2. Enable "Use a proxy server"
  3. Address: 192.168.1.100
  4. Port: 3128
  5. Click "Save"

🍎 macOS

  1. Open System Settings β†’ Network
  2. Select the active connection (Wi-Fi/Ethernet)
  3. Click "Advanced" β†’ "Proxies" tab
  4. Check "Web Proxy (HTTP)"
  5. Server: 192.168.1.100:3128
  6. Click "OK" β†’ "Apply"

🌐 Google Chrome / Edge

Chrome uses system settings, but you can launch it with a parameter:

# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --proxy-server="192.168.1.100:3128"

# Linux
google-chrome --proxy-server="192.168.1.100:3128"

# With authentication
--proxy-server="http://user:password@192.168.1.100:3128"

🦊 Firefox

  1. Open Settings β†’ General β†’ Network Settings
  2. Select "Manual proxy configuration"
  3. HTTP Proxy: 192.168.1.100 Port 3128
  4. βœ… Check "Use this proxy for all protocols"
  5. Click "OK"

🐧 Linux (System Proxy)

# Add to ~/.bashrc or /etc/environment
export http_proxy="http://192.168.1.100:3128"
export https_proxy="http://192.168.1.100:3128"
export ftp_proxy="http://192.168.1.100:3128"

# With authentication
export http_proxy="http://user:password@192.168.1.100:3128"

# Apply changes
source ~/.bashrc

# Check
curl -I http://google.com

Don't want to deal with setup?

Use ready-made proxies from ProxyCove β€” no server installation, no configuration files, no headaches!
Register with promo code ARTHELLO for a $1.3 bonus

πŸ“– Continuation in Part 3: CCProxy and 3proxy for Windows, SSL Inspection, Traffic Monitoring, and Troubleshooting

Proxy for Windows and Monitoring

Part 3: CCProxy and 3proxy for Windows Server. SSL inspection, traffic monitoring, troubleshooting solutions.

Final Part | Reading Time: 12 minutes

πŸͺŸ CCProxy for Windows Server

CCProxy is a popular commercial solution for Windows featuring a graphical interface. Ideal for administrators who prefer not to deal with the command line.

πŸ“₯ CCProxy Installation

  1. Download from the official website: www.youngzsoft.net
  2. Run the installer ccproxysetup.exe
  3. Select the installation directory (default C:\Program Files\CCProxy)
  4. After installation, run CCProxy as Administrator
  5. On first launch, select the network adapter for the proxy

πŸ’° License Costs (2025):

  • Free: Up to 3 users (for testing)
  • Standard: $199 (up to 100 users)
  • Enterprise: $399 (up to 500 users)
  • Unlimited: $799 (unlimited)

βš™οΈ Basic CCProxy Configuration

1. Port Setup

  • Menu Options β†’ Advanced β†’ Network
  • HTTP Port: 808 (or standard 3128)
  • SOCKS Port: 1080
  • βœ… Enable required protocols (HTTP, HTTPS, SOCKS, FTP)

2. Adding Users

  • Menu Account β†’ New
  • Specify login: ivan
  • Password: SecurePass123
  • Allowed IPs (optional): 192.168.1.50
  • Speed Limit: 10 Mbps
  • Traffic Quota: 50 GB/month

3. Website Filtering

  • Menu Options β†’ Filter β†’ Web Filter
  • Tab Banned Websites
  • Add domains one by one or import a list
  • Examples: *.facebook.com, *.gambling.*
  • βœ… Enable Web Filter

4. Caching

  • Menu Options β†’ Advanced β†’ Cache
  • βœ… Enable Cache
  • Cache Directory: D:\CCProxyCache
  • Max Cache Size: 50 GB
  • Cache Time: 7 days

βœ… CCProxy Advantages

  • βœ… Graphical interface β€” setup in 5 minutes
  • βœ… Built-in real-time statistics
  • βœ… User management with quotas and limits
  • βœ… Category-based site filtering
  • βœ… Supports HTTP, HTTPS, SOCKS4/5, FTP, SMTP
  • ❌ Paid license (from $199)
  • ❌ Windows only

πŸ”§ 3proxy β€” A Free Alternative

3proxy is a powerful, open-source proxy server. It runs on both Windows and Linux.

πŸ“₯ Installing 3proxy on Windows

  1. Download: github.com/3proxy/3proxy/releases
  2. Unpack to C:\3proxy
  3. Create a configuration file 3proxy.cfg
  4. Install as a Windows service

Example 3proxy.cfg configuration:

# Daemon mode
daemon

# Log files
log C:\3proxy\logs\3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"

# Users (username:password)
users ivan:CL:SecurePass123
users maria:CL:Pass456

# Allow local network
allow * 192.168.1.0/24

# HTTP proxy on port 3128
auth strong
proxy -p3128 -a

# SOCKS5 proxy on port 1080
socks -p1080 -a

Installing as a Windows Service:

cd C:\3proxy
3proxy.exe --install
net start 3proxy

πŸ” Additional Security Settings

# Speed limiting (1 MB/s per user)
bandlimin 1024000

# Connection timeouts
timeouts 10 30 30 60 180 1800 15 60

# Max connections from one IP
maxconn 50

# Domain blocking
deny * * *.facebook.com *
deny * * *.gambling.* *

# Allowing only specific ports
allow * * * 80,443,21,22

πŸ”’ SSL Inspection for HTTPS Traffic

⚠️ What is SSL Inspection?

By default, the proxy only sees the domain of an HTTPS request, not its content. SSL Inspection allows the proxy to decrypt HTTPS traffic for filtering and monitoring. This requires the proxy to act as an intermediary using its own SSL certificate.

Setting up SSL Inspection in Squid

Step 1: Generate the CA Certificate

# Create directory for certificates
sudo mkdir -p /etc/squid/ssl_cert
cd /etc/squid/ssl_cert

# Generate private key
sudo openssl genrsa -out squid-ca-key.pem 4096

# Create the root certificate
sudo openssl req -new -x509 -days 3650 -key squid-ca-key.pem \
  -out squid-ca-cert.pem -utf8 \
  -subj "/CN=Squid Proxy CA/O=Company Name/C=RU"

# Combine into one file
sudo cat squid-ca-cert.pem squid-ca-key.pem > squid-ca.pem

# Set permissions
sudo chown -R proxy:proxy /etc/squid/ssl_cert
sudo chmod 400 squid-ca.pem

Step 2: Configure squid.conf

# HTTPS port with SSL Bump
https_port 3129 intercept ssl-bump \
  cert=/etc/squid/ssl_cert/squid-ca.pem \
  generate-host-certificates=on \
  dynamic_cert_mem_cache_size=16MB

# SSL Bump rules
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

# Directory for dynamic certificates
sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/ssl_db -M 16MB

# Initialize certificate database
# sudo /usr/lib/squid/security_file_certgen -c -s /var/lib/ssl_db
# sudo chown -R proxy:proxy /var/lib/ssl_db

Step 3: Install the certificate on clients

Copy squid-ca-cert.pem to all computers and install it into the trusted root CAs:

  • Windows: Double-click β†’ Install Certificate β†’ Trusted Root Certification Authorities
  • macOS: Double-click β†’ Keychain Access β†’ Always Trust
  • Linux: sudo cp squid-ca-cert.pem /usr/local/share/ca-certificates/ && sudo update-ca-certificates

⚠️ Legal Aspects

Important: SSL inspection may violate privacy. Before implementation:
βœ… Notify employees about monitoring (as required by local labor laws)
βœ… Document rules in company local acts
βœ… Do not decrypt banking or medical sites
βœ… Store logs securely

πŸ“Š Monitoring and Log Analysis

Popular Monitoring Tools

SARG (Squid Analysis Report Generator)

Generates HTML reports from Squid logs: top sites, users, traffic usage.

sudo apt install sarg -y
sudo sarg
# Report in /var/www/html/squid-reports/

Lightsquid

A lightweight Perl script for real-time visualization of Squid statistics.

sudo apt install lightsquid -y
# Web interface:
# http://192.168.1.100/lightsquid

Useful Commands for Log Analysis

# Top 10 most visited sites
awk '{print $7}' /var/log/squid/access.log | sort | uniq -c | sort -rn | head -10

# Top 10 users by traffic consumed
awk '{user[$8] += $5} END {for (u in user) print u, user[u]}' \
  /var/log/squid/access.log | sort -k2 -rn | head -10

# Request count by hour
awk '{print $1}' /var/log/squid/access.log | cut -d: -f2 | sort | uniq -c

# Search requests by a specific user
grep "ivan" /var/log/squid/access.log | tail -50

# Cache statistics (HIT/MISS)
awk '{print $4}' /var/log/squid/access.log | sort | uniq -c

# Real-time log monitoring
tail -f /var/log/squid/access.log | grep --color "TCP_DENIED"

πŸ”§ Troubleshooting Common Issues

❌ Problem: Proxy fails to start

Solution:

# Check configuration syntax
sudo squid -k parse

# View error logs
sudo tail -f /var/log/squid/cache.log

# Check directory permissions
sudo chown -R proxy:proxy /var/log/squid /var/spool/squid

❌ Problem: Clients cannot connect

Solution:

  • Check firewall: sudo ufw allow 3128/tcp
  • Verify Squid is listening on the correct interface: netstat -tlnp | grep 3128
  • Check ACL in squid.conf (is the subnet specified correctly?)

❌ Problem: Slow performance / high load

Solution:

  • Increase cache_mem (minimum 512MB)
  • Move the cache to a fast SSD drive
  • Limit maximum connections: http_access deny all maxconn 100
  • Increase worker threads: workers 4

❌ Problem: Some sites do not open

Solution:

  • Check logs: tail -f /var/log/squid/access.log | grep DENIED
  • Disable SSL Bump for problematic sites (banks, medical)
  • Add exceptions to the ACL for a whitelist

❌ Problem: Cache is not working

Solution:

# Check cache statistics
squidclient -p 3128 mgr:info | grep "Request Hit Ratios"

# If you see 0% - check cache directory permissions
ls -la /var/spool/squid/

# Recreate cache structure
sudo systemctl stop squid
sudo rm -rf /var/spool/squid/*
sudo squid -z
sudo systemctl start squid

🎯 Conclusions and Recommendations

βœ… When to Implement a Local Proxy

  • βœ… Office of 20+ employees β€” access control and monitoring pay off
  • βœ… Limited internet bandwidth β€” caching saves up to 40% of traffic
  • βœ… Security requirements β€” filtering malicious sites, data leak prevention
  • βœ… Need for reporting β€” logs for security, HR, management
  • βœ… Educational institutions β€” child protection, student access control

❌ When a Local Proxy is Overkill

  • ❌ Small office (up to 10 people) β€” administrative costs are too high
  • ❌ No IT specialist β€” no one to maintain and monitor the system
  • ❌ Unlimited high-speed internet β€” caching won't provide significant benefit
  • ❌ Handling sensitive data β€” SSL inspection may violate compliance

πŸ”§ Recommendations for Solution Choice

Choose Squid (Linux) if:

  • You have an in-house Linux administrator
  • Maximum performance is required
  • Budget is limited (free solution)
  • Flexible configuration via config files is needed

Choose CCProxy (Windows) if:

  • Your infrastructure is entirely on Windows Server
  • You need a graphical interface without the command line
  • You have a budget for licenses ($199-$799)
  • Quick deployment is required (in 5-10 minutes)

Choose 3proxy if:

  • You need a lightweight solution without extras
  • You are running on Windows with no budget
  • Only basic filtering is required
  • Caching and advanced analytics are not needed

πŸ’‘ Main Advice

A local proxy server is an infrastructure solution that requires continuous administration. If you do not have a dedicated IT specialist or your tasks do not require this level of control, consider cloud proxy services as an alternative. They will save you the effort of maintaining hardware and configuring complex setups.

Don't want to deal with setup?

Use ready-made proxies from ProxyCove β€” no server installation, no config files, no headaches!
Register with promo code ARTHELLO for a $1.3 bonus

πŸ“š Useful Resources

πŸ“– Squid Documentation:
wiki.squid-cache.org

πŸ”§ CCProxy Official Site:
www.youngzsoft.net

βš™οΈ 3proxy GitHub:
github.com/3proxy/3proxy

βœ… Article Complete! You have learned everything about local network proxy servers

From theory and architecture to practical setup of Squid, CCProxy, and 3proxy.
Monitoring, SSL inspection, troubleshootingβ€”all in one place.