Squid Proxy Transparent
Hallo zusammen,
ich habe mir die Idee in den Kopf gesetzt, dass ich zu Hause einen Proxy Server aufsetzen möchte, der hauptsächlich als Cache-Server dienen sollte. Nach einer kurzen Recherche bin ich dann auf Squid gestoßen - kostenlos, schnell und "leicht einzurichten".
Ich habe einen ESXI Hypervisor, der auf einer Workstation läuft und meine ganzen VMs befinden sich im Server VLAN 20.
Nachdem ich Ubuntu aufgesetzt hatte und mit Squid ein wenig herumgespielt habe, bin ich zu dem Entschluss gekommen, dass ein transparenter Proxy vielleicht das Sinnvollste wäre. Warum? Man braucht nicht auf jedem Client die Proxyeinstellungen vorzunehmen, was bei wireless Geräten sowieso ein eigenes Thema ist.
Die Squid.conf Datei habe ich erstmal so einfach wie möglich gehalten:
Mit Netplan habe ich ein virtuelles Netzwerkinterface erstellt:
Dies sind die IPtables Einträge fürs Routing:
ESXI: Die VM ist im Port Group "VM Network", welcher dem normalen vSwitch (vSwitch0) zugeordnet ist. Dort ist VLAN 0 eingestellt (no tagging)
Switch: Der Port auf dem Switch ist als Trunk konfiguriert, mit native VLAN 20. Heißt, die ungetaggted Pakete werden erst am Switch getaggt (VLAN 20).
Topologie:
Meraki MX (Router) -> Meraki MS (Switch) -> ESXI Host -> (vSwitch -> VM Network) -> Squid Server (Ubuntu)
Meine Fragen:
Kann ich den Clients per DHCP propagieren, dass der Proxy Server das Gateway ist?
Und ich kann vlan 40 von der MX nicht erreichen. Da muss ich doch bestimmt etwas am vSwitch oden an den IPtables machen?
Vielen Dank! Falls ihr doch irgendwelche Anmerkungen habt, zögert nicht zu schreiben
ich habe mir die Idee in den Kopf gesetzt, dass ich zu Hause einen Proxy Server aufsetzen möchte, der hauptsächlich als Cache-Server dienen sollte. Nach einer kurzen Recherche bin ich dann auf Squid gestoßen - kostenlos, schnell und "leicht einzurichten".
Ich habe einen ESXI Hypervisor, der auf einer Workstation läuft und meine ganzen VMs befinden sich im Server VLAN 20.
Nachdem ich Ubuntu aufgesetzt hatte und mit Squid ein wenig herumgespielt habe, bin ich zu dem Entschluss gekommen, dass ein transparenter Proxy vielleicht das Sinnvollste wäre. Warum? Man braucht nicht auf jedem Client die Proxyeinstellungen vorzunehmen, was bei wireless Geräten sowieso ein eigenes Thema ist.
Die Squid.conf Datei habe ich erstmal so einfach wie möglich gehalten:
http_access allow all
http_port 3128 intercept
Mit Netplan habe ich ein virtuelles Netzwerkinterface erstellt:
ens160:
addresses:
- 20.0.20.19/24
gateway4: 20.0.20.1
nameservers:
addresses: [20.0.20.1]
vlans:
vlan.40:
id: 40
link: ens160
addresses: [20.0.40.100/24]
Dies sind die IPtables Einträge fürs Routing:
iptables -t nat -A PREROUTING -i ens160 -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -i ens160 -p tcp --dport 443 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -o vlan40@ens160 -j MASQUERADE
ESXI: Die VM ist im Port Group "VM Network", welcher dem normalen vSwitch (vSwitch0) zugeordnet ist. Dort ist VLAN 0 eingestellt (no tagging)
Switch: Der Port auf dem Switch ist als Trunk konfiguriert, mit native VLAN 20. Heißt, die ungetaggted Pakete werden erst am Switch getaggt (VLAN 20).
Topologie:
Meraki MX (Router) -> Meraki MS (Switch) -> ESXI Host -> (vSwitch -> VM Network) -> Squid Server (Ubuntu)
Meine Fragen:
Kann ich den Clients per DHCP propagieren, dass der Proxy Server das Gateway ist?
Und ich kann vlan 40 von der MX nicht erreichen. Da muss ich doch bestimmt etwas am vSwitch oden an den IPtables machen?
Vielen Dank! Falls ihr doch irgendwelche Anmerkungen habt, zögert nicht zu schreiben
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 617203
Url: https://administrator.de/forum/squid-proxy-transparent-617203.html
Ausgedruckt am: 11.04.2025 um 14:04 Uhr
9 Kommentare
Neuester Kommentar
Moin,
nur mal so am Rande
Für die paar http-Webseiten lohnt sich der Aufwand nicht. Und um den für https zu nutzen musst du noch viel mehr machen (Stichwort Zertifikate und deren Verteilung auf die Clients).
Wenn Du nen URL-Filter auf den Proxy setzen willst, läßt sich das eleganter lösen als mit nem Proxy, z.B. mit pihole, der als DNS-Blocker filtern kann.
Gruß
Looser
nur mal so am Rande
ich habe mir die Idee in den Kopf gesetzt, dass ich zu Hause einen Proxy Server aufsetzen möchte, der hauptsächlich als Cache-Server dienen sollte.
Für die paar http-Webseiten lohnt sich der Aufwand nicht. Und um den für https zu nutzen musst du noch viel mehr machen (Stichwort Zertifikate und deren Verteilung auf die Clients).
Wenn Du nen URL-Filter auf den Proxy setzen willst, läßt sich das eleganter lösen als mit nem Proxy, z.B. mit pihole, der als DNS-Blocker filtern kann.
Gruß
Looser
separate SSID ohne Proxy
Wenn du das für ein WLAN machen willst, wird es doppelt anstrengend, denn jedes neue Gerät braucht erstmal das Zertifikat, damit es funktioniert. Vor allem bei Gast-Netzwerken ist sowas too much.
Bei den aktuellen DSL-Geschwindigkeiten habe ich aber auch keinen Geschwindigkeitsverlust nach Abschalten des https-Proxies bemerkt.....von daher würde ich klar zu pihole & Co. raten ohne zusätzlichen Proxy.
Gruß
Looser
Zitat von @Skywal:
Mit Netplan habe ich ein virtuelles Netzwerkinterface erstellt:
Mit Netplan habe ich ein virtuelles Netzwerkinterface erstellt:
ens160:
> addresses:
> - 20.0.20.19/24
> gateway4: 20.0.20.1
> nameservers:
> addresses: [20.0.20.1]
> vlans:
> vlan.40:
> id: 40
> link: ens160
> addresses: [20.0.40.100/24]
Der 20.0.0.0/8 IP-Block gehört der ARIN. Ich gehe mal kaum davon aus, dass Du für private VLANs dort öffentliche IP-Adressen angemietet hast.
Bitte verwende für interne Adressen welche aus den per RFC1918 definierten Bereichen. Am einfachsten kannst Du dies umsetzen indem Du jeweils am Anfang die 20 durch die 10 ersetzt.