Möchten Sie erfahren, wie Sie einen transparenten Squid-Proxy unter Ubuntu Linux installieren? In diesem Tutorial zeigen wir Ihnen, wie Sie einen Transparent Proxy Server mit der Squid Software unter Ubuntu Linux Version 17 installieren und konfigurieren.

Hardwareliste:

Im folgenden Abschnitt wird die Liste der Geräte vorgestellt, die zum Erstellen dieses Ubuntu Linux-Lernprogramms verwendet werden.

Jedes oben aufgeführte Stück Hardware kann auf der Amazon Website gefunden werden.

Ubuntu Playlist:

Auf dieser Seite bieten wir schnellen Zugriff auf eine Liste von Videos zu Ubuntu Linux.

Vergiss nicht, unseren YouTube-Kanal zu abonnieren FKIT.

Squid-Tutorial:

Auf dieser Seite bieten wir einen schnellen Zugang zu einer Liste von Tutorials zu Squid.

Tutorial - Squid unter Ubuntu Linux

Verwenden Sie auf der Linux-Konsole die folgenden Befehle, um die richtige Zeitzone festzulegen.

# dpkg-reconfigure tzdata

Installieren Sie das Ntpdate-Paket, und legen Sie das richtige Datum und die richtige Uhrzeit sofort fest.

# apt-get install ntpdate
# ntpdate pool.ntp.br

In unserem Beispiel wurde der Befehl Ntpdate verwendet, um das korrekte Datum und die richtige Uhrzeit mithilfe des brasilianischen Servers pool.ntp.br festzulegen

Lassen Sie uns den NTP-Dienst installieren.

# apt-get install ntp

NTP ist der Dienst, der unseren Server auf dem neuesten Stand hält.

Verwenden Sie das Befehlsdatum, um das auf Ihrem Ubuntu Linux konfigurierte Datum und die Uhrzeit zu überprüfen.

# date

Wenn das System das korrekte Datum und die korrekte Uhrzeit anzeigt, bedeutet dies, dass Sie alle Schritte korrekt ausgeführt haben.

Verwenden Sie die folgenden Befehle, um die erforderlichen Pakete zu installieren.

# apt-get update
# apt-get install build-essential openssl libssl-dev

Downloaden, kompilieren und installieren Sie das Squid-Paket.

# 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 ist die ursprüngliche Squid-Konfigurationsdatei, die vom Squid-Paket installiert wurde.

# 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 ist die neue Datei mit unserer Konfiguration.

Die geänderten Richtlinien wurden fett hervorgehoben.

# 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

Meine Konfiguration ist nur einfach.

Es wird dringend empfohlen, diese Konfigurationsdatei zu studieren, um Ihre Konfiguration zu verbessern.

Verwenden Sie den folgenden Befehl, um die erforderlichen Cache-Ordner zu erstellen.

# chown -R proxy:proxy /usr/local/squid -R
# /usr/local/squid/sbin/squid -z

Verwenden Sie den folgenden Befehl, um den Squid-Dienst zu starten.

# /usr/local/squid/sbin/squid -d 10

Wenn alles korrekt funktioniert hat, sollten folgende Meldungen auf dem Bildschirm erscheinen:

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

Ihre transparente Proxy-Lösung ist installiert.

Jetzt müssen Sie jede Verbindung vom internen Netzwerk umleiten, um eine HTTP-Website zu erreichen, um die Nutzung Ihres Proxyservers zu erzwingen.

Verwenden Sie den folgenden Befehl, um jedes Paket vom internen Netzwerk umzuleiten, das versucht, eine HTTP-Website an den TCP-Port 3128 Ihres Squid-Proxy zu erreichen.

# iptables -t nat -I PREROUTING -p tcp -s 192.168.0.0/24 --dport 80 -j REDIRECT --to-port 3128

Um die Installation zu testen, gehen Sie zu einem Computer in Ihrem internen Netzwerk und öffnen Sie den Browser und versuchen Sie, auf eine HTTP-Website zuzugreifen.