{"id":266,"date":"2017-07-24T12:03:32","date_gmt":"2017-07-24T11:03:32","guid":{"rendered":"https:\/\/blog.brimbelle.org\/?p=266"},"modified":"2019-11-18T17:39:22","modified_gmt":"2019-11-18T16:39:22","slug":"fibre-orange-et-routeur-openbsd","status":"publish","type":"post","link":"https:\/\/blog.brimbelle.org\/index.php\/2017\/07\/24\/fibre-orange-et-routeur-openbsd\/","title":{"rendered":"Fibre Orange et routeur OpenBSD"},"content":{"rendered":"<p><a href=\"https:\/\/blog.brimbelle.org\/wp-content\/uploads\/2017\/07\/330x300-330x300choix-orange-fibre-32783.png\" rel=\"lightbox[266]\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-269\" src=\"https:\/\/blog.brimbelle.org\/wp-content\/uploads\/2017\/07\/330x300-330x300choix-orange-fibre-32783-150x150.png\" alt=\"\" width=\"150\" height=\"150\" \/><\/a>Depuis maintenant deux semaines,\u00a0brimbelle.org\u00a0a migr\u00e9 sur un acc\u00e8s\u00a0<a href=\"https:\/\/boutique.orange.fr\/internet\/offres-fibre\">fibre Orange<\/a>, en remplacement de mon ancien acc\u00e8s ADSL Free. Suite \u00e0 une innondation, les d\u00e9bits sur ma ligne \u00e9taient devenus catastrophiques (autour de 300kb\/s d&rsquo;upload).<br \/>\nComme l&rsquo;objectif est de s&rsquo;amuser un peu et d&rsquo;h\u00e9berger ma petite infrastructure sur du mat\u00e9riel et logiciel ma\u00eetris\u00e9, je me suis totalement d\u00e9barrass\u00e9 de la Livebox, remplac\u00e9e par mon routeur <a href=\"https:\/\/www.openbsd.org\/\">OpenBSD<\/a>\u00a0(\u00e0 base de <a href=\"https:\/\/www.pcengines.ch\/apu.htm\">PC Engines APU 1C4<\/a>), branch\u00e9 directement derri\u00e8re l&rsquo;<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Optical_Network_Termination\">ONT<\/a>.<\/p>\n<p>Je ne vais pas r\u00e9\u00e9crire les nombreux guides d\u00e9j\u00e0 pr\u00e9sents sur Internet, l&rsquo;objectif est de donner quelques astuces pour profiter de toutes les fonctionnalit\u00e9s.<\/p>\n<p><!--more--><\/p>\n<p style=\"padding-left: 30px;\"><strong>1. Les priorit\u00e9s 802.1Q\/802.1p<\/strong><\/p>\n<p>Sur la Livebox, les diff\u00e9rents types de flux passent par plusieurs\u00a0<a href=\"https:\/\/fr.wikipedia.org\/wiki\/IEEE_802.1Q\">VLAN 802.1Q<\/a> pour s\u00e9parer Internet, la VoD, la t\u00e9l\u00e9vision et la t\u00e9l\u00e9phonie.<\/p>\n<p>Selon l&rsquo;endroit o\u00f9 vous habitez, il se peut que les infrastructures Orange n\u00e9cessitent de positionner des priorit\u00e9s <a href=\"https:\/\/fr.wikipedia.org\/wiki\/IEEE_802.1Q#Priorit.C3.A9\">802.1p<\/a> pour les diff\u00e9rents paquets au sein de ces VLAN. Je pense que ce param\u00e9trage est n\u00e9cessaire sur les anciennes infrastructures compatibles PPPoE. Sur les nouvelles, uniquement en DHCP, cela ne devrait plus \u00eatre n\u00e9cessaire.<\/p>\n<p>Je suis pour ma part dans le mauvais cas&#8230; sans les bonnes priorit\u00e9s rien ne fonctionne. Voici ce qu&rsquo;il faut respecter et la mani\u00e8re de faire :<\/p>\n<ul>\n<li>832 pour Internet : requ\u00eates DHCP, SLAAC et DHCPv6 en priorit\u00e9 6,<br \/>\nles donn\u00e9es en priorit\u00e9 1.<\/li>\n<li>838 pour la VoD : priorit\u00e9 4<\/li>\n<li>840 pour la t\u00e9l\u00e9vision : priorit\u00e9 5<\/li>\n<\/ul>\n<p>Sous OpenBSD, les requ\u00eates DHCP notamment, passent par des raw sockets. Il n&rsquo;est donc pas possible de mettre la bonne priorit\u00e9 avec PF. La solution consiste donc \u00e0 positionner la priorit\u00e9 des interfaces comme suit avec l&rsquo;option &lsquo;llprio&rsquo; de <a href=\"https:\/\/man.openbsd.org\/ifconfig\">ifconfig(8)<\/a> disponible depuis OpenBSD 6.0 :<br \/>\n<code># ifconfig vlan832 <span style=\"color: #ff0000;\">llprio 6<\/span><br \/>\n# ifconfig vlan838 <span style=\"color: #ff0000;\">llprio 4<\/span><br \/>\n#pas de DHCP sur l'interface vlan840<br \/>\n<\/code><\/p>\n<p>Ensuite, vous pouvez utiliser PF pour forcer dans le trafic sortant, toutes les autres priorit\u00e9s. Quelque chose comme ceci fonctionne :<br \/>\n<code>match out on vlan832 <span style=\"color: #ff0000;\">set prio 1<\/span><br \/>\nmatch out on vlan838 <span style=\"color: #ff0000;\">set prio 4<\/span><br \/>\nmatch out on vlan840 <span style=\"color: #ff0000;\">set prio 5<\/span><\/code><br \/>\nA vous d&rsquo;adapter la configuration selon votre besoin. Selon les r\u00e8gles que vous avez, il sera \u00e9galement n\u00e9cessaire de forcer la priorit\u00e9 au niveau des r\u00e8gles de filtrage elle-m\u00eames (notamment pour DHCPv6, voir plus bas).<\/p>\n<p style=\"padding-left: 30px;\"><strong>2. IPv4<\/strong><\/p>\n<p>Pour IPv4, rien de particulier \u00e0 signaler : <a href=\"https:\/\/man.openbsd.org\/dhclient\">dhclient(8)<\/a>\u00a0fourni de base avec OpenBSD peut \u00eatre configur\u00e9 sans probl\u00e8me pour passer les bonnes options \u00e0 Orange. Les liens fournis en fin d&rsquo;article permettent de mettre les bonnes valeurs selon votre cas.<\/p>\n<p style=\"padding-left: 30px;\"><strong>3. IPv6<\/strong><\/p>\n<p>Pour IPv6, la configuration est un peu plus particuli\u00e8re. Il est n\u00e9cessaire d&rsquo;utiliser deux m\u00e9canismes.<\/p>\n<p>D&rsquo;abord, attribuer une adresse IPv6 de type linklocal sur l&rsquo;interface vlan832 et r\u00e9cup\u00e9rer la route par d\u00e9faut d&rsquo;Orange avec quelque chose comme :<br \/>\n<code># ifconfig vlan832 <span style=\"color: #ff0000;\">inet6 eui64 autoconf<\/span><\/code><\/p>\n<p>Ensuite, il faut r\u00e9cup\u00e9rer votre pr\u00e9fixe IPv6 public chez Orange par DHCPv6. OpenBSD n&rsquo;a pas de client de base pour faire cela. D&rsquo;apr\u00e8s mes recherches, <a href=\"https:\/\/roy.marples.name\/projects\/dhcpcd\">dhcpcd<\/a> dans les ports permettrait (peut-\u00eatre) de le faire dans ses derni\u00e8res versions mais :<\/p>\n<ul>\n<li>le port n&rsquo;est pas \u00e0 jour et il y a un bug au niveau de l&rsquo;option d&rsquo;authentification utilis\u00e9e par Orange.<\/li>\n<li>Il manque la gestion de l&rsquo;option 15 \u00ab\u00a0User Class\u00a0\u00bb \u00e0 dhcpcd et il n&rsquo;est pas possible de passer des options custom dans les requ\u00eates. Je ne sais pas si \u00e7a marche sans cette option chez Orange&#8230; \u00e0 tester.<\/li>\n<\/ul>\n<p>Le plus facile est d&rsquo;utiliser <a href=\"http:\/\/klub.com.pl\/dhcpv6\/\">dibbler<\/a>. Ce client IPv6, dont vous pourrez trouver la version 1.0.1 <a href=\"http:\/\/klub.com.pl\/dhcpv6\/#DOWNLOAD\">ici<\/a> fonctionne bien. Il n&rsquo;est pas disponible dans les ports, mais sa compilation est simple et la configuration se trouve \u00e9galement dans les liens plus bas. Attention, dibbler n&rsquo;utilise pas les raw sockets, il vous faudra donc avoir des r\u00e8gles PF sp\u00e9cifiques pour positionner la priorit\u00e9 802.1p \u00e0 6 sur les paquets UDP pour DHCPv6.<\/p>\n<p>Pour ma part, contrairement aux autres articles que l&rsquo;on peut trouver sur Internet, je me sers de dibbler uniquement\u00a0pour maintenir le bail DHCPv6 (et donc garder le pr\u00e9fixe qu&rsquo;Orange m&rsquo;a attribu\u00e9). Je n&rsquo;ex\u00e9cute aucun script pour configurer mes interfaces. En effet, Orange distribue via DHCPv6 un pr\u00e9fixe \/56 et l&rsquo;int\u00e9gralit\u00e9 est rout\u00e9 chez vous. La Livebox ne vous donne acc\u00e8s qu&rsquo;au premier \/64, mais avec votre propre routeur, libre \u00e0 vous d&rsquo;utiliser le reste&#8230; c&rsquo;est ce que je fais.<\/p>\n<p>Au niveau de mon r\u00e9seau local priv\u00e9, j&rsquo;utilise <a href=\"https:\/\/man.openbsd.org\/rtadvd\">rtadvd(8)<\/a> pour distribuer automatiquement un subnet \/64 de ce \/56 et sa route par d\u00e9faut. Dans l&rsquo;environnement DMZ, j&rsquo;ai param\u00e9tr\u00e9 en statique un autre \/64.<\/p>\n<p>Ceci n&rsquo;est pas \u00e0 100% robuste, car si Orange d\u00e9cide un jour de changer le pr\u00e9fixe IPv6 qu&rsquo;ils m&rsquo;attribuent, plus rien ne fonctionnera. En pratique, Orange maintient en IPv4 et IPv6 des baux de 7 jours. Donc si votre client DHCPv[46] les renouvelle \u00e0 temps, il n&rsquo;y a pas de raison qu&rsquo;ils changent. De plus, h\u00e9bergeant ce serveur sur l&rsquo;un des \/64, \u00e7a deviendrait une usine \u00e0 gaz si je souhaitais tout param\u00e9trer en automatique, jusqu&rsquo;aux changements DNS&#8230;<\/p>\n<p style=\"padding-left: 30px;\"><strong>4. VoD \/ T\u00e9l\u00e9vision<\/strong><\/p>\n<p>Pour La VoD, donc le VLAN 838, les guides cit\u00e9s en lien sont assez complets. Ce qui est important :<\/p>\n<ul>\n<li>respecter encore les bonnes priorit\u00e9s, c&rsquo;est \u00e0 dire 4 (VLAN 838),<\/li>\n<li>param\u00e9trer le client DHCP sur cette interface avec les bonnes options,<\/li>\n<li>ouvrir les bons flux en sortie\u00a0 de l&rsquo;interface vlan838 et mettre une r\u00e8gle de NAT dans PF.<\/li>\n<\/ul>\n<p>Pour la T\u00e9l\u00e9vision, VLAN 840, il va falloir utiliser igmpproxy disponible dans les ports. Sa configuration est tr\u00e8s simple. Vous la trouverez \u00e9galement dans les liens indiqu\u00e9s en derni\u00e8re partie.<br \/>\nL&rsquo;important pour que cela fonctionne est :<\/p>\n<ul>\n<li>encore une fois, respecter la bonne priorit\u00e9 de 5 sur le VLAN 840,<\/li>\n<li>param\u00e9trer en statique l&rsquo;interface vlan840 avec une adresse IP (peu importe la quelle, par exemple\u00a0192.168.34.0\/24),<\/li>\n<li>ouvrir les bons flux en entr\u00e9e et sortie de l&rsquo;interface vlan840 (sans NAT) ; ne pas oublier d&rsquo;autoriser l&rsquo;IGMP sur l&rsquo;interface vlan840 ET l&rsquo;interface interne sur laquelle est branch\u00e9 le d\u00e9codeur.<\/li>\n<\/ul>\n<p>Enfin, un point important, le d\u00e9codeur TV Orange doit \u00eatre configur\u00e9 pour utiliser les serveurs DNS d&rsquo;Orange. Je vous recommande donc de param\u00e9trer <a href=\"https:\/\/man.openbsd.org\/dhcpd\">dhcpd(8)<\/a> de mani\u00e8re \u00e0 lui r\u00e9server une IP avec les bons DNS :<br \/>\n<code>host player {<br \/>\nhardware ethernet 18:1e:78:xx:xx:xx;<br \/>\nfixed-address 192.168.xx.xx;<br \/>\n<span style=\"color: #ff0000;\">option domain-name-servers 80.10.246.136, 81.253.149.6;<\/span><\/code><\/p>\n<p>Remarque : diff\u00e9rents exemples de configuration sur Internet montent un <a href=\"https:\/\/man.openbsd.org\/bridge\">bridge(4)<\/a> entre les interfaces vlan838 et vlan840. \u00c7a n&rsquo;est absolument pas n\u00e9cessaire.<\/p>\n<p style=\"padding-left: 30px;\"><strong>5. Le pr0n n\u00e9cessaire \ud83d\ude09<\/strong><\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/blog.brimbelle.org\/wp-content\/uploads\/2017\/07\/infra_brimbelle.jpg\" rel=\"lightbox[266]\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-274\" src=\"https:\/\/blog.brimbelle.org\/wp-content\/uploads\/2017\/07\/infra_brimbelle-272x300.jpg\" alt=\"\" width=\"272\" height=\"300\" srcset=\"https:\/\/blog.brimbelle.org\/wp-content\/uploads\/2017\/07\/infra_brimbelle-272x300.jpg 272w, https:\/\/blog.brimbelle.org\/wp-content\/uploads\/2017\/07\/infra_brimbelle-768x847.jpg 768w, https:\/\/blog.brimbelle.org\/wp-content\/uploads\/2017\/07\/infra_brimbelle-928x1024.jpg 928w, https:\/\/blog.brimbelle.org\/wp-content\/uploads\/2017\/07\/infra_brimbelle.jpg 1000w\" sizes=\"auto, (max-width: 272px) 100vw, 272px\" \/><\/a><\/p>\n<p style=\"padding-left: 30px;\"><strong>6. Liens utiles<\/strong><\/p>\n<ul>\n<li>Tr\u00e8s bon article avec pr\u00e9sentation du fonctionnement de la fibre Orange et tuto pour routeur Mikrotik (IPv4, TV, T\u00e9l\u00e9phonie, etc.) :\u00a0<a href=\"http:\/\/sebastien.warin.fr\/2017\/02\/11\/4284-fonctionnement-fibre-orange-remplacement-livebox-routeur-mikrotik-routeros\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-saferedirecturl=\"https:\/\/www.google.com\/url?hl=en&amp;q=http:\/\/sebastien.warin.fr\/2017\/02\/11\/4284-fonctionnement-fibre-orange-remplacement-livebox-routeur-mikrotik-routeros\/&amp;source=gmail&amp;ust=1500967821251000&amp;usg=AFQjCNGt9d_2l_na0EyssjgbDCbw8Zti4Q\">http:\/\/sebastien.warin.fr\/<wbr \/>2017\/02\/11\/4284-<wbr \/>fonctionnement-fibre-orange-<wbr \/>remplacement-livebox-routeur-<wbr \/>mikrotik-routeros\/<\/a><\/li>\n<li>Tuto expliquant les configurations de base pour Linux et OpenBSD (IPv4 et IPv6) :\u00a0<a href=\"https:\/\/lafibre.info\/remplacer-livebox\/remplacer-la-livebox-sans-pppoe\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-saferedirecturl=\"https:\/\/www.google.com\/url?hl=en&amp;q=https:\/\/lafibre.info\/remplacer-livebox\/remplacer-la-livebox-sans-pppoe\/&amp;source=gmail&amp;ust=1500967821251000&amp;usg=AFQjCNEkvN1DK8gr-qJxLELWNEPUdcstiw\">https:\/\/lafibre.info\/<wbr \/>remplacer-livebox\/remplacer-<wbr \/>la-livebox-sans-pppoe\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Depuis maintenant deux semaines,\u00a0brimbelle.org\u00a0a migr\u00e9 sur un acc\u00e8s\u00a0fibre Orange, en remplacement de mon ancien acc\u00e8s ADSL Free. Suite \u00e0 une innondation, les d\u00e9bits sur ma ligne \u00e9taient devenus catastrophiques (autour de 300kb\/s d&rsquo;upload). Comme l&rsquo;objectif est de s&rsquo;amuser un peu et d&rsquo;h\u00e9berger ma petite infrastructure sur du mat\u00e9riel et logiciel ma\u00eetris\u00e9, je me suis totalement [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,5],"tags":[154],"class_list":["post-266","post","type-post","status-publish","format-standard","hentry","category-informations-pour-les-geeks","category-techno","tag-orange-livebox-fibre-ont-routeur-openbsd-vlan-priorite-television-igmp"],"_links":{"self":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/posts\/266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/comments?post=266"}],"version-history":[{"count":0,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/posts\/266\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/media?parent=266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/categories?post=266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/tags?post=266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}