#1 Le 04/12/2008, à 12:33
- MrWaloo
[resolu]comment créer un groupe multicast et s'y abonner ?
bonjour,
je cherche à faire un groupe (d'abord 2 puis 3, puis...) de PC qui répondent à une adresse multicast.
c'est pour la config de heartbeat, à la fin il y est question de multicast pour connaître l'état des différents noeuds, oui mais... comment définir ce groupe ?
en IPv4, je précise...
sudo ip route add 224.0.0.0/4 dev eth0
c'est tout ce que j'ai trouvé, mais ça ne permet pas le multicast (ping -c 2 224.0.0.1 tombe en timeout) je l'ai donc supprimée
edit correctif :
la commande serait plutôt
sudo route add -net 224.0.0.0 netmask 224.0.0.0 dev eth
mais celle-ci le fait aussi (+ modif du fichier /etc/sys)
sudo sysctl net.ipv4.icmp_echo_ignore_broadcasts=0
je ne l'ai donc pas gardé...
Dernière modification par MrWaloo (Le 10/12/2008, à 00:36)
"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.
Hors ligne
#2 Le 09/12/2008, à 22:39
- MrWaloo
Re : [resolu]comment créer un groupe multicast et s'y abonner ?
Solution :
Pour permettre la réponse à une requete multicast
# sysctl net.ipv4.icmp_echo_ignore_broadcasts
net.ipv4.icmp_echo_ignore_broadcasts = 1
# sysctl net.ipv4.icmp_echo_ignore_broadcasts=0
net.ipv4.icmp_echo_ignore_broadcasts = 0
Ce qui donne :
# ping 224.0.0.1
PING 224.0.0.1 (224.0.0.1) 56(84) bytes of data.
64 bytes from 192.168.214.10: icmp_seq=1 ttl=64 time=1.26 ms
64 bytes from 192.168.214.10: icmp_seq=2 ttl=64 time=0.209 ms
64 bytes from 192.168.214.10: icmp_seq=3 ttl=64 time=0.162 ms
64 bytes from 192.168.214.10: icmp_seq=4 ttl=64 time=0.181 ms
^C
--- 224.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3009ms
rtt min/avg/max/mdev = 0.162/0.453/1.263/0.468 ms
Pour rendre ce réglage persistant :
# vi /etc/sysctl.conf
puis remplacer
# Ignore ICMP broadcasts
#net.ipv4.icmp_echo_ignore_broadcasts = 1
par
# Ignore ICMP broadcasts
net.ipv4.icmp_echo_ignore_broadcasts = 0
bon
maintenant il me faut le moyen de créer une adresse du type 239.0.0.10 et faire en sorte que certains PC y répondent...
sur 2 PC
sudo apt-get install smcroute
sudo smcroute -j eth0 239.0.0.10
test :
ping 239.0.0.10
PING 239.0.0.10 (239.0.0.10) 56(84) bytes of data.
64 bytes from 192.168.214.10: icmp_seq=1 ttl=64 time=1.79 ms
64 bytes from 192.168.214.1: icmp_seq=1 ttl=64 time=2.76 ms (DUP!)
64 bytes from 192.168.214.10: icmp_seq=2 ttl=64 time=0.253 ms
64 bytes from 192.168.214.1: icmp_seq=2 ttl=64 time=0.295 ms (DUP!)
64 bytes from 192.168.214.10: icmp_seq=3 ttl=64 time=0.199 ms
64 bytes from 192.168.214.1: icmp_seq=3 ttl=64 time=0.218 ms (DUP!)
64 bytes from 192.168.214.10: icmp_seq=4 ttl=64 time=0.209 ms
64 bytes from 192.168.214.1: icmp_seq=4 ttl=64 time=0.227 ms (DUP!)
^C
--- 239.0.0.10 ping statistics ---
4 packets transmitted, 4 received, +4 duplicates, 0% packet loss, time 3013ms
rtt min/avg/max/mdev = 0.199/0.744/2.762/0.917 ms
\o/
pour figer la config : édition de /etc/smcroute/startup.sh et ajout de la ligne
smcroute -j eth0 239.0.0.10
et après redémarrage tout est toujours encore correct !
Dernière modification par MrWaloo (Le 09/08/2009, à 02:34)
"De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent !!" (Desproges)
UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, MS-DOS is a boot sector virus.
Hors ligne