Squid-Kit-Transparenter-Proxy nftables auf einem anderen Host Rocky
Zur Navigation springen
Zur Suche springen
Schaubild
Voraussetzung
Voraussetzungen
- Clients im Netz: 172.26.2XX.0/24
- Proxy-Host: 10.88.2XX.4
- Ziel: HTTP/HTTPS-Verkehr per Policy Routing an Squid weiterleiten, dort per REDIRECT + intercept abfangen
Firewall-Konfiguration
- Die Datei /etc/sysconfig/nftables.conf ergänzen
table inet fwmark {
chain prerouting {
type filter hook prerouting priority mangle; policy accept;
ip saddr 172.26.2XX.0/24 tcp dport { 80, 443 } meta mark set 0x00000001
}
}
- Neu laden
- nft -f /etc/nftables.conf
- Kontrolle
- nft list ruleset
- Policy Routing aktivieren
- Routing-Regel und Route persistent über nmcli setzen
- nmcli connection modify enp0s8 +ipv4.routes "0.0.0.0/0 10.88.213.4 table=100"
- nmcli connection modify enp0s8 +ipv4.routing-rules "priority 100 from 0.0.0.0/0 fwmark 1 table 100"
- nmcli connection up enp0s8
- Kontrolle
- ip rule show
- ip route show table 100
Proxy-Konfiguration (nftables REDIRECT)
- Nftables Tabelle, Kette und Regeln erstellen
- vi /etc/sysconfig/nftables.conf
#!/usr/sbin/nft -f
flush ruleset
table inet 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 stop firewalld
- systemctl disable firewalld
- systemctl enable --now nftables
- 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 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
