====== Comment agréger le flux video de la Freebox sur un reseau IP ====== ===== Position de la problématique: ===== Je dispose d'une Freeboxv5 en mode bridge (non routeur), d'une freeboxHD (boitier TV). Bien que Free propose une paire de boitiers CPL, cela ne passe pas chez moi sans doute un problème de phases .... Bien sur je n'ai qu'un seul câble réseau entre les deux points : freeboxv5 et routeur linux d'un coté, freeboxHD et station linux de l'autre. L'idée c'est donc d'agréger deux flux ethernet dans des vlans différents pour faire cohabiter les deux sur un seul et même cable ethernet (gigabit qui plus est). Un dessin valant mille mots, voici un petit croquis: http://islay.terre-adelie.org/image/Diagramme1.png ====== Une histoire de VLAN ====== Branché en ethernet sur un ordinateur, la freeboxHD tente de communiquer sur le VLAN100, on aperçoit en particulier des requêtes DHCP en IPv4 et de l'IPv6.... ====== Bridge ethernet ====== Les freebox utilisant pas mal de protocols distincts (IPv4, IPv6, IPsec, ...) il faut toucher le moins possible aux paquets, d'où le choix du bridge ethernet. ===== Config au niveau du routeur: ===== Le routeur dispose de beaucoup d'interfaces réseaux, parmis lesquelles on peut citer * eth0 : vers la freeboxv5, c'est la patte IP externe, c'est là que le plus gros du travail du firewall se fait sur le routeur . * eth6 : vers la freeboxv5, prise ethernet jaune pour la video. * eth7 : vers le switch qui est relié à la station linux et la freebox HD. /etc/network/interfaces: il semblerait que les adresses IPv4 des freebox soient dans la classe 192.168.27.0/24 # Pont inter-freebox auto eth6.100 #Connected on the Freebovx5-video port iface eth6.100 inet static vlan_raw_device eth6 auto eth7.100 #Connected on the FreeboxHD through a switch iface eth7.100 inet static vlan_raw_device eth7 auto br1 iface br1 inet static bridge_ports eth6.100 eth7.100 bridge_stp off bridge_maxwait 0 address 192.168.27.100 netmask 255.255.255.0 mtu 1500 Niveau firewall je me suis contenté de quelque chose du type: iptables -A FORWARD -i br1 -o br1 -j ACCEPT De toute facon si bridge-nf-call-iptables = 0 les regles du firewall ne devraient pas être appliquées pour les paquets transmis. Dans /proc/sys/net/bridge/: * bridge-nf-call-arptables 0 * bridge-nf-call-ip6tables 0 * bridge-nf-call-iptables 0 * bridge-nf-filter-pppoe-tagged 0 * bridge-nf-filter-vlan-tagged 0 dans /proc/sys/net, une conf qui marche mais sans doute à simplifier. Si vous avez un avis sur le sujet ... merci de me le faire savoir Pour eth6.100 ./neigh/eth6.100/mcast_solicit = 3 ./neigh/eth6.100/ucast_solicit = 3 ./neigh/eth6.100/app_solicit = 0 ./neigh/eth6.100/retrans_time = 100 ./neigh/eth6.100/base_reachable_time = 30 ./neigh/eth6.100/delay_first_probe_time = 5 ./neigh/eth6.100/gc_stale_time = 60 ./neigh/eth6.100/unres_qlen = 3 ./neigh/eth6.100/proxy_qlen = 64 ./neigh/eth6.100/anycast_delay = 100 ./neigh/eth6.100/proxy_delay = 80 ./neigh/eth6.100/locktime = 100 ./neigh/eth6.100/retrans_time_ms = 1000 ./neigh/eth6.100/base_reachable_time_ms = 30000 ./conf/eth6.100/forwarding = 1 ./conf/eth6.100/mc_forwarding = 0 ./conf/eth6.100/accept_redirects = 0 ./conf/eth6.100/secure_redirects = 1 ./conf/eth6.100/shared_media = 1 ./conf/eth6.100/rp_filter = 1 ./conf/eth6.100/send_redirects = 0 ./conf/eth6.100/accept_source_route = 0 ./conf/eth6.100/proxy_arp = 0 ./conf/eth6.100/medium_id = 0 ./conf/eth6.100/bootp_relay = 1 ./conf/eth6.100/log_martians = 1 ./conf/eth6.100/tag = 0 ./conf/eth6.100/arp_filter = 0 ./conf/eth6.100/arp_announce = 0 ./conf/eth6.100/arp_ignore = 0 ./conf/eth6.100/arp_accept = 0 ./conf/eth6.100/arp_notify = 0 ./conf/eth6.100/disable_xfrm = 0 ./conf/eth6.100/disable_policy = 0 ./conf/eth6.100/force_igmp_version = 0 ./conf/eth6.100/promote_secondaries = 0 Pour br1 ./neigh/br1/mcast_solicit = 3 ./neigh/br1/ucast_solicit = 3 ./neigh/br1/app_solicit = 0 ./neigh/br1/retrans_time = 100 ./neigh/br1/base_reachable_time = 30 ./neigh/br1/delay_first_probe_time = 5 ./neigh/br1/gc_stale_time = 60 ./neigh/br1/unres_qlen = 3 ./neigh/br1/proxy_qlen = 64 ./neigh/br1/anycast_delay = 100 ./neigh/br1/proxy_delay = 80 ./neigh/br1/locktime = 100 ./neigh/br1/retrans_time_ms = 1000 ./neigh/br1/base_reachable_time_ms = 30000 ./conf/br1/forwarding = 1 ./conf/br1/mc_forwarding = 0 ./conf/br1/accept_redirects = 0 ./conf/br1/secure_redirects = 1 ./conf/br1/shared_media = 1 ./conf/br1/rp_filter = 1 ./conf/br1/send_redirects = 0 ./conf/br1/accept_source_route = 0 ./conf/br1/proxy_arp = 0 ./conf/br1/medium_id = 0 ./conf/br1/bootp_relay = 1 ./conf/br1/log_martians = 1 ./conf/br1/tag = 0 ./conf/br1/arp_filter = 0 ./conf/br1/arp_announce = 0 ./conf/br1/arp_ignore = 0 ./conf/br1/arp_accept = 0 ./conf/br1/arp_notify = 0 ./conf/br1/disable_xfrm = 0 ./conf/br1/disable_policy = 0 ./conf/br1/force_igmp_version = 0 ./conf/br1/promote_secondaries = 0 ====== Biblio ====== * http://lafibre.info/index.php?topic=3381.new * http://www.journaldufreenaute.fr/forum/index.php?showtopic=4168