Wie kann ich iptables für einen Squid-Proxy einrichten?

Wie kann ich iptables für einen Squid-Proxy einrichten?

Ich habe Speicherplatz auf einem Server mit einer statischen IP-Adresse gemietet und möchte auf diesem Server einen transparenten Proxy einrichten.

Nachdem ich Squid zu Testzwecken mit dem Listener konfiguriert hatte http_access allow all, wollte ich die iptables-Informationen festlegen. Ich habe nur eine Ethernet-Verbindung mit meiner statischen IP-Adresse. Ich suchte nach einer Dokumentation, wie man das mit einer einzelnen Netzwerkkarte macht, konnte aber keine finden. (Für zwei oder mehr gibt es jede Menge, aber nicht für eine einzelne Netzwerkkarte.)

Derzeit erhalte ich diese Ausgabe:

root@1:~# ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:49 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:3536 (3.5 KB)  TX bytes:3536 (3.5 KB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          inet6 addr: ::2/128 Scope:Compat
          inet6 addr: 2a01:[....]external-ipv6[...]/128 Scope:Global
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:551353 errors:0 dropped:0 overruns:0 frame:0
          TX packets:455717 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:351211942 (351.2 MB)  TX bytes:267054641 (267.0 MB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:[...]external-ipv4[...]  P-t-P:[...]external-ipv4[...]  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

Ich bin mir nicht sicher, wie es weitergehen soll. Meine iptables sind im Moment komplett leer. Brauche ich ebtables für einen korrekt funktionierenden transparenten Proxy oder reichen die richtigen iptables aus, um dies ohne ebtables zu erledigen? Wenn ja, können Sie mir einen einfachen Befehl geben, um sie einzurichten?

Quellen:

#

insbesondere dieses Zitat sollte mir erklären, wie das geht, aber ich verstehe es nicht ...

Als nächstes habe ich folgende Regeln hinzugefügt, um alle HTTP-Anfragen (die an Port 80 eingehen) an den Squid-Server-Port 3128 weiterzuleiten:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

mit

iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 80 -j DNAT --to 127.0.0.1:3128
iptables -t nat -A PREROUTING -i venet0:0 -p tcp --dport 80 -j REDIRECT --to-port 3128

das sollte funktionieren, tut es aber nicht ...

verwandte Informationen