proxychains-Konfiguration vorab prüfen, alte Versionen unterstützen

proxychains-ng 4.12/4.14 (Debian 11, Ubuntu 20.04) kennt keine IPv6-
localnet-Einträge und bricht beim Dienststart mit "localnet netmask
error" ab, wodurch z.B. Kerio Connect nicht mehr startete.

- jede erzeugte Konfiguration wird vor dem Installieren von der
  installierten Bibliothek eingelesen; bei Ablehnung wird nichts
  installiert (Warnung bzw. Fehler bei 'set')
- IPv6-Fähigkeit der Bibliothek wird erkannt; ohne sie werden die
  IPv6-Ausnahmen weggelassen und deutlich gewarnt (auch in show/test)
- selbst kompilierte Bibliothek unter /usr/local/lib wird bevorzugt
- README: Abschnitt zu alten Versionen und Bauanleitung für 4.17

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
duffyduck
2026-10-05 14:42:36 +02:00
co-authored by Claude Opus 5.5
parent 9270994e82
commit 3862aae27e
2 changed files with 150 additions and 22 deletions
+35 -2
View File
@@ -96,16 +96,49 @@ PROXYCHAINS_CONF_FILE="/etc/svc-proxy/proxychains/<dienst>.conf"
PROXYCHAINS_QUIET_MODE="1"
```
**Sicherheitsprüfung:** proxychains liest seine Konfiguration schon beim Start
des Dienstes. Ein Fehler darin (z.B. `localnet netmask error`) bricht den Dienst ab.
Deshalb lässt svc-proxy jede erzeugte Konfiguration vorher von der installierten
Bibliothek einlesen. Lehnt sie die Konfiguration ab, wird für den Dienst nichts
installiert und eine Warnung ausgegeben. Der Dienst startet dann normal ohne Proxy.
**Direkt (ohne Proxy) verbunden werden immer:**
- localhost (`127.0.0.0/8`, `::1`)
- private Netze: `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `169.254.0.0/16`, `fc00::/7`, `fe80::/10`
- localhost (`127.0.0.0/8`, `::1`\*)
- private Netze: `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `169.254.0.0/16`, `fc00::/7`\*, `fe80::/10`\*
- DNS (Port 53, jedes Ziel), damit z.B. MX-Abfragen normal funktionieren
- alle **IP-Adressen und Netze** aus der No-Proxy-Liste (z.B. `192.0.2.0/24`).
Hostnamen/Domains aus No-Proxy kann proxychains nicht berücksichtigen.
Hinweise:
\* IPv6-Ausnahmen nur mit proxychains-ng **ab 4.16**, siehe nächster Abschnitt.
#### Ältere proxychains-Versionen (Debian 11, Ubuntu 20.04)
proxychains-ng **4.12/4.14** kennt keine IPv6-Ausnahmen. Mit einer solchen Zeile
bricht es mit `localnet netmask error` ab, und Verbindungen zu `::1` schickt es
über den Proxy. svc-proxy erkennt das: Die IPv6-Zeilen werden weggelassen, und
es gibt eine Warnung (auch in `show` und `test`). IPv4 funktioniert normal. Spricht
der Dienst intern aber über `::1`/localhost via IPv6, schlagen diese Verbindungen fehl.
Lösung: eine aktuelle Version selbst bauen. svc-proxy bevorzugt automatisch die
Bibliothek unter `/usr/local/lib`:
```bash
sudo apt install build-essential git
git clone https://github.com/rofl0r/proxychains-ng.git
cd proxychains-ng
git checkout v4.17
./configure --prefix=/usr/local --sysconfdir=/etc
make
sudo make install # -> /usr/local/lib/libproxychains4.so
sudo svc-proxy apply # Konfigurationen neu erzeugen
sudo svc-proxy show kerio-connect # zeigt Bibliothek und "IPv6-Ausnahmen: ja"
```
Weitere Hinweise:
- Proxy-Typen: `http` (CONNECT), `socks4`, `socks5`. `socks5h` wird wie `socks5`
behandelt. Einen `https`-Proxy kann proxychains nicht.
- proxychains braucht für den Proxy eine **IPv4-Adresse**. Ein Hostname wird beim