Hallo, wie mache ich multicast routing mit suse 10.2? Ich habe rechner 1 <==> rechner 2 <==> rechner 3 Normales Routing funktioniert. Ich kann von Rechner 1 auf 2 und 3 zugreifen, genauso von Rechner 3 auf 1 und 2 und natürlich von Rechner 2 auf 1 und 3. Die Multicast Pakete werden auf 239.192.0.3 mit einer TTL von 5 geschickt. Schicke ich sie von Rechner 2 kommen die Pakete auf Rechner 1, 2 und 3 an. Pakete von Rechner 1 kommen auf 2 und 1 an, aber nicht auf Rechner 3. Entsprechend kommen Pakete von Rechner 3 nicht auf Rechner 1 an. Was muß ich tun, damit das funktioniert? Auf Rechner 2 läuft 10.2 mit dem Kernel 2.6.18.2-34-default. Torsten -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Torsten Foertsch schrieb:
rechner 1 <==> rechner 2 <==> rechner 3
Normales Routing funktioniert. Ich kann von Rechner 1 auf 2 und 3 zugreifen, genauso von Rechner 3 auf 1 und 2 und natürlich von Rechner 2 auf 1 und 3.
Die Multicast Pakete werden auf 239.192.0.3 mit einer TTL von 5 geschickt. Schicke ich sie von Rechner 2 kommen die Pakete auf Rechner 1, 2 und 3 an. Pakete von Rechner 1 kommen auf 2 und 1 an, aber nicht auf Rechner 3. Entsprechend kommen Pakete von Rechner 3 nicht auf Rechner 1 an.
Was muß ich tun, damit das funktioniert?
Ich denke auf jeden Fall hast du zu Testzwecken die Firewall heruntergefahren bzw. entsprechend konfiguriert. Wie du beschreibst, ist die Konfiguration des Rechners 2 das Problem. Ist denn ein Eintrag in /sbin/route gesetzt, so dass der Kernel auf dem Rechner 2 explizit weiß, das er Multicast weiterleiten darf und vor allem wohin. Ich denke hierbei an einen Eintrag in die Routingtabelle für die Adresse. (Z.B.: route add -net 239.0.0.0 dev eth0 route add -net 239.0.0.0 dev eth1) Außerdem gibt es noch die Kernel Parameter Konfiguration multicast forward "net.ipv4.conf.all.mc_forwarding" bzw. net.ipv4.conf.eth0.mc_forwarding (über "/sbin/sysctl -a | grep mc_forwarding"). Hast du da eine "1" stehen?
Auf Rechner 2 läuft 10.2 mit dem Kernel 2.6.18.2-34-default.
Torsten
Grüße, -- Patrick Kirsch Softwareentwickler Bookandsmile GmbH Inselstraße 20 04103 Leipzig Tel: 0341 / 30 89 51 12 - Email: pkirsch@bookandsmile.de Web: http://www.billigflieger.de | http://www.bookandsmile.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Danke für die Antwort! Weiteres siehe unten. On Sun 19 Oct 2008, Patrick Kirsch wrote:
rechner 1 <==> rechner 2 <==> rechner 3
Normales Routing funktioniert. Ich kann von Rechner 1 auf 2 und 3 zugreifen, genauso von Rechner 3 auf 1 und 2 und natürlich von Rechner 2 auf 1 und 3.
Die Multicast Pakete werden auf 239.192.0.3 mit einer TTL von 5 geschickt. Schicke ich sie von Rechner 2 kommen die Pakete auf Rechner 1, 2 und 3 an. Pakete von Rechner 1 kommen auf 2 und 1 an, aber nicht auf Rechner 3. Entsprechend kommen Pakete von Rechner 3 nicht auf Rechner 1 an.
Was muß ich tun, damit das funktioniert?
Ich denke auf jeden Fall hast du zu Testzwecken die Firewall heruntergefahren bzw. entsprechend konfiguriert.
klar FW ist ausgeschaltet.
Wie du beschreibst, ist die Konfiguration des Rechners 2 das Problem. Ist denn ein Eintrag in /sbin/route gesetzt, so dass der Kernel auf dem Rechner 2 explizit weiß, das er Multicast weiterleiten darf und vor allem wohin. Ich denke hierbei an einen Eintrag in die Routingtabelle für die Adresse. (Z.B.: route add -net 239.0.0.0 dev eth0 route add -net 239.0.0.0 dev eth1) Außerdem gibt es noch die Kernel Parameter Konfiguration multicast forward "net.ipv4.conf.all.mc_forwarding" bzw. net.ipv4.conf.eth0.mc_forwarding (über "/sbin/sysctl -a | grep mc_forwarding"). Hast du da eine "1" stehen?
s102:~ # sysctl -w net.ipv4.conf.all.mc_forwarding=1 net.ipv4.conf.eth0.mc_forwarding=1 error: "Operation not permitted" setting key "net.ipv4.conf.all.mc_forwarding" error: "Operation not permitted" setting key "net.ipv4.conf.eth0.mc_forwarding" Das ist auch klar, denn: s102:~ # ls -l /proc/sys/net/ipv4/conf/*/mc_forwarding -r--r--r-- 1 root root 0 2008-10-20 08:59 /proc/sys/net/ipv4/conf/all/mc_forwarding -r--r--r-- 1 root root 0 2008-10-20 08:59 /proc/sys/net/ipv4/conf/default/mc_forwarding -r--r--r-- 1 root root 0 2008-10-20 08:59 /proc/sys/net/ipv4/conf/eth0/mc_forwarding -r--r--r-- 1 root root 0 2008-10-20 08:59 /proc/sys/net/ipv4/conf/eth1/mc_forwarding -r--r--r-- 1 root root 0 2008-10-20 08:59 /proc/sys/net/ipv4/conf/lo/mc_forwarding Alle sind read-only. Die Routen habe ich mal beide gesetzt, aber ohne Erfolg. Inzwischen habe ich xorp gefunden. Brauche ich das wirklich für dieses simple Routing-Ding? Wenn ja, hat jemand vielleicht ein funktionierendes Konfigurationsbeispiel? Torsten -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Sun 19 Oct 2008, Torsten Foertsch wrote:
Ich habe
rechner 1 <==> rechner 2 <==> rechner 3
Normales Routing funktioniert. Ich kann von Rechner 1 auf 2 und 3 zugreifen, genauso von Rechner 3 auf 1 und 2 und natürlich von Rechner 2 auf 1 und 3.
Die Multicast Pakete werden auf 239.192.0.3 mit einer TTL von 5 geschickt. Schicke ich sie von Rechner 2 kommen die Pakete auf Rechner 1, 2 und 3 an. Pakete von Rechner 1 kommen auf 2 und 1 an, aber nicht auf Rechner 3. Entsprechend kommen Pakete von Rechner 3 nicht auf Rechner 1 an.
Was muß ich tun, damit das funktioniert?
Ich habe auf Rechner 2 XORP (http://www.xorp.org/ und http://software.opensuse.org/search?q=xorp) installiert. Damit geht es. Hier meine Konfiguration. Rechner 2 ist mit Rechner 1 über eth0 und mit Rechner 3 über eth1 verbunden. Möglicherweise ist in dieser Konfiguration noch einiges überflüssig. Aber es tut erstmal. Torsten interfaces { restore-original-config-on-shutdown: false interface eth0 { description: "frontend interface" disable: false /* default-system-config */ vif eth0 { disable: false address 192.168.9.3 { prefix-length: 24 broadcast: 192.168.9.255 disable: false } } } interface eth1 { description: "backend interface" disable: false /* default-system-config */ vif eth1 { disable: false address 192.168.92.49 { prefix-length: 24 broadcast: 192.168.92.255 disable: false } } } } fea { unicast-forwarding4 { disable: false forwarding-entries { retain-on-startup: false retain-on-shutdown: false } } } protocols { static { route 0.0.0.0/0 { next-hop: 192.168.9.1 metric: 1 } } } policy { /* Describe connected routes for redistribution */ policy-statement connected { term export { from { protocol: "connected" } } } } policy { /* Describe static routes for redistribution */ policy-statement static { term export { from { protocol: "static" } } } } plumbing { mfea4 { disable: false interface eth1 { vif eth1 { disable: false } } interface eth0 { vif eth0 { disable: false } } interface register_vif { vif register_vif { /* Note: this vif should be always enabled */ disable: false } } traceoptions { flag all { disable: false } } } } protocols { igmp { disable: false interface eth0 { vif eth0 { disable: false } } interface eth1 { vif eth1 { disable: false } } traceoptions { flag all { disable: false } } } } protocols { pimsm4 { disable: false interface eth0 { vif eth0 { disable: false } } interface eth1 { vif eth1 { disable: false } } interface register_vif { vif register_vif { /* Note: this vif should be always enabled */ disable: false } } static-rps { rp 192.168.9.3 { group-prefix 224.0.0.0/4 { } } } switch-to-spt-threshold { /* approx. 1K bytes/s (10Kbps) threshold */ disable: false interval: 100 bytes: 102400 } traceoptions { flag all { disable: false } } } fib2mrib { disable: false } } -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
Patrick Kirsch
-
Torsten Foertsch