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
Code : Tout sélectionner
vlc rtp://224.0.0.1:5004
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
----------------------------------
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
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
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