[reseau] Envoyer le flux multicast sur une interface réseau spécifique [résolu]

Applications, problèmes de configuration réseau
Musky
Daikyu
Messages : 96
Inscription : mer. 26 août 2009, 01:32
Localisation : Bourges

[reseau] Envoyer le flux multicast sur une interface réseau spécifique [résolu]

Message par Musky »

Bonjour,

J'ai un petit problème de configuration pour la situation suivante :
un PC serveur avec deux cartes réseau, l'une reliée à la box, l'autre à un réseau local composé de 15 PC.

Le but : diffuser une vidéo (via VLC ou autre), vers les postes locaux.
J'ai utilisé avec succès sur le serveur une ligne de commande du type :

Code : Tout sélectionner

vlc --sout "#rtp{dst=224.0.0.1,port=5004,mux=ts}" --sout-keep mon_fichier_video.mp4
et sur les clients :

Code : Tout sélectionner

vlc rtp://224.0.0.1:5004
Ça a marché, mais ça ne marche plus (et malheureusement, sans raison valable).

Par contre, l'utilisation de tcpdump sur chaque interface montre clairement un trafic réseau sur internet0 lors de la diffusion d'une vidéo, mais pas sur lan0. Évidemment, les clients ne recoivent rien du tout, et aucune vidéo n'apparait. De plus, si je désactive l'interface internet0, les vidéos sont diffusées correctement vers les postes locaux. Enfin, la diffusion via http fonctionne (mais ne correspond pas à mes besoins). Évidemment, le réseau lan est parfaitement fonctionnel (le PC serveur fait serveur nis, nfs, passerelle réseau ..., sans problème)

J'imagine donc qu'il faut que je spécifie quelque part que je veux que le flux réseau envoyé sur 224.0.0.1 soit transmis par l'interface lan0, et non pas par internet0, mais je ne sais pas comment faire. Peut-être que iptables est le bon outil ? (mais sa syntaxe m'est pour le moins absconse)

------------EDIT---------------
Après avoir bien mangé, je me dis que l'ajout d'une route pourrais peut-être fonctionner ?

Code : Tout sélectionner

ip route add 224.0.0.0/4 dev enp5s0f1
Je ne suis pas sur le site maintenant, je testerai demain.
----------------------------------


Quelques infos supplémentaires :

Code : Tout sélectionner

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp5s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:15:17:89:40:4c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global enp5s0f0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:17ff:fe89:404c/64 scope link 
       valid_lft forever preferred_lft forever
3: enp5s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:15:17:89:40:4d brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global enp5s0f1
       valid_lft forever preferred_lft forever
    inet6 fe80::215:17ff:fe89:404d/64 scope link 
       valid_lft forever preferred_lft forever
enp5s0f0 --> internet
enp5s0f1 --> lan

La configuration du réseau est confiée à systemd-networkd grâce aux deux profils suivants :

Code : Tout sélectionner

[Match]
Name=enp5s0f0

[Address]
Address=192.168.1.10

[Route]
Gateway=192.168.1.1

[Network]
IPForward=yes

Code : Tout sélectionner

[Match]
Name=enp5s0f1

[Address]
Address=192.168.0.1

[Route]
Gateway=192.168.0.1

[Network]
IPForward=yes
Iptables est installé et actif, mais (quasi) vide :

Code : Tout sélectionner

cat /etc/iptables/iptables.rules
# Generated by iptables-save v1.4.21 on Sun May 31 21:16:50 2015
*nat
:PREROUTING ACCEPT [606:55243]
:INPUT ACCEPT [385:40605]
:OUTPUT ACCEPT [38:7825]
:POSTROUTING ACCEPT [2:120]
-A POSTROUTING -o enp5s0f0 -j MASQUERADE
-A POSTROUTING -o enp5s0f0 -j MASQUERADE
COMMIT
# Completed on Sun May 31 21:16:50 2015
# Generated by iptables-save v1.4.21 on Sun May 31 21:16:50 2015
*filter
:INPUT ACCEPT [144:103836]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [162:23758]
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i enp5s0f1 -o enp5s0f0 -j ACCEPT
COMMIT
# Completed on Sun May 31 21:16:50 2015
Merci à tous pour votre aide
Dernière modification par Musky le sam. 06 juin 2015, 22:49, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17186
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [reseau] Envoyer le flux multicast sur une interface réseau spécifique

Message par benjarobin »

Bonjour,
Il existe une option pour cela : --miface : https://wiki.videolan.org/VLC_command-line_help
Mais via l'ajout d'une route cela devrait fonctionner aussi
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Musky
Daikyu
Messages : 96
Inscription : mer. 26 août 2009, 01:32
Localisation : Bourges

Re: [reseau] Envoyer le flux multicast sur une interface réseau spécifique [résolu]

Message par Musky »

Ok, résolu par l'ajout d'une route sur l'interface. Merci :D
Répondre