Okay, es mag sein, dass ich dicht besiedelt bin oder einfach nicht die richtige Quelle gefunden habe, aber ich kann nicht verstehen, warum eines dieser IPTABLES-Setups besser wäre als das andere.
Hier ist mein Setup:
Ich habe eine Box, die als transparenter Proxy und als Router oder Sorter dient. Es verfügt über zwei Schnittstellen, ETH0 und ETH1, und das folgende Adressschema:
ETH0 = DHCP ETH1 = 192.168.5.1/24 DHCP für das Netzwerk 192.168.5.0/24 für dahinter stehende Clients im LAN bereitstellen
Ich habe Privoxy installiert und empfange Port 8080 als transparenten Proxy. Mit diesem Setup kann ich diese Box in ein vorhandenes Netzwerk mit minimaler Konfiguration und an den Proxy angeschlossenen Clients einfügen.
Hier ist meine ursprüngliche IPTABLES-Datei
*nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 8080
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
COMMIT
Diese Konfiguration funktioniert einwandfrei und der Datenverkehr fließt problemlos hin und her. Ich erhalte die IP-Adresse des Ursprungsclients in den Privoxy-Protokolldateien, und das Leben ist gut.
Meine Verwirrung kommt auf, wenn ich die Konfigurationen anderer Leute betrachte und sehe, dass sie DNAT anstelle von REDIRECT verwenden, und ich versuche, den wahren Nutzen der einen über die anderen zu verstehen. Hier ist eine Beispielkonfiguration:
*nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to 192.168.5.1:8080
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
COMMIT
Auch diese Konfiguration funktioniert wieder und gibt mir alles, was ich aus der Perspektive der Protokollierung brauche ...
Was ist richtig oder vielleicht MEHR richtig als das andere?
Vielen Dank, dass Sie sich die Zeit genommen haben, bis hierher zu lesen ...