Broadcastpakete weiterleiten

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
dirigent
Beiträge: 10
Registriert: 26.08.2005 12:05:16

Broadcastpakete weiterleiten

Beitrag von dirigent » 04.09.2006 17:35:32

Hallo,

ich habe ein Problem mit einer TK-Anlagensoftware namens MyTPA.
Das Problem ist, dass die Clientsoftware den Server per Broadcast-Anfrage auf UDP-Port 51870 sucht und der Server im anderen Subnetz ist.
Nun habe ich versucht das Brodcast-Paket im Router mit
iptables -t nat -A PREROUTING -p UDP --dport 51870 -j DNAT --to 192.168.1.33:51870
zum Server zu leiten, aber irgendwie geht das nicht.
Warum geht das nicht?

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 04.09.2006 18:32:14

Füge mal eine Regel davor ein mit Logausgabe, dann siehst Du, ob die Regel auch wirklich "greift":

Code: Alles auswählen

iptables -t nat -A PREROUTING -p UDP --dport 51870 -j LOG --log-prefix 'UDP TEST'
Wenn Du nix im syslog siehst, dann solltest Du mal vorher mitlauschen, wie die Pakete wirklich aussehen, die da durchs LAN rauschen:

Code: Alles auswählen

tcpdump udp port 51870
Gruss, mistersixt.

PS: Bleibt die Frage, was die Tk-Anlage macht, wenn da so ein Paket anschwirrt ... zurückbroadcasten?
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

dirigent
Beiträge: 10
Registriert: 26.08.2005 12:05:16

Beitrag von dirigent » 04.09.2006 19:35:18

tcpdump bringt:
19:28:14.703555 IP meineIP.51871 > 192.168.100.255.51870: UDP, length: 47
Beim Server kommt leider kein Paket an, auf welches er antworten könnte. Ping funktioniert natürlich und die Ports sind nicht geblockt.

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 05.09.2006 07:39:47

Siehst Du denn, dass die Regel funktioniert, wenn Du den Log (siehe mein erstes Posting) vorher setzt? Dann solltest Du in syslog sehen, ob die Regel greift oder nicht.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

dirigent
Beiträge: 10
Registriert: 26.08.2005 12:05:16

Beitrag von dirigent » 05.09.2006 20:45:12

Im syslog steht
Sep 5 20:41:00 debian kernel: UDP TESTIN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:50:ba:ea:7c:51:08:34 SRC=192.168.100.4 DST=192.168.100.255 LEN=75 TOS=0x00 PREC=0x00 TTL=128 ID=38069 PROTO=UDP SPT=51871 DPT=51870 LEN=55
sieht so aus, als ob die Regel nicht greift.

Gruß Jens

Benutzeravatar
chroiss
Beiträge: 332
Registriert: 29.10.2004 09:29:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: BREMEN (in Wellington,NZ a.D) (in OLDENBURG a.D.) (in BREMEN a.D.) (in COLOGNE a.D.)

Beitrag von chroiss » 05.09.2006 21:26:39

kann man broadcast wirklich routen ?!

hmmm

naja , egal .. die iptables regel würde ich aber eher so aufsetzen

Code: Alles auswählen

$IPTABLES -t nat -A PREROUTING -i $einkommende_nic -p udp --dport 51870  -j DNAT --to-dest 192.168.1.33
gruss chroiss
Zuletzt geändert von chroiss am 08.09.2006 13:47:34, insgesamt 1-mal geändert.
"The only secure computer is one that's unplugged, locked in a safe, and buried 20 feet under the ground in a secret location... and I'm not even too sure about that one"--Dennis Huges, FBI.

dirigent
Beiträge: 10
Registriert: 26.08.2005 12:05:16

Beitrag von dirigent » 07.09.2006 12:39:17

Nach vielen Versuchen und mit den vorgeschlagenen Lösungsansätzen, ist die Weiterleitung von Broadcast-Paketen nicht erfolgreich gewesen.
Ich habe mich jetzt darauf beschränkt, einen Broadcast-Ping im eigenen Netz umzuleiten.

iptables -A INPUT -p ICMP --icmp-type 8 -j LOG --log-prefix "ICMP_ "
iptables -A INPUT -p ICMP --icmp-type 8 -j ACCEPT
iptables -A INPUT -p ICMP --icmp-type 0 -j ACCEPT
iptables -A PREROUTING -t nat -p ICMP --icmp-type 8 -j DNAT --to 192.168.100.2

Wenn ich die Router-IP anpinge leitet er auch brav den Ping um. Der Broadcast-Ping wird nicht weitergeleitet und auch nicht beantwortet.
Wird die PREROUTING-Regel auskommentiert, antwortet der Router auch auf den Broadcast-Ping.
Ich habe auch
iptables -A PREROUTING -t nat -m pkttype --pkt-type broadcast -j DNAT --to 192.168.100.2
vesucht, mit gleichem (Miss)-Erfolg.
Langsam frage ich mich, ob iptables das richtige Werkzeug dazu ist, da ein Broadcast-Ping ja eigentlich im Layer2 an die MAC FF:FF:FF:FF:FF:FF gerichtet wird.

CrazyKiller
Beiträge: 15
Registriert: 10.09.2006 11:46:28

Beitrag von CrazyKiller » 10.09.2006 17:02:42

Broadcasts routen ist nicht so ohne weiteres möglich, da Router prinzipiell keine Broadcast-Pakete weiterleiten. Darin liegt ja auch unter anderem der Grund, warum man sie einsetzt.

Für DHCP, was ja auch über Broadcasts funktioniert gibt es sogenannte Relay Agents, die man auf dem Router installiert, damit die entsprechenden Broadcast weitergeleitet werden, da man sonst in jedem Subnetz einen DHCP-Server bräuchte.

Ich weiß leider ncht, ob es sowas auch als generelles Tool für alle möglichen Broadcasts gibt. Hab ich noch nie von gehört, aber das muss ja nichts heißen. Je nachdem, wenn du einen DHCP Relay-Agent findest, bei dem du die entsprechenden Ports umkonfigurieren kannst, könntest du ihn aber vielleicht zweckentfremden. Keine Ahnung, ob das wirklich geht, weil ich in der Praxis damit noch nie gearbeitet habe, aber einen Versuch wäre es vielleicht wert.

Antworten