Multicast Routing: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
 
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
== Nutzbare Daemons ==
 +
* pimd                                                                  - multicast routing daemon (PIMv2)
 +
* smcroute                                                              - static multicast router daemon
 +
* mrouted
 +
 +
== pimd HowTo ==
 +
* Stelle sicher, das der Kernel die folgenden Optionen aktiviert hat. Siehe /boot/config-$(uname -r)
 +
CONFIG_IP_MULTICAST
 +
CONFIG_IP_PIMSM_V2
 +
CONFIG_IP_MROUTE
 +
sowie die NETLINK-bezogenen Optionen
 +
* Wenn nicht, aktiviere sie, recompile den Kernel und starte neu
 +
* Aktiviere IP forwarding
 +
echo 1 >/proc/sys/net/ipv4/ip_forwarding
 +
* vorausgesetzt die Geräte sind eth0 und eth1, füge Multicast zur Routingtabelle hinzu
 +
route add -net 224.0.0.0/4 dev eth0
 +
route add -net 224.0.0.0/4 dev eth1
 +
* starte den pimd daemon
 +
 +
* Test ob multicast forward aktiv ist
 +
cat /proc/sys/net/ipv4/conf/all/mc_forwarding # = 1
 +
 +
== smcroute HowTo ==
 +
 +
smcroute < options > < commands >
 +
 +
options
 +
    -d - start daemon
 +
    -v - verbose output
 +
 +
commands - common
 +
    -h - print help
 +
    -k - kill daemon
 +
 +
commands - multicast routing related
 +
    -a <InputIntf> <OriginIpAdr> <McGroupAdr> <OutputIntf> [<OutputIntf>] ... - add route
 +
    -r <InputIntf> <OriginIpAdr> <McGroupAdr> - remove route
 +
 +
commands - multicast signaling related
 +
    -j <InputIntf> <McGroupAdr> - join MC group
 +
    -l <InputIntf> <McGroupAdr> - leave MC group
 +
 +
== igmpproxy ==
 +
<source lang="make">
 +
FILES
 +
      /proc/net/ip_mr_cache
 +
              - contains the active multicast routes
 +
 +
      /proc/net/ip_mr_vif
 +
              - contains the 'virtual' interfaces used by the active multicast routing daemon
 +
 +
      /proc/sys/net/ipv4/conf/<ifname>/force_igmp_version
 +
              -  can  be  set  to  control  what  IGMP  version  the  kernel  should  use  on  the  upstream  interface.    Ex.:  'echo  2  >
 +
              /proc/sys/net/ipv4/conf/eth0/force_igmp_version' will force the kernel to use IGMPv2 on eth0 (provided this is the upstream interface).
 +
</source>
 +
 +
== mrouted ==
 +
=== Compiling ===
 +
; Zuerst enfernen wir ein paar Compiler Parameter
 +
<source lang="bash">
 +
# Respect user CFLAGS, remove upstream optimisation and -Werror
 +
sed -i Makefile -e '/^CFLAGS/{s|[[:space:]]=| +=|g;s|-O2||g;s|-Werror||g}' || return 1
 +
</source>
 +
 +
unter Debian Systemen
 +
make build-deb
 +
 +
sonstige
 +
make
 +
make install
 +
 
== Links ==
 
== Links ==
* Linux Documentation Project:
+
* Linux Documentation Project: [http://tldp.org/HOWTO/Multicast-HOWTO.html Multicast over TCP/IP HOWTO]
** [http://tldp.org/HOWTO/Multicast-HOWTO.html Multicast over TCP/IP HOWTO]
+
** [http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.multicast.html Chapter 8. Multicast routing]
**: [http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.multicast.html Chapter 8. Multicast routing]
+
* [https://adehp.wordpress.com/2008/11/05/step-by-step-setup-multi-cast-server-using-ubuntu-804/ Step By Step Setup Multicast Server Using Ubuntu 8.04]
 +
* http://ubuntuforums.org/showthread.php?t=1405360
 +
* [https://webcache.googleusercontent.com/search?q=cache:hT5tiUHoncsJ:manpages.ubuntu.com/manpages/hardy/man1/pimd.1.html+ubuntu+pimd&hl=en&client=firefox-a&strip=1 pimd Manpage - PIMv2-SM multicast routing daemon]
 +
* http://forum.soft32.com/linux2/Howto-enable-multicast-forwarding-Linux-ftopict31853.html
 +
* http://www.cschill.de/smcroute/
 +
* [http://www.angelfire.com/oz/noplacelikehome/router.html SMC router how-to]
 +
* [http://www.cschill.de/smcroute/smcroute-man-0.9.html SMCRoute Manpage]
 +
* [http://sourceforge.net/projects/igmpproxy/ igmpproxy]
 +
* http://vmlinux.org/jocke/pimd.shtml
 +
* http://fengnet.com/book/ICUNA/ch14lev1sec6.html

Aktuelle Version vom 27. Juli 2011, 07:19 Uhr

Nutzbare Daemons

  • pimd - multicast routing daemon (PIMv2)
  • smcroute - static multicast router daemon
  • mrouted

pimd HowTo

  • Stelle sicher, das der Kernel die folgenden Optionen aktiviert hat. Siehe /boot/config-$(uname -r)
CONFIG_IP_MULTICAST
CONFIG_IP_PIMSM_V2
CONFIG_IP_MROUTE

sowie die NETLINK-bezogenen Optionen

  • Wenn nicht, aktiviere sie, recompile den Kernel und starte neu
  • Aktiviere IP forwarding
echo 1 >/proc/sys/net/ipv4/ip_forwarding
  • vorausgesetzt die Geräte sind eth0 und eth1, füge Multicast zur Routingtabelle hinzu
route add -net 224.0.0.0/4 dev eth0
route add -net 224.0.0.0/4 dev eth1
  • starte den pimd daemon
  • Test ob multicast forward aktiv ist
cat /proc/sys/net/ipv4/conf/all/mc_forwarding # = 1

smcroute HowTo

smcroute < options > < commands >

options

   -d - start daemon
   -v - verbose output

commands - common

   -h - print help
   -k - kill daemon

commands - multicast routing related

   -a <InputIntf> <OriginIpAdr> <McGroupAdr> <OutputIntf> [<OutputIntf>] ... - add route
   -r <InputIntf> <OriginIpAdr> <McGroupAdr> - remove route

commands - multicast signaling related

   -j <InputIntf> <McGroupAdr> - join MC group
   -l <InputIntf> <McGroupAdr> - leave MC group

igmpproxy

FILES
       /proc/net/ip_mr_cache
              - contains the active multicast routes

       /proc/net/ip_mr_vif
              - contains the 'virtual' interfaces used by the active multicast routing daemon

       /proc/sys/net/ipv4/conf/<ifname>/force_igmp_version
              -  can  be  set  to  control  what  IGMP   version   the   kernel   should   use   on   the   upstream   interface.    Ex.:   'echo   2   >
              /proc/sys/net/ipv4/conf/eth0/force_igmp_version' will force the kernel to use IGMPv2 on eth0 (provided this is the upstream interface).

mrouted

Compiling

Zuerst enfernen wir ein paar Compiler Parameter
# Respect user CFLAGS, remove upstream optimisation and -Werror
sed -i Makefile -e '/^CFLAGS/{s|[[:space:]]=| +=|g;s|-O2||g;s|-Werror||g}' || return 1

unter Debian Systemen

make build-deb

sonstige

make
make install

Links