Wil je leren hoe je een Squid transparante proxy op Ubuntu Linux installeert? In deze zelfstudie laten we u zien hoe u een Transparent Proxy-server installeert en configureert met behulp van de Squid-software op Ubuntu Linux-versie 17.
Hardware Lijst:
De volgende sectie presenteert de lijst met apparatuur die is gebruikt om deze Ubuntu Linux-zelfstudie te maken.
Elk onderdeel van de hierboven genoemde hardware is te vinden op de Amazon-website.
Ubuntu Playlist:
Op deze pagina bieden we snelle toegang tot een lijst met video’s gerelateerd aan Ubuntu Linux.
Vergeet niet je te abonneren op ons YouTube-kanaal met de naam FKIT.
Squid Gerelateerde Tutorial:
Op deze pagina bieden we snelle toegang tot een lijst met tutorials gerelateerd aan Squid.
Tutorial – Squid op Ubuntu Linux
Gebruik op de Linux-console de volgende opdrachten om de juiste tijdzone in te stellen.
# dpkg-reconfigure tzdata
Installeer het Ntpdate-pakket en stel onmiddellijk de juiste datum en tijd in.
# apt-get install ntpdate
# ntpdate pool.ntp.br
In ons voorbeeld is de opdracht Ntpdate gebruikt om de juiste datum en tijd in te stellen met behulp van de Braziliaanse serverpool.ntp.br
Laten we de NTP-service installeren.
# apt-get install ntp
NTP is de service die onze server up-to-date houdt.
Gebruik de opdrachtdatum om de datum en tijd te controleren die zijn geconfigureerd op uw Ubuntu Linux.
# date
Als het systeem de juiste datum en tijd heeft weergegeven, betekent dit dat u alle stappen correct hebt uitgevoerd.
Gebruik de volgende opdrachten om de vereiste pakketten te installeren.
# apt-get update
# apt-get install build-essential openssl libssl-dev
Download, compileer en installeer het Squid-pakket.
# mkdir /downloads
# cd /downloads
# wget http://www.squid-cache.org/Versions/v3/3.5/squid-3.5.27.tar.gz
# tar -zxvf squid-3.5.27.tar.gz
# cd squid-3.5.27
# ./configure –with-default-user=proxy
# make
# make install
Hier is het oorspronkelijke inktvisconfiguratiebestand geïnstalleerd door het Squid-pakket.
# vi /usr/local/squid/etc/squid.conf
acl localnet src 10.0.0.0/8
acl localnet src 172.16.0.0/12
acl localnet src 192.168.0.0/16
acl localnet src fc00::/7
acl localnet src fe80::/10
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128
coredump_dir /usr/local/squid/var/cache/squid
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
Hier is het nieuwe bestand met onze configuratie.
De gewijzigde richtlijnen zijn vetgedrukt gemarkeerd.
# vi /usr/local/squid/etc/squid.conf
acl localnet src 192.168.0.0/24 # My internal Network
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 21
acl Safe_ports port 443
acl Safe_ports port 70
acl Safe_ports port 210
acl Safe_ports port 1025-65535
acl Safe_ports port 280
acl Safe_ports port 488
acl Safe_ports port 591
acl Safe_ports port 777
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
http_port 3128 intercept # TRANSPARENT PROXY
coredump_dir /usr/local/squid/var/cache/squid
cache_dir ufs /usr/local/squid/var/cache/squid 1000 16 256 # 1GB as Cache
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
Mijn configuratie is gewoon eenvoudig.
Het wordt sterk aanbevolen dit configuratiebestand te bestuderen om uw configuratie te verbeteren.
Gebruik de volgende opdracht om de benodigde cachemappen te maken.
# chown -R proxy:proxy /usr/local/squid -R
# /usr/local/squid/sbin/squid -z
Gebruik de volgende opdracht om de Squid-service te starten.
# /usr/local/squid/sbin/squid -d 10
Als alles goed zou werken, zou u de volgende berichten op het scherm moeten zien:
Starting Squid Cache version 3.5.27 for x86_64-pc-linux-gnu…
Service Name: squid
Process ID 19569
Process Roles: worker
With 1024 file descriptors available
Initializing IP Cache…
DNS Socket created at [::], FD 6
DNS Socket created at 0.0.0.0, FD 8
Adding nameserver 172.31.0.2 from /etc/resolv.conf
Adding domain us-west-2.compute.internal from /etc/resolv.conf
Logfile: opening log daemon:/usr/local/squid/var/logs/access.log
Logfile Daemon: opening log /usr/local/squid/var/logs/access.log
Unlinkd pipe opened on FD 14
Store logging disabled
Swap maxSize 1024000 + 262144 KB, estimated 98934 objects
Target number of buckets: 4946
Using 8192 Store buckets
Max Mem size: 262144 KB
Max Swap size: 1024000 KB
Rebuilding storage in /usr/local/squid/var/cache/squid (no log)
Using Least Load store dir selection
Set Current Directory to /usr/local/squid/var/cache/squid
Finished loading MIME types and icons.
HTCP Disabled.
Squid plugin modules loaded: 0
Adaptation support is off.
Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 16 flags=9
Done scanning /usr/local/squid/var/cache/squid dir (0 entries)
Finished rebuilding storage from disk.
0 Entries scanned
0 Invalid entries.
0 With invalid flags.
0 Objects loaded.
0 Objects expired.
0 Objects cancelled.
0 Duplicate URLs purged.
0 Swapfile clashes avoided.
Took 0.04 seconds ( 0.00 objects/sec).
Beginning Validation Procedure
Completed Validation Procedure
Validated 0 Entries
store_swap_size = 0.00 KB
storeLateRelease: released 0 objects
Uw transparante proxy-oplossing is geïnstalleerd.
Nu moet u elke verbinding van het interne netwerk omleiden om een HTTP-website te bereiken om het gebruik van uw proxyserver te forceren.
Gebruik de volgende opdracht om elk pakket uit het interne netwerk om te leiden om een HTTP-website te bereiken naar de TCP-poort 3128 van uw Squid-proxy.
# iptables -t nat -I PREROUTING -p tcp -s 192.168.0.0/24 –dport 80 -j REDIRECT –to-port 3128
Om de installatie te testen, gaat u naar een computer op uw interne netwerk en opent u de browser en probeert u toegang te krijgen tot een HTTP-website.