Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Ubuntu-Forum & Kubuntu-Forum | www.Ubuntu-Forum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

rsi

User

  • »rsi« ist männlich
  • »rsi« ist der Autor dieses Themas

Beiträge: 9

Registrierungsdatum: 22.09.2016

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: anderer Desktop

Andere Betriebssysteme: Ubuntu Mate 16.04 LTS, Ubuntu Server 16.04 LTS, Debian 8, Windows 7, Windows 10

  • Nachricht senden

1

08.06.2017, 18:48

Bridge iptables physdev und transparent Proxy...

Hallo

seit Tagen versuche ich jetzt auf meiner Bridge zwischen LAN und WAN einen transparent Proxy aufzusetzen. Ich habe wirklich alles, was es im Netz dazu gibt, gelesen bzw. ausprobiert, aber ich finde keine Lösung.
Die Bridge funktioniert ohne Probleme, aber ich kann kein redirect auf einen Proxy einrichten.
Ich bekomme es hin, über FORWARD physdev-is-bridged Pakete zu filtern/loggen, aber alles was über physdev-in oder physdev-out läuft, wird schlicht weg ignoriert und es kommen keine Pakete an. Somit kann ich auch kein PREROUTING setzen, da ja keine Pakete ankommen. Und ich habe wirklich alles an Kombinationen probiert, was mir eingefallen ist.

Beispiel:
LAN=enp26s0
WAN=enp24s0
Bridge=br0
Bridge-IP=192.168.50.249

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
Chain PREROUTING (policy ACCEPT 2181 packets, 193K bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-in enp26s0 tcp dpt:80 to:127.0.0.1:8118
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-is-bridged tcp dpt:80 to:127.0.0.1:8118
0 0 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-in enp26s0 tcp dpt:80 redir ports 8118
0 0 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-is-bridged tcp dpt:80 redir ports 8118
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-in br0 tcp dpt:80 to:127.0.0.1
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-in enp26s0 tcp dpt:80 to:127.0.0.1
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-in enp24s0 tcp dpt:80 to:127.0.0.1
0 0 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 PHYSDEV match --physdev-is-bridged tcp dpt:80 to:127.0.0.1
88 10685 DNAT tcp -- * * !192.168.50.249 !192.168.50.0/24 tcp dpt:80 to:127.0.0.1:8118
0 0 DNAT tcp -- * * !127.0.0.1 !192.168.50.0/24 tcp dpt:80 to:127.0.0.1:8118 


Wie man sieht, kommt auf PREROUTING mit physdev-in absolut nichts an. Dafür ohne physdev aus dem LAN zum Proxy, welches aber vom Proxy wieder nicht weiter geleitet wird, warum auch immer. Anscheinend wird es blockiert.

Kernel-Konfiguration und sysctrl stimmen, habe ich überprüft. Sonst fällt mir nichts mehr ein...

Hat irgend jemand schon mal einen transparent Proxy auf einer Bridge zum Laufen bekommen?

Robert
___________
Code-Tags gesetzt. ;)
Bluegrass

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »rsi« (09.06.2017, 11:19) aus folgendem Grund: Code-Tags


2

09.06.2017, 00:33

Ja.
Soweit ich mich erinnere, habe ich auf die IP der Bridge umgeleitet, wo der Proxy lauschte. Falls das Squid ist, muss er auch als "transparent" konfiguriert sein. Neben der zu lauschenden IP/Schnittstelle, versteht sich. Und der Zielport der Bridge war für die zugelassenen IPs ebenfalls offen. Das fehlt mir bei dir alles, wenn das die ganzen Regeln dafür waren.
Beim Erstellen dieser Nachricht kamen keine Tiere zu Schaden.
me is all sausage
but don't call me Ferdl

rsi

User

  • »rsi« ist männlich
  • »rsi« ist der Autor dieses Themas

Beiträge: 9

Registrierungsdatum: 22.09.2016

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: anderer Desktop

Andere Betriebssysteme: Ubuntu Mate 16.04 LTS, Ubuntu Server 16.04 LTS, Debian 8, Windows 7, Windows 10

  • Nachricht senden

3

09.06.2017, 11:16

Hallo,

das waren oben nur Beispiele, weil gar nichts funktioniert hat.
In allen Beschreibungen habe ich als Beispiel immer gefunden, dass man physdev oder ebtables benutzen sollte. Doch ich habe es gestern noch mal ganz normal (als wäre keine Bridge vorhanden und nur ein Netzwerkanschluss) versucht, und es funktioniert, komischerweise, wenn ich es wirklich direkt auf die IP der Bridge umleite und nicht auf localhost (127.0.0.1).

Siehe hier, wie es jetzt ist.

Quellcode

1
2
3
4
root@heimdall:~# iptables -nvx -t nat -L PREROUTING
Chain PREROUTING (policy ACCEPT 37138 packets, 2748811 bytes)
    pkts      bytes target     prot opt in     out     source               destination
    2257   117927 DNAT       tcp  --  *      *      !192.168.50.249      !192.168.50.0/24      tcp dpt:80 to:192.168.50.249:8888


Die ganzen Bridge Beispiele mit Redirect im Netz hätte ich mir also sparen können. :wacko:


Gruß



P.S.
@Admin... Code Tags funktionieren jetzt, wenn ich sie direkt im Quellcode einfüge. ;-)

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »rsi« (09.06.2017, 11:38)


4

09.06.2017, 22:40

Die ganzen Bridge Beispiele mit Redirect im Netz hätte ich mir also sparen können.
Richtig. Du hättest nur hier fragen müssen. ;)
Ich habe meine Regeln allerdings sehr wohl auch mit physdev kombiniert. Schließlich will ich auch im eigenen Netz wissen von wo einer kommt, zumal bei mir das WLAN auch gebrückt ist. Je mehr Hürden desto lustiger :)

Code Tags funktionieren jetzt, wenn ich sie direkt im Quellcode einfüge
Ja, so steht es auch in unserer FAQ
Beim Erstellen dieser Nachricht kamen keine Tiere zu Schaden.
me is all sausage
but don't call me Ferdl