5101+ beoordelingen
Bestel voor 16:00 voor dezelfde dag verzending
14 dagen retour
NL
Particulier
Zakelijk
In dit project leren we hoe we een goedkope maar krachtige proxyserver kunnen maken met behulp van Squid (proxysoftware). Deze tutorial biedt een volledige stapsgewijze handleiding voor het installeren en configureren van Squid, inclusief optionele stappen zoals het openstellen voor externe toegang en het instellen van verplichte authenticatie.
Een **proxyserver** is een tussenstation tussen jouw apparaat en het internet. Wanneer je een website bezoekt via een proxy, stuurt de proxy je verzoek door en haalt de gegevens op namens jou. Dit kan helpen je IP-adres te verbergen en toegang te krijgen tot geblokkeerde websites. Een **proxy is geen VPN**, omdat een proxy alleen werkt voor specifieke apps of browsers en je internetverkeer **niet versleutelt**. Dit betekent dat je gegevens nog steeds zichtbaar kunnen zijn voor je internetprovider of anderen op hetzelfde netwerk. **Maar** als een website **HTTPS** gebruikt (zoals de meeste tegenwoordig), dan blijft je verbinding met die site versleuteld, zelfs als je een proxy gebruikt. Je geeft dus niet al je beveiliging op, maar een VPN biedt wel een extra laag privacy en bescherming. Dit project kan worden uitgevoerd op alle Raspberry Pi-modellen vanaf de Raspberry Pi 3B en hoger, inclusief de Raspberry Pi Zero’s. Daarnaast is het mogelijk om dit op een server of computer te installeren die een Linux-distributie zoals Ubuntu gebruikt.
Voordat we beginnen, is het belangrijk om het systeem up-to-date te brengen. Open de terminal, die te vinden is linksboven in Raspberry Pi OS, naast het verkenner-icoon. Voer de volgende opdrachten uit om het systeem bij te werken:
```sh
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt autoremove -y
```
Nadat het systeem is bijgewerkt, installeren we de proxysoftware (Squid). Daarnaast installeren we een extra pakket dat later zal worden gebruikt voor het instellen van authenticatie. Als je geen authenticatie wilt gebruiken, kun je de tweede opdracht overslaan.
```sh
sudo apt install squid -y
sudo apt install apache2-utils -y
```
Controleer vervolgens of Squid correct is geïnstalleerd en zorg ervoor dat de service automatisch wordt gestart bij het opstarten van de Raspberry Pi:
```sh
sudo systemctl status squid.service
sudo systemctl enable squid.service
```
Als de status aangeeft "Active: inactive (dead)" of "Unit squid.service could not be found.", kun je de volgende opdrachten uitvoeren:
```sh
sudo systemctl start squid.service
```
Als Squid niet correct is geïnstalleerd, herhaal dan de installatieprocedure en controleer of alle stappen correct zijn uitgevoerd. ### Configuratie van Squid Om Squid te configureren, openen we het configuratiebestand met de volgende opdracht:
```sh
sudo nano /etc/squid/squid.conf
```
Bovenaan het bestand voeg je de volgende regels toe:
```sh
via off
forwarded_for off
request_header_access Via deny all
request_header_access X-Forwarded-For deny all
half_closed_clients off
connect_timeout 30 seconds
read_timeout 60 seconds
request_timeout 30 seconds
persistent_request_timeout 30 seconds
```
Sla de wijzigingen op met `CTRL+S` en sluit de editor met `CTRL+X`. Herstart Squid vervolgens met:
```sh
sudo systemctl restart squid
```
De proxyserver is nu operationeel binnen het lokale netwerk via poort 3128. Om het lokale IP-adres van de Raspberry Pi te vinden, gebruik je het commando:
```sh
ifconfig
```
Op een Windows-computer kan dit met:
```sh
ipconfig
```
Om de proxy extern bereikbaar te maken, moet poort 3128 worden geopend in de router. Dit proces verschilt per router, maar komt meestal neer op het volgende: 1. Zoek het IP-adres van de router door het `ifconfig`-commando uit te voeren op de Raspberry Pi of `ipconfig` op Windows. Meestal is het routeradres het lokale IP met de laatste getallen vervangen door `1` (bijvoorbeeld `192.168.2.1`). 2. Open een webbrowser en voer dit adres in. 3. Log in op de router en zoek de instellingen voor "port forwarding". 4. Open poort 3128 voor zowel inkomend als uitgaand verkeer. 5. Sla de wijzigingen op. Om Squid toe te staan om externe verbindingen te accepteren, voeg je de volgende regels toe bovenaan het configuratiebestand:
```sh
acl all src 0.0.0.0/0
http_access allow all
```
Let op: Dit maakt de proxy openbaar toegankelijk. Als je de proxy veilig wilt houden, volg dan de volgende stappen om authenticatie in te schakelen. Om je publieke IP-adres te achterhalen, bezoek je een website zoals: - [https://ipchicken.com](https://ipchicken.com) - [https://whatismyip.com](https://whatismyip.com)
Om een wachtwoord en gebruikersnaam toe te voegen, gebruik je de volgende opdrachten:
```sh
Dit gebruik je alleen de eerste keer om het wachtwoordbestand aan te maken. Vervang "username" met een eigen gebruikersnaam:
sudo htpasswd -c /etc/squid/passwords username
Voor extra gebruikers:
sudo htpasswd /etc/squid/passwords anotheruser
```
Pas vervolgens de Squid-configuratie aan door de volgende regels toe te voegen:
```sh
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
# Vervang "http_access allow all" met:
http_access allow authenticated
```
Herstart de Squid-service:
```sh
sudo systemctl restart squid
```
Om te controleren of de proxy correct werkt, gebruik je op een Windows-pc het volgende commando:
```sh
curl -v -x http://gebruikersnaam:wachtwoord@lokaal_of_publiek_ip:3128 www.google.com
```
Je proxyserver zou nu correct moeten werken, zowel lokaal als extern, met optionele gebruikersauthenticatie.