Squid-Kit-Transparenter-Proxy nftables auf einem anderen Host
Version vom 26. März 2026, 09:43 Uhr von Thomas.will (Diskussion | Beiträge) (→Squid-Konfiguration)
Voraussetzungen
- Clients im Netz: 172.26.213.0/24
- Proxy-Host: 10.88.213.4
- Ziel: HTTP/HTTPS-Verkehr per Policy Routing an Squid weiterleiten, dort per REDIRECT + intercept abfangen
Firewall-Konfiguration
- Tabelle und Kette erstellen
- nft add table inet fwmark
- nft add chain inet fwmark prerouting '{ type filter hook prerouting priority mangle; policy accept; }'
- Regel zur Paketmarkierung
- nft add rule inet fwmark prerouting ip saddr 172.26.213.0/24 tcp dport { 80, 443 } meta mark set 0x1
- Policy Routing aktivieren
- ip rule add fwmark 1 lookup 100
- ip route add default via 10.88.213.4 table 100
Proxy-Konfiguration (nftables REDIRECT)
- Tabelle und Kette anlegen
- nft add table ip nat
- nft add chain ip nat prerouting '{ type nat hook prerouting priority dstnat; policy accept; }'
- HTTP und HTTPS lokal umleiten
- nft add rule ip nat prerouting tcp dport 80 redirect to :3129
- nft add rule ip nat prerouting tcp dport 443 redirect to :3130
Squid-Konfiguration
vi /etc/squid/squid.conf
http_port 3129 intercept https_port 3130 ssl-bump intercept cert=/etc/squid/certs/squid_proxyCA.pem key=/etc/squid/certs/squid_proxyCA.key generate-host-certificates=on options=NO_SSLv3,NO_TLSv1,NO_TLSv1_1 ssl_bump bump all
Hinweise
- Squid übernimmt die Verbindungen lokal über redirect + intercept
- Zertifikat muss existieren und lesbar für den Squid-Benutzer sein
- Root-CA muss auf Clients importiert werden, um HTTPS-Warnungen zu vermeiden
Diagnose
- tail -f /var/log/squid/access.log
- tail -f /var/log/squid/cache.log
- nft list ruleset
- ip rule show
- ip route show table 100