Web Proxy netdb.state zu groß

Started by fsollfrank, October 08, 2021, 11:36:53 AM

Previous topic - Next topic
Hallo zusammen,

wir haben womöglich ein Problem mit dem Web Proxy Plugin von unseren beiden OPNsense Firewalls.
Diese sind Teil unserer WebSecurity für unsere Kunden, über die ingesamt ca. 500 Benutzer surfen.

Bei der primären Firewall ist die netdb.state Datei auf knapp 8.6 GB gewachsen.
Die Datei ist so groß, dass ich sie nicht mal mehr lesen kann.

Quoteroot@OPNsense-1:/var/squid/cache # ls -lh
total 11054784
-rwxr-x---  1 squid  squid     0B Oct  7 13:33 active
-rwxr-x---  1 squid  squid   8.6G Oct  8 10:28 netdb.state
-rwxr-x---  1 squid  squid   1.9G Sep  5 00:50 squid.core

Bei der sekundären Firewall, welche passiv mitläuft, sind es "nur" 29 MB, wobei es trotzdem 213700 Zeilen sind.

Quoteroot@OPNsense-2:/var/squid/cache # ls -lh
total 30144
-rwxr-x---  1 squid  squid     0B Oct  8 10:48 active
-rwxr-x---  1 squid  squid    29M Oct  8 10:37 netdb.state

Ansich gibt's keine offensichtliche Probleme mit der primären Firewall, außer dass der Speicher vollläuft.
Wir haben keine Einstellung dahingehend vorgenommen.
Ich habe jediglich netdb_low/high ausprobiert, was allerdings nichts bewirkt.
Laut dem Squid Wiki ist der ICMP Pinger standardmäßig deaktiviert. Soweit ich das verstanden habe, ist dieser für die netdb.state verantwortlich.

Daher folgende Fragen:

- Ist die Dateigröße noch normal?
- Ist die netdb.state überhaupt notwendig? Dahingehend wenn's nicht notwendig ist, kann man die netdb deaktivieren und was für Auswirkungen hätte das dann auf die Performance?
- Sollte da eigentlich logrotate oder so drüberlaufen?

Hat damit jemand bereits Erfahrung und kann mir weiterhelfen?

Vielen Dank schonmal

Hab's nochmal genauer recherchiert und bin durch's netgate/pfsense Forum daraufgekommen, wozu die netdb.state eigentlich da ist.

Die Datei wird durch das Pinger Modul vom Squid Plugin erstellt und wird verwendet um Routingentscheidungen über Parent Proxies zu treffen. Der Pinger ist in der Default-Konfiguration aktiv, auch wenn kein Parent-Proxy, wie bei uns, aktiv ist, lässt sich aber zum Glück über die GUI deaktivieren.

Zusätzlich kam bei uns noch hinzu, dass die Datei nicht durch Logrotate archiviert wurde und immer weiter und weiter geschrieben wurde.

Da der Pinger in unserem Fall sowieso unnötig ist, habe ich ihn komplett deaktiviert.
Die netdb.state Datei wird zwar weiterhin angelegt, aber es wird nichts mehr reingeschrieben.
Einen Latenzunterschied konnte ich ebenfalls nicht feststellen.

Sollte man doch einen Parent Proxy verwenden, sollte man vermutlich die netdb.state irgendwie mit in Logrotate aufnehmen. Ob das dann aber auch korrekt funktioniert, kann ich nicht sagen.