Bonjour,
A la suite de nombreuses recherches et tests, j'ai réalisé ma propre configuration.
Nous avons donc une configuration sans Livebox, sans "switch" sur le routeur Ubiquiti et sans téléphone fixe (si c'est pour recevoir 10 démarchages par jour, de toute façon, je vois pas l'intérêt...) et qui permet d'avoir tous les services (hors téléphone) sur 1 seul VLAN.
EDIT 26/12/2019 : Tuto Téléphonie VoIP https://lafibre.info/remplacer-livebox/tuto-er-6p-v2-0-6-cisco-sg350-28p-nettv-sans-livebox/msg718270/#msg718270Equipements :
- Une connexion fibre (DHCP)
- Un module SFP FGS202 (fourni par Orange)
- Un switch Cisco SG350-28P (Firmware v2.4)
- Un routeur Ubiquiti EdgeMax ER-6P (Firmware v2.0.6)
- Une décodeur TV 4
- Une livebox 4 remisée dans son carton (elle a servi pour réaliser la configuration)
- Un serveur Synology avec différents services DNS/VPN client/Proxy Internet (configuration non détaillée dans ce post)
Logiciels : Putty/mRemoteNG
Configuration interfaces routeur :
- eth0 (router) : LAN = 192.168.3.1/24 avec serveur dhcp (Liaison router -> switch (LAN)
- eth5 (router) : WAN = Client DHCP Orange (+ 2 VIF : 832 et 840) (Liaison switch (SFP) -> router)
Configuration interfaces switch :
- Gi27 (switch): SFP Orange <-> PTO
- Gi28 (switch): SFP <-> ETH5 ER6P (WAN)
- Gi25 (switch): Switch SG350 <-> ETH0 ER6P (LAN)
Fonctionnalités possibles (sans livebox et sans "switch d'interface") :
- Internet (IPv4/IPv6)
- TV/VoD/Replay/Netflix/MediaCenter
Le switch Cisco est utilisé pour faire le marquage CoS.
Schéma :
Etape 0 : Récupérer les informations importantes de la Livebox1) Récupérer son identifiant fti/, l'adresse MAC de la livebox et le préfixe IPv6 délégué (ex : 2a01:xxxx:xxxx:xxxx/56).
Il faut d'abord utiliser la Livebox pour connaître son identifiant. Pour ma part, Orange l'a changé lors de mon
changement d'offre ADSL --> Fibre sans me le communiquer.
Pour cela, RDV à la page 192.168.1.1 de la Livebox 4. Je ne détaille pas cette partie, il faut juste naviguer dans les menus.
J'ai récupéré l'option directement en hexa via tcpdump, mais c'est un peu compliqué à faire et beaucoup de bricolage pas vraiment utile.
2) Convertir l'identifiant en hexa.Pour cela, vous pouvez utiliser le site
https://www.asciitohex.com/.
Ici, ce qui nous intéresse est la partie après "fti/".
Voici la chaîne à modifier avec votre identifiant (remplacer xx:xx:xx:xx:xx:xx:xx par la valeur hexa de la partie après le fti/) :
00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0d:66:74:69:2f:xx:xx:xx:xx:xx:xx:xx:3c:12:7c:68:55:78:21:78:2e:75:30:60:36:33:37:40:73:67:03:13:3c:0a:12:10:32:52:73:be:72:5f:8f:21:a5:74:02:02:c0
Etape 1 : Réaliser la configuration du switch (VLAN+marquage CoS pour le DHCPv4/DHCPv6/VLAN840)EDIT 29/08/2019 : TUTO https://lafibre.info/remplacer-livebox/tuto-er-6p-v2-0-6-cisco-sg350-28p-nettv-sans-livebox/msg679194/#msg679194EDIT 03/03/2021 : Il existe d'autres solutions permettant le marquage CoS (par ex. : utiliser un autre switch, patcher dhclient3+TPLink MC220L).dhclient3 patché : https://lafibre.info/remplacer-livebox/dhclient-patche-er-6p-2-0-8-hotfix1/msg781106/#msg781106Etape 2 : Réaliser la configuration de base du routeurVérifier et corriger les interfaces dans chaque codeLa configuration de base se fait à partir de l'interface eth0 dont l'adresse IP statique est 192.168.1.1/24 via SSH (port 22) avec Putty ou mRemoteNG.
Identifiants : ubnt/ubnt
1) Configurer les interfacesconfigure
set interfaces ethernet eth0 address 192.168.3.1/24
set interfaces ethernet eth5 description WAN
set interfaces ethernet eth0 description LAN
commit;save
exit
2) Configurer les paramètres systèmes (offloading, time-zone, ...)configure
set system time-zone Europe/Paris
set system traffic-analysis dpi enable
set system traffic-analysis export enable
set system offload ipv4 forwarding enable
set system offload ipv4 vlan enable
set system offload ipsec enable
set system offload ipv6 forwarding enable
set system offload ipv6 vlan enable
commit;save
exit
3) Configurer le Firewall IPv4configure
set firewall name WAN_IN default-action drop
set firewall name WAN_IN description "WAN to internal"
set firewall name WAN_IN rule 1 action accept
set firewall name WAN_IN rule 1 description "Allow established/related"
set firewall name WAN_IN rule 1 log disable
set firewall name WAN_IN rule 1 protocol all
set firewall name WAN_IN rule 1 state established enable
set firewall name WAN_IN rule 1 state invalid disable
set firewall name WAN_IN rule 1 state new disable
set firewall name WAN_IN rule 1 state related enable
set firewall name WAN_IN rule 2 action drop
set firewall name WAN_IN rule 2 description "Drop invalid state"
set firewall name WAN_IN rule 2 log disable
set firewall name WAN_IN rule 2 protocol all
set firewall name WAN_IN rule 2 state established disable
set firewall name WAN_IN rule 2 state invalid enable
set firewall name WAN_IN rule 2 state new disable
set firewall name WAN_IN rule 2 state related disable
set firewall name WAN_LOCAL default-action drop
set firewall name WAN_LOCAL description "WAN to router"
set firewall name WAN_LOCAL rule 1 action accept
set firewall name WAN_LOCAL rule 1 description "Allow established/related"
set firewall name WAN_LOCAL rule 1 log disable
set firewall name WAN_LOCAL rule 1 protocol all
set firewall name WAN_LOCAL rule 1 state established enable
set firewall name WAN_LOCAL rule 1 state invalid disable
set firewall name WAN_LOCAL rule 1 state new disable
set firewall name WAN_LOCAL rule 1 state related enable
set firewall name WAN_LOCAL rule 2 action drop
set firewall name WAN_LOCAL rule 2 description "Drop invalid state"
set firewall name WAN_LOCAL rule 2 log disable
set firewall name WAN_LOCAL rule 2 protocol all
set firewall name WAN_LOCAL rule 2 state established disable
set firewall name WAN_LOCAL rule 2 state invalid enable
set firewall name WAN_LOCAL rule 2 state new disable
set firewall name WAN_LOCAL rule 2 state related disable
commit;save
exit
4) Configurer le serveur DHCP/DNSconfigure
set service dhcp-server shared-network-name LAN1 authoritative enable
set service dhcp-server shared-network-name LAN1 subnet 192.168.3.0/24 start 192.168.3.200 stop 192.168.3.240
set service dhcp-server shared-network-name LAN1 subnet 192.168.3.0/24 default-router 192.168.3.1
set service dhcp-server shared-network-name LAN1 subnet 192.168.3.0/24 lease 86400
set service dhcp-server shared-network-name LAN1 subnet 192.168.3.0/24 dns-server 192.168.3.1
commit;save
exit
Si vous avez vos propres serveur DNS, pour les services TV (Netflix par ex), VOD, il est obligatoire que les serveurs DNS d'Orange résolvent les domaines orange.fr et orange.com. Il faut donc faire un forward des requêtes.Etape 3 : Configurer la partie InternetVérifier et corriger les interfaces dans tout le code1) Configurer le VLAN 832 et le client DHCPv4Dans la partie ci-dessous, il faudra corriger les lignes suivantes : a) Chaîne fti/xxxxxxx calculée à l'étape 1set interfaces ethernet eth5 vif 832 dhcp-options client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0d:66:74:69:2f:xx:xx:xx:xx:xx:xx:xx:3c:12:7c:68:55:78:21:78:2e:75:30:60:36:33:37:40:73:67:03:13:3c:0a:12:10:32:52:73:be:72:5f:8f:21:a5:74:02:02:c0;"
b) Adresse MAC récupérée à l'étape 1set interfaces ethernet eth5 vif 832 dhcp-options client-option "send dhcp-client-identifier 1:xx:xx:xx:xx:xx:xx;"
configure
set interfaces ethernet eth5 vif 832 address dhcp
set interfaces ethernet eth5 vif 832 description "eth5.832 Internet"
set interfaces ethernet eth5 vif 832 firewall in name WAN_IN
set interfaces ethernet eth5 vif 832 firewall local name WAN_LOCAL
set interfaces ethernet eth5 vif 832 dhcp-options client-option "send vendor-class-identifier "sagem";"
set interfaces ethernet eth5 vif 832 dhcp-options client-option "send user-class "\053FSVDSL_livebox.Internet.softathome.Livebox4";"
set interfaces ethernet eth5 vif 832 dhcp-options client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0d:66:74:69:2f:xx:xx:xx:xx:xx:xx:xx:3c:12:7c:68:55:78:21:78:2e:75:30:60:36:33:37:40:73:67:03:13:3c:0a:12:10:32:52:73:be:72:5f:8f:21:a5:74:02:02:c0;"
set interfaces ethernet eth5 vif 832 dhcp-options client-option "send dhcp-client-identifier 1:xx:xx:xx:xx:xx:xx;"
set interfaces ethernet eth5 vif 832 dhcp-options client-option "request subnet-mask, routers, domain-name-servers, domain-name, broadcast-address, dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, rfc3118-auth, domain-search;" #, SIP, V-I are not supported
set interfaces ethernet eth5 vif 832 dhcp-options default-route update
set interfaces ethernet eth5 vif 832 dhcp-options default-route-distance 210
set interfaces ethernet eth5 vif 832 dhcp-options global-option "option rfc3118-auth code 90 = string;"
set interfaces ethernet eth5 vif 832 dhcp-options name-server update
commit;save
exit
2) Configurer le dns forwardingconfigure
set service dns forwarding listen-on eth0
commit;save
exit
3) Activer le "Masquerading" pour Internetconfigure
set service nat rule 5000 description "masquerade for WAN"
set service nat rule 5000 outbound-interface eth5.832
set service nat rule 5000 type masquerade
commit;save
exit
Etape 4 : Configurer la partie TVVérifier et corriger les interfaces dans tout le code1) Configurer l'interface eth5 pour le VLAN 840configure
set interfaces ethernet eth5 vif 840 description "eth5.840 TV - Multicast"
set interfaces ethernet eth5 vif 840 address 192.168.255.254/32
commit;save
exit
2) Activer le proxy IGMPconfigure
set protocols igmp-proxy interface eth5.840 alt-subnet 0.0.0.0/0
set protocols igmp-proxy interface eth5.840 role upstream
set protocols igmp-proxy interface eth5.840 threshold 1
set protocols igmp-proxy interface eth0 alt-subnet 0.0.0.0/0
set protocols igmp-proxy interface eth0 role downstream
set protocols igmp-proxy interface eth0 threshold 1
commit;save
exit
Afin de ne pas "flooder" votre réseau, il faut absolument configurer l'IGMP snooping sur tous vos switchs.A partir de ce point, le routeur doit avoir récupéré une adresse IPv4 et doit fonctionner avec TV sans reboot du routeur.Etape 5 : Configurer l'IPv6Vérifier et corriger les interfaces dans tout le codeEDIT 20/06/2020 : Refonte complète du script dhclient-ipv6 pour les RA sur plusieurs interfaces internes+diverses correctionsDisclaimer : Il faut ici plus de connaissance Linux. Je ne détaillerai pas comment créer un fichier.
Cela a le mérite de fonctionner sans trop de modification du routeur.
Cette configuration se base (notamment) sur ce post :
https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/.
1) Configurer le Firewall IPv6Pareil que IPv4 mais pour IPv6.
configure
edit firewall ipv6-name WANv6_IN
set description "WAN inbound traffic forwarded to LAN"
set default-action drop
set rule 10 action accept
set rule 10 description "Allow established/related sessions"
set rule 10 state established enable
set rule 10 state related enable
set rule 20 action accept
set rule 20 description "allow ICMPv6"
set rule 20 protocol ipv6-icmp
set rule 30 action drop
set rule 30 description "Drop invalid state"
set rule 30 state invalid enable
exit
edit firewall ipv6-name WANv6_LOCAL
set default-action drop
set description "WAN inbound traffic to the router"
set rule 10 action accept
set rule 10 description "Allow established/related sessions"
set rule 10 state established enable
set rule 10 state related enable
set rule 20 action drop
set rule 20 description "Drop invalid state"
set rule 20 state invalid enable
set rule 30 action accept
set rule 30 description "Allow IPv6 icmp"
set rule 30 protocol ipv6-icmp
set rule 40 action accept
set rule 40 description "Allow dhcpv6"
set rule 40 destination port 546
set rule 40 source port 547
set rule 40 protocol udp
exit
set interfaces ethernet eth5 vif 832 firewall in ipv6-name WANv6_IN
set interfaces ethernet eth5 vif 832 firewall local ipv6-name WANv6_LOCAL
commit;save
exit
2) Configurer l'autoconf IPv6 sur l'interface WAN (eth5.832) + RA sur les interfaces LANDans la partie ci-dessous, il faudra ajouter à la configuration au moins une ligne de configuration sur une interfaces interne (eth0) pour que le service radvd soit activé automatiquement
configure
set interfaces ethernet eth0 ipv6 router-advert prefix ::/64
commit;save
exit
3) Créer les fichiers suivants en mode rootAprès s'être connecté en SSH, faire un sudo et éditer un fichier (il faut aussi modifier les interfaces pour coller à votre config).
ubnt@ubnt:~$ sudo -i
root@ubnt:~# vi /etc/dhcp3/dhclient6_eth5_832.conf
a) Créer le fichier /etc/dhcp3/dhclient6_eth5_832.confAdapter le nom de fichier et le nom de l'interface (interface WAN VLAN 832) correspondant à votre configuration, la ligne dhcp6.auth et dhcp6.client-id (avec l'adresse MAC de votre interface WAN).option dhcp6.auth code 11 = string;
option dhcp6.vendorclass code 16 = string;
option dhcp6.userclass code 15 = string;
#Replace eth5 with your external interface (VLAN must be 832 for Orange)
interface "eth5.832" {
#Orange France specific options
send dhcp6.vendorclass 00:00:04:0e:00:05:73:61:67:65:6d;
send dhcp6.userclass 00:2b:46:53:56:44:53:4c:5f:6c:69:76:65:62:6f:78:2e:49:6e:74:65:72:6e:65:74:2e:73:6f:66:74:61:74:68:6f:6d:65:2e:6c:69:76:65:62:6f:78:34;
send dhcp6.vendor-opts 00:00:05:58:00:06:00:0e:49:50:56:36:5f:52:45:51:55:45:53:54:45:44;
#Authentication to Orange France DHCP server (meme valeur pour ipv4)
send dhcp6.auth 00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0d:66:74:69:2f:xx:xx:xx:xx:xx:xx:xx:3c:12:7c:68:55:78:21:78:2e:75:30:60:36:33:37:40:73:67:03:13:3c:0a:12:10:32:52:73:be:72:5f:8f:21:a5:74:02:02:c0;
#Replace xx:xx:xx:xx:xx:xx with the MAC address of your external interface
send dhcp6.client-id 00:03:00:01:xx:xx:xx:xx:xx:xx;
request dhcp6.auth, dhcp6.vendor-opts, dhcp6.name-servers, dhcp6.domain-search;
}
b) Créer le fichier /etc/dhcp3/dhclient-exit-hooks.d/dhclient-ipv6Corriger la liste de paramètre en début de script.Faire un chmod 774 pour autoriser l'exécution du scriptLe script fait plusieurs tâches :
- Regénère le fichier /etc/radvd.conf sur base des interfaces fournies en paramètres.
- Récupère le préfixe dans le fichier lease
- Assigne une adresse IPv6 (::1) selon le préfixe demandé pour chaque interfaces LAN
- Contrôle/crée la route par défaut fe80::ba0:bab sur l'interface externe
- Nettoie les routes/adresses IPv6 à chaque démarrage du routeur/service
Ce script ne gère pas tous les problèmes possibles malheureusement, mais il y a des logs consultables pour débugger avec journalctl -t dhclient-ipv6
### Entête du fichier dhclient-ipv6 uniquement, fichier attaché en PJ de ce POST ###
leasefile='/var/run/dhclient6_eth5_832.leases' #On retrouve se fichier dans la configuration du service dhclient6 à l'étape suivante
EXT_IFACE='eth5.832' #Interface WAN : une seule interface possible
INT_IFACE=('eth0') #Interfaces LAN : plusieurs interfaces autorisées ex : INT_IFACE=('eth0' 'eth0.10')
INT_PREFIX=('01') #Préfixes IPv6 des interfaces : plusieurs prefixes autorisés (chaque interface doit avoir un préfixe) ex : INT_PREFIX=('01' '02')
c) Créer le fichier /etc/systemd/system/dhclient6.serviceRemplacer le nom de l'interface (interface WAN VLAN 832) correspondant à votre configuration, ainsi que les noms de fichiers précédemment créés.[Unit]
Description=dhclient for sending DUID IPv6
Before=network.target auditd.service vyatta-router.service netplug.service
[Service]
Type=forking
ExecStart=/sbin/dhclient -6 -P -nw -cf /etc/dhcp3/dhclient6_eth5_832.conf -pf /var/run/dhclient6_eth5_832.pid -lf /var/run/dhclient6_eth5_832.leases eth5.832
NonBlocking=yes
Restart=always
RestartSec=60
[Install]
WantedBy=multi-user.target
4) Recharger les services, activer et démarrer le service dhclient6A faire en root ou avec un sudo.
sudo -i systemctl daemon-reload
sudo -i systemctl enable dhclient6
sudo -i systemctl start dhclient6
Redémarrez et croisez les doigts que l'IPv6 fonctionne du premier coup !
PS : Je n'ai pas testé les multiples internes locales, mais je veux bien faire quelques corrections en cas de bug avéré.
Bon courage à vous dans tous les cas !