Squid-Kit-Transparenter-Proxy nftables auf einem anderen Host
Version vom 26. März 2026, 10:48 Uhr von Thomas.will (Diskussion | Beiträge) (→Proxy-Konfiguration (nftables REDIRECT))
Schaubild
Vorraussetzung
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
- Die Datei /etc/nftables.conf ergänzen
table inet fwmark {
chain prerouting {
type filter hook prerouting priority mangle; policy accept;
ip saddr 172.26.213.0/24 tcp dport { 80, 443 } meta mark set 0x00000001
}
}
- Neu laden
- nft -f /etc/nftables.conf
- Kontrolle
- nft list ruleset
- Policy Routing aktivieren
- Die Datei /etc/network/interfaces ergänzen
#DMZ auto enp0s9 iface enp0s9 inet static address 10.88.213.1/24 post-up ip rule add fwmark 1 lookup 100 post-up ip route add default via 10.88.213.4 table 100
- Netzwerk neu starten
Proxy-Konfiguration (nftables REDIRECT)
- Nftables Tabelle, Kette und Regeln erstellen
- nano /etc/nftables.conf
#!/usr/sbin/nft -f
flush ruleset
table ip nat {
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
tcp dport 80 redirect to :3129
tcp dport 443 redirect to :3130
}
}
- Enablen und starten von nftables
- systemctl enable nftables.service --now
- Checken
- nft list ruleset
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
