La Fibre
Datacenter et équipements réseaux => Routeurs => Remplacer la LiveBox par un routeur => Discussion démarrée par: nanostra le 21 mai 2018 à 06:29:24
-
TUTO - Edgerouter ERPro-8 pour Internet + LIVEBOX V4 DHCP pour TV et télephone
ARCHITECTURE ORANGE DHCP - PARTIE 2 IPV6 (IPV4 traité dans partie 1 du TUTO, voir lien plus bas)
IMPLEMENTATION IPV6 - IMPLEMENTATION IPV6 - IMPLEMENTATION IPV6
A JOUR AU 12/08/2018
--> TESTE SUR FIRMWARE 1.10.3 ET ER8PRO
--> TESTE SUR FIRMWARE 1.10.5 ET ER8PRO
22/05/2016 AJOUT STATIC ROUTE IPV6 SUR eth1.832
pour info, commande set si vous ne modifiez pas le fichier de config en exemple :
set protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth1.832
IMPERATIF, AVANT D'ATTAQUER CE TUTO, AVOIR REALISE LA PREMIERE PARTIE IPV4 QUI N'EST PAS REPRISE DANS CE TUTO.
PARTIE 1 IPV4 --> https://lafibre.info/remplacer-livebox/tuto-edgerouter-erpro-8-pour-internet-livebox-dhcp-pour-tv-et-telephone/ (https://lafibre.info/remplacer-livebox/tuto-edgerouter-erpro-8-pour-internet-livebox-dhcp-pour-tv-et-telephone/)
Fortement inspiré du post de geoffreyc ici https://lafibre.info/remplacer-livebox/guide-erlite-3-ipv6-sans-livebox-dhcp/ (https://lafibre.info/remplacer-livebox/guide-erlite-3-ipv6-sans-livebox-dhcp/)
et bien entendu des travaux de Zoc, Kgersen et tous les autres contributeurs. J'ai adapté le tuto de geoffreyc afin qu'il soit dans la continuité du la première partie du TUTO et pour faciliter la vie des plus téméraires. Dans le cas contraire, je me serai contenter de faire un lien... merci beaucoup à geoffreyc pour le travail de synthèse qu'il a effectué.
RAPPEL DE LA CONFIGURATION :
CABLAGE DU ROUTEUR ET ADRESSAGE RESEAU :
ETH0 --> LIVEBOX --> 192.168.2.1/24 (adresse différente de celle configurée dans la LIVEBOX) + SERVEUR DHCP
LIVEBOX cable entre ETH0 du Routeur et port Rouge Internet (fibre) de la LIVEBOX
LES BOX TV sont connectées sur la LIVEBOX tout comme le téléphone
ETH1 --> PRISE RJ45 DE L'ONT (ARRIVEE FIBRE) --> 192.168.10.x/24 + SERVEUR DHCP
ETH7 --> VERS RESEAU LOCAL (VERS SWITCH) --> 192.168.10.1 + SERVEUR DHCP
L'ON UTILISERA TOUJOURS LE USER root pour les transferts, attentions aux droits sous UNIX et aux retours chariots qui doivent être au format UNIX
1/ Installation de dibbler-client compilé par ZOC
copier le fichier dibbler.deb sous /tmp avec filezilla et user root
se connecter ensuite avec putty en root au routeur
puis :
cd /tmp
dpkg -i dibbler.deb
aux diverses questions répondre oui au lancement lors du démarrage et activer service DNS.. en fait ces choix n'ont pas beaucoup d'importance, l'on écrasera par la suite le fichier de config...
2/ Fichier de configuration dibbler
Aller sous /etc/dibbler et écraser le contenu du fichier client.conf avec le contenu qui suit.
Remplacer le XX:XX... par la string obtenue lors de la partie 1 du tuto IPV4 chapitre 3.
Rappel --> avec le calculateur javascript fourni par kgersen (lien içi pour rappel : https://jsfiddle.net/kgersen/45zudr15/embedded/result/ (https://jsfiddle.net/kgersen/45zudr15/embedded/result/))
--> faire un chmod 755 sur client.conf
Pour rappel, ce fichier de configuration est prévu pour un ONT (WAN) branché sur eth1
# Defaults for dibbler-client.
# installed at /etc/dibbler/client.conf by the maintainer scripts
# 8 (Debug) is most verbose. 7 (Info) is usually the best option
log-level 7
duid-type duid-ll
# To perform stateless (i.e. options only) configuration, uncomment
# this line below and remove any "ia" keywords from interface definitions
# stateless
downlink-prefix-ifaces "none"
script "/etc/dibbler/radvd.sh"
iface eth1.832 {
pd
option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
option 15 hex 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
option 11 hex 00:00:00:00:00:00:00:00:00:00:00:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
option 11 hex 00:00:00:00:00:00:00:00:00:00:00:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX
option dns-server
}
3/ script radvd.sh de ZOC
--> à copier dans même répertoire que client.conf radvd.sh sous /etc/dibbler/
--> faire un chmod 755 sur radvd.sh
Pour rappel, ce fichier de configuration est prévu pour un LAN branché en eth7 (derrière mon eth7 se trouve un switch qui dessert l'ensemble des machines de la maison en dehors de la Livebox qui est en eth0)
#!/bin/bash
if [ "$SRV_MESSAGE" != "REPLY" ]
then
exit 1
fi
function fullPrefix () {
local input=$1
local o=""
local z=""
input=$(tr 'A-F' 'a-f' <<< $input )
while [ "$o" != "$input" ]; do
o="$input"
input="$( sed 's|:\([0-9a-f]\{3\}\):|:0\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{3\}\)$|:0\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\{3\}\):|0\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{2\}\):|:00\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{2\}\)$|:00\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\{2\}\):|00\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\):|:000\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\)$|:000\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\):|000\1:|g' <<< "$input" )"
done
grep -qs "::" <<< "$input"
if [ "$?" -eq 0 ]; then
GRPS="$( sed 's|[0-9a-f]||g' <<< "$input" | wc -m )"
((GRPS--)) # carriage return
((MISSING=8-GRPS))
for ((i=0;i<$MISSING;i++)); do
z="$z:0000"
done
input="$( sed 's|\(.\)::\(.\)|\1'$z':\2|g' <<< "$input" )"
input="$( sed 's|\(.\)::$|\1'$z':0000|g' <<< "$input" )"
input="$( sed 's|^::\(.\)|'$z':0000:\1|g;s|^:||g' <<< "$input" )"
fi
echo "$input"
}
ETH7_SUFFIX="01::1"
STATUS_FILE=/run/dibbler.lease
if [ -f "$STATUS_FILE" ];
then
source $STATUS_FILE
fi
TRIM_SIZE=17
FULLPREFIX=$( fullPrefix $PREFIX1 )
PREFIX1=${FULLPREFIX:0:TRIM_SIZE}
if [ "$PREFIX1" != "$CURRENT_PREFIX1" ]
then
if [ "$CURRENT_PREFIX1" != "" ]
then
ip addr delete "$CURRENT_PREFIX1$ETH7_SUFFIX/64" dev eth7
fi
echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE
ip addr add "$PREFIX1$ETH7_SUFFIX/64" dev eth7
service radvd restart >/dev/null 2>&1
fi
4/ script de démarrage dibbler.sh
--> script dibbler.sh à copier sous /config/scripts/post-config.d et faire un chmod 775
--> si le répertoire post-config.d n'existe pas, le créer et faire un chmod 775
#!/bin/bash
service dibbler-client restart
SUITE SUR POST SUIVANT...
-
5/ Fichier de config à adpater pour prise en charge IPV4 + IPV6
--> Faire un DIF avec le fichier de config créé lors du TUTO PARTIE 1 (IPV4)
--> Tous les blocs ipv6 { sont nouveaux par rapport au config.boot de la partie 1 du TUTO
--> configip46.boot (bien entendu personnalisé à votre config) à copier sous /config/configip46.boot
firewall {
all-ping enable
broadcast-ping disable
ipv6-name WANv6_IN {
default-action drop
description "WANv6 inbound traffic forwarded to LAN"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
rule 30 {
action accept
description "Allow ICMPv6"
log disable
protocol icmpv6
}
}
ipv6-name WANv6_LOCAL {
default-action drop
description "WANv6 inbound traffic to the router"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
rule 30 {
action accept
description "Allow ICMPv6"
log disable
protocol icmpv6
}
rule 40 {
action accept
description "Allow DHCPv6"
destination {
port 546
}
protocol udp
source {
port 547
}
}
}
ipv6-name WANv6_OUT {
default-action accept
description "WANv6 outbound traffic"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action reject
description "Reject invalid state"
state {
invalid enable
}
}
}
ipv6-receive-redirects disable
ipv6-src-route disable
ip-src-route disable
log-martians enable
name WAN_IN {
default-action drop
description "WAN to internal"
enable-default-log
rule 10 {
action accept
description "Allow established/related"
log disable
protocol all
state {
established enable
invalid disable
new disable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
log disable
protocol all
state {
established disable
invalid enable
new disable
related disable
}
}
}
name WAN_LOCAL {
default-action drop
description "WAN to router"
rule 1 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 2 {
action accept
description "Allow Ping"
destination {
group {
address-group ADDRv4_eth7
}
}
log enable
protocol icmp
}
rule 3 {
action drop
description "Drop invalid state"
log disable
state {
invalid enable
}
}
}
options {
}
receive-redirects disable
send-redirects enable
source-validation disable
syn-cookies enable
}
interfaces {
bridge br0 {
aging 300
bridged-conntrack disable
description "bro -> eth0.838 LIVEBOX (VoD)"
hello-time 2
max-age 20
priority 0
promiscuous disable
stp false
}
bridge br1 {
aging 300
bridged-conntrack disable
description "br1 -> eth0.840 LIVEBOX (ZAPPING + CANAL 1)"
hello-time 2
max-age 20
priority 0
promiscuous disable
stp false
}
ethernet eth0 {
description "eth0 VERS LIVEBOX"
duplex auto
speed auto
vif 832 {
address 192.168.2.1/24
description "eth0.832 LIVEBOX (INTERNET + VOIP + CANAL 2)"
}
vif 838 {
bridge-group {
bridge br0
}
description "eth0.838 LIVEBOX (VoD)"
egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
}
vif 840 {
bridge-group {
bridge br1
}
description "eth0.840 LIVEBOX (ZAPPING + CANAL 1)"
egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
}
}
ethernet eth1 {
description "eth1 ONT (FIBRE RJ45)"
duplex auto
speed auto
vif 832 {
address dhcp
description "eth1.832 (INTERNET + VOIP + CANAL 2)"
dhcp-options {
client-option "send vendor-class-identifier "sagem";"
client-option "send user-class "\053FSVDSL_livebox.Internet.softathome.Livebox4";"
client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;"
client-option "request dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, domain-search, rfc3118-auth;"
default-route update
default-route-distance 210
global-option "option rfc3118-auth code 90 = string;"
name-server update
}
egress-qos "0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0"
firewall {
in {
ipv6-name WANv6_IN
name WAN_IN
}
local {
ipv6-name WANv6_LOCAL
name WAN_LOCAL
}
}
ipv6 {
address {
autoconf
}
dup-addr-detect-transmits 1
}
}
vif 838 {
bridge-group {
bridge br0
}
description "eth1.838 (VoD)"
egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
}
vif 840 {
bridge-group {
bridge br1
}
description "eth1.840 (ZAPPING + CANAL 1)"
egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
}
}
ethernet eth2 {
disable
duplex auto
ip {
}
speed auto
}
ethernet eth3 {
disable
duplex auto
speed auto
}
ethernet eth4 {
disable
duplex auto
speed auto
}
ethernet eth5 {
disable
duplex auto
speed auto
}
ethernet eth6 {
disable
duplex auto
speed auto
}
ethernet eth7 {
address 192.168.10.1/24
description "eth7 LOCAL LAN SWITCH"
duplex auto
speed auto
ipv6 {
dup-addr-detect-transmits 1
router-advert {
cur-hop-limit 64
link-mtu 0
managed-flag false
max-interval 600
other-config-flag false
prefix ::/64 {
autonomous-flag true
on-link-flag true
preferred-lifetime 14400
valid-lifetime 18000
}
reachable-time 0
retrans-timer 0
send-advert true
}
}
}
loopback lo {
}
}
protocols {
static {
route6 ::/0 {
next-hop fe80::ba0:bab {
interface eth1.832
}
}
}
}
service {
dhcp-server {
disabled false
global-parameters "option rfc3118-auth code 90 = string;"
global-parameters "option SIP code 120 = string;"
global-parameters "option Vendor-specific code 125 = string;"
hostfile-update disable
shared-network-name LAN {
authoritative disable
subnet 192.168.10.0/24 {
default-router 192.168.10.1
dns-server 8.8.8.8
dns-server 8.8.4.4
domain-name FD-HOME
lease 86400
start 192.168.10.3 {
stop 192.168.10.254
}
}
}
shared-network-name LIVEBOX {
authoritative enable
subnet 192.168.2.0/24 {
default-router 192.168.2.1
dns-server 81.253.149.9
dns-server 80.10.246.1
domain-name orange.fr
lease 86400
start 192.168.2.30 {
stop 192.168.2.50
}
subnet-parameters "option rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:64:68:63:70:6c:69:76:65:62:6f:78:66:72:32:35:30;"
subnet-parameters "option SIP 00:06:73:62:63:74:33:67:03:41:55:42:06:61:63:63:65:73:73:11:6f:72:61:6e:67:65:2d:6d:75:6c:74:69:6d:65:64:69:61:03:6e:65:74:00;"
subnet-parameters "option Vendor-specific 00:00:05:58:0c:01:0a:00:00:00:00:00:ff:ff:ff:ff:ff;"
}
}
}
dns {
}
gui {
http-port 80
https-port 443
older-ciphers enable
}
nat {
rule 5010 {
log disable
outbound-interface eth1.832
protocol all
type masquerade
}
}
ssh {
allow-root
port 22
protocol-version v2
}
upnp2 {
listen-on eth0.832
listen-on eth7
nat-pmp enable
secure-mode disable
wan eth1.832
}
}
system {
config-management {
commit-revisions 50
}
domain-name FD-HOME
host-name ubnt
login {
user root {
authentication {
encrypted-password xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
plaintext-password ""
}
full-name ""
level admin
}
user ubnt {
authentication {
encrypted-password xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
plaintext-password ""
}
full-name ""
level admin
}
}
name-server 8.8.8.8
name-server 8.8.4.4
name-server 208.67.222.222
name-server 208.67.220.220
ntp {
server 0.ubnt.pool.ntp.org {
}
server 1.ubnt.pool.ntp.org {
}
server 2.ubnt.pool.ntp.org {
}
server 3.ubnt.pool.ntp.org {
}
}
offload {
hwnat disable
ipsec enable
ipv4 {
forwarding enable
vlan enable
}
ipv6 {
forwarding disable
}
}
package {
repository wheezy {
components "main contrib non-free"
distribution wheezy
password ""
url http://http.us.debian.org/debian
username ""
}
repository wheezy-security {
components main
distribution wheezy/updates
password ""
url http://security.debian.org
username ""
}
}
syslog {
global {
facility all {
level notice
}
facility protocols {
level debug
}
}
}
time-zone Europe/Paris
}
/* Warning: Do not remove the following line. */
/* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@5:nat@3:qos@1:quagga@2:system@4:ubnt-pptp@1:ubnt-udapi-server@1:ubnt-unms@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.10.3.5082543.180426.1717 */
6/ Chargement du nouveau fichier de config configip46.boot
configure
load configip46.boot
commit
save
exit
Lors de l'étape commit... s'il y a des erreurs, ne pas faire le save et annuler les modifications comme suit :
discard
exit
7/ Eteindre l'ONT, LIVEBOX et les box TV + Switchs
--> Redémarrer dans l'ordre :
--> l'ONT, attendre que tout passe au vert et que le routeur ait bien une IP externe sur l' ETH1.832
--> le routeur (bien attendre démarrage complet)
--> le switch (bien attendre démarrage complet)
--> la LIVEBOX (attendre démarrage complet)
--> les BOX TV
Tout fonctionne enfin logiquement... !!!
Si vous rencontrez des problèmes, commencez par faire un diff entre mon config.boot et le votre modifié...
N'en faites pas trop à la fois... partez de cette base, vous verrez les améliorations ensuite...
Penser également à vérifier les droits attribués aux fichiers modifiés au minimum 755
Et le classique... format de fichier Dos Vs Unix
8/ Commandes utiles en cas de problème
Voir si dibbler est démarré :
dibbler-client status
Redémarrer dibbler...
service dibbler-client restart
Voir quels sont les services démarrés :
service --status-all
Route IPV6 :
show ipv6 route
Test ping iPV6 :
ping6 www.google.com
Etat de la connectivité IPV6 :
http://ipv6-test.com/
-
NON RESOLU OU SOLUTIONNE :
1/ ICMP V6 passe pas entièrement au vert lors d'un test sur http://ipv6-test.com/ --> Filtered
Solution : Windows filtre ICMP V6, il faut ajouter une règle dans le Firewal... solution ci-dessous :
https://docs.microsoft.com/en-us/windows/security/identity-protection/windows-firewall/create-an-inbound-icmp-rule
-
réservé message 4 - En cas de besoin
-
All good par contre je n'obtiens pas d'ip V6 sur mon WAN eth1 (ONT). Est-ce normal ?
En effet l'interface Ubiquiti je garde mon IP WAN IPV4, pas d'IPV6. J'ai seulement une IPv6 sur mon LAN ETH0 (qui est ton ETH7).
Voici ma conf:
firewall {
all-ping enable
broadcast-ping disable
group {
network-group BLACKLIST_DROP {
description ""
}
network-group BLACKLIST_DROPv6 {
description ""
}
}
ipv6-name WANv6_IN {
default-action drop
description "WANv6 inbound traffic forwarded to LAN"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
rule 30 {
action accept
description "Allow ICMPv6"
log disable
protocol icmpv6
}
}
ipv6-name WANv6_LOCAL {
default-action drop
description "WANv6 inbound traffic to the router"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
rule 30 {
action accept
description "Allow ICMPv6"
log disable
protocol icmpv6
}
rule 40 {
action accept
description "Allow DHCPv6"
destination {
port 546
}
protocol udp
source {
port 547
}
}
}
ipv6-name WANv6_OUT {
default-action accept
description "WANv6 outbound traffic"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action reject
description "Reject invalid state"
state {
invalid enable
}
}
}
ipv6-receive-redirects disable
ipv6-src-route disable
ip-src-route disable
log-martians enable
name WAN_IN {
default-action drop
description "packets from Internet to LAN"
enable-default-log
rule 10 {
action accept
description "allow established sessions"
log disable
protocol all
state {
established enable
invalid disable
new disable
related enable
}
}
rule 100 {
action drop
description WANv6_IN
log enable
protocol all
source {
group {
network-group BLACKLIST_DROPv6
}
}
}
rule 110 {
action drop
description "drop invalid state"
log disable
protocol all
state {
established disable
invalid enable
new disable
related disable
}
}
rule 111 {
action drop
description WAN_IN
log enable
protocol all
source {
group {
network-group BLACKLIST_DROP
}
}
}
}
name WAN_LOCAL {
default-action drop
description "packets from Internet to the router"
rule 1 {
action accept
description "allow established session to the router"
log disable
protocol all
state {
established enable
invalid disable
new disable
related enable
}
}
rule 2 {
action drop
description "drop invalid state"
log disable
protocol all
state {
established disable
invalid enable
new disable
related disable
}
}
}
name WAN_OUT {
default-action accept
description ""
}
receive-redirects disable
send-redirects enable
source-validation disable
syn-cookies enable
}
interfaces {
ethernet eth0 {
address 192.168.0.1/24
description LAN-ET-TV
duplex auto
ipv6 {
dup-addr-detect-transmits 1
router-advert {
cur-hop-limit 64
link-mtu 0
managed-flag false
max-interval 600
other-config-flag false
prefix ::/64 {
autonomous-flag true
on-link-flag true
preferred-lifetime 14400
valid-lifetime 18000
}
reachable-time 0
retrans-timer 0
send-advert true
}
}
speed auto
}
ethernet eth1 {
description Internet_ONT
duplex auto
speed auto
vif 832 {
address dhcp
description "Internet Orange DHCP"
dhcp-options {
client-option "send vendor-class-identifier "sagem";"
client-option "send user-class "+FSVDSL_livebox.Internet.softathome.Livebox3";"
client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:XX:XX:xX:XX:XX:XX:XX:XX:xX:XX:XX;"
client-option "request dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, domain-search, rfc3118-auth, SIP;"
default-route update
default-route-distance 210
global-option "option rfc3118-auth code 90 = string ;"
name-server update
}
egress-qos "0:0 1:1 2:2 3:3 4:4 5:5 6:6 7:7"
firewall {
in {
ipv6-name WANv6_IN
name WAN_IN
}
local {
ipv6-name WANv6_LOCAL
name WAN_LOCAL
}
out {
ipv6-name WANv6_OUT
name WAN_OUT
}
}
ipv6 {
address {
autoconf
}
dup-addr-detect-transmits 1
}
}
vif 838 {
address dhcp
description "VLAN TV VOD"
dhcp-options {
client-option "send vendor-class-identifier "sagem";"
client-option "send dhcp-client-identifier 1:78:94:B4:E0:1E:D8;"
client-option "send user-class "\047FSVDSL_livebox.MLTV.softathome.Livebox3";"
client-option "request subnet-mask, rfc3442-classless-static-routes;"
default-route update
default-route-distance 210
name-server update
}
egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
}
vif 840 {
address 192.168.255.254/24
description "VLAN TV Canal 1 - Zap"
egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
}
}
ethernet eth2 {
description LAN2-LiveBox
duplex auto
speed auto
vif 832 {
address 192.168.2.254/24
description VoIp
}
}
loopback lo {
address 1.1.1.1/32
}
}
port-forward {
auto-firewall enable
hairpin-nat enable
lan-interface eth0
wan-interface eth1.832
}
protocols {
igmp-proxy {
disable-quickleave
interface eth0 {
alt-subnet 0.0.0.0/0
role downstream
threshold 1
}
interface eth1.840 {
alt-subnet 0.0.0.0/0
role upstream
threshold 1
}
interface eth2 {
role disabled
threshold 1
}
}
}
service {
dhcp-server {
disabled false
global-parameters "option rfc3118-auth code 90 = string;"
global-parameters "option SIP code 120 = string;"
hostfile-update enable
shared-network-name LOCAL_NETWORK {
authoritative enable
subnet 192.168.0.0/24 {
default-router 192.168.0.1
dns-server 192.168.0.1
domain-name home.local
lease 86400
start 192.168.0.10 {
stop 192.168.0.99
}
static-mapping Mac-Akamai {
ip-address 192.168.0.19
mac-address a4:08:f5:29:9d:d1
}
static-mapping Mac-Maison {
ip-address 192.168.0.98
mac-address 6c:40:08:a2:1f:c4
}
static-mapping Rear-Left {
ip-address 192.168.0.34
mac-address b8:e9:37:ed:e1:e4
}
static-mapping Rear-Right {
ip-address 192.168.0.35
mac-address b8:e9:37:ed:e1:ca
}
static-mapping cisco {
ip-address 192.168.0.29
mac-address 50:87:89:a9:42:34
}
static-mapping galaxys7 {
ip-address 192.168.0.99
mac-address 8c:f5:a3:05:a3:e3
}
static-mapping gtx {
ip-address 192.168.0.97
mac-address 2c:56:dc:97:fd:7f
}
static-mapping gtx-wifi {
ip-address 192.168.0.31
mac-address 30:52:cb:53:61:61
}
static-mapping iPhone-boubou {
ip-address 192.168.0.20
mac-address c0:d9:62:46:cb:da
}
static-mapping linux {
ip-address 192.168.0.50
mac-address 02:00:00:8d:2e:c7
}
static-mapping playbar {
ip-address 192.168.0.21
mac-address 00:0e:58:b5:fd:9a
}
static-mapping qnap {
ip-address 192.168.0.92
mac-address 00:08:9b:f6:bd:e2
}
static-mapping ubnt {
ip-address 192.168.0.1
mac-address 80:2a:a8:f1:e4:69
}
}
}
shared-network-name Livebox {
authoritative enable
subnet 192.168.2.0/24 {
default-router 192.168.2.254
dns-server 80.10.246.136
dns-server 81.253.149.6
lease 86400
start 192.168.2.21 {
stop 192.168.2.200
}
static-mapping Livebox {
ip-address 192.168.2.1
mac-address 78:94:B4:E0:1E:D8
}
subnet-parameters "option rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:66:74:69:2f:66:64:64:33:33:70:78;"
subnet-parameters "option SIP 0:6:73:62:63:74:33:67:3:50:55:54:6:61:63:63:65:73:73:11:6f:72:61:6e:67:65:2d:6d:75:6c:74:69:6d:65:64:69:61:3:6e:65:74:0;"
}
}
static-arp disable
use-dnsmasq enable
}
dns {
forwarding {
cache-size 400
listen-on eth0
name-server 8.8.8.8
name-server 8.8.4.4
}
}
gui {
http-port 80
https-port 443
listen-address 192.168.0.1
listen-address 192.168.2.254
older-ciphers disable
}
mdns {
reflector
}
nat {
rule 1 {
description "FTP Control (QNAP)"
destination {
port 21021
}
inbound-interface eth+
inside-address {
address 192.168.0.92
port 21
}
log disable
protocol tcp
type destination
}
rule 2 {
description "FTP Data (QNAP)"
destination {
port 21004-21023
}
inbound-interface eth1.832
inside-address {
address 192.168.0.92
port 21004-21023
}
log disable
protocol tcp
type destination
}
rule 3 {
description "Peering Transmission"
destination {
port 51413
}
inbound-interface eth1.832
inside-address {
address 192.168.0.92
port 51413
}
log disable
protocol tcp_udp
type destination
}
rule 4 {
description "SSH Admin (QNAP)"
destination {
port 21001
}
inbound-interface eth+
inside-address {
address 192.168.0.92
port 22
}
log disable
protocol tcp
type destination
}
rule 5 {
description "SSL Admin (QNAP)"
destination {
port 21000
}
inbound-interface eth+
inside-address {
address 192.168.0.92
port 443
}
log disable
protocol tcp
type destination
}
rule 6 {
description "Transmission Admin (QNAP)"
destination {
port 49091
}
inbound-interface eth+
inside-address {
address 192.168.0.92
port 49091
}
log disable
protocol tcp_udp
type destination
}
rule 7 {
description "Plex Server"
destination {
port 32400
}
inbound-interface eth+
inside-address {
address 192.168.0.92
port 32400
}
log disable
protocol tcp_udp
type destination
}
rule 5010 {
description "Masquerading outgoing connections"
log disable
outbound-interface eth1.832
protocol all
type masquerade
}
rule 5011 {
description "Masquerading TV"
log disable
outbound-interface eth1.838
protocol all
type masquerade
}
rule 5012 {
description "Masquerading Local"
log disable
outbound-interface eth0
protocol all
type masquerade
}
}
ssh {
allow-root
port 22
protocol-version v2
}
ubnt-discover {
disable
}
upnp2 {
listen-on eth0
nat-pmp enable
secure-mode enable
wan eth1.832
}
}
system {
config-management {
commit-revisions 5
}
conntrack {
expect-table-size 4096
hash-size 4096
table-size 32768
tcp {
half-open-connections 512
loose disable
max-retrans 3
}
}
domain-name home.local
host-name ubnt
login {
radius-server 192.168.0.92 {
port 1812
secret ********
timeout 5
}
user root {
authentication {
encrypted-password $6$OslOaT3q$EZPDMi7a9IvC6Fm6M/RptEGvhs7tf1K.V27EFbDhuDhVtIOWahBzI3efeXGlk7rBFA.9hQjn2JVhi3VJRcqXi0
plaintext-password ""
}
level admin
}
user ubnt {
authentication {
encrypted-password $6$LIbuW37uo2Xz3TWS$rcsvO44XlmRig.QiYdMpHbDuBqivcbFBYXuWVrFBuH//VP7lW8ZZEQpVjg7M//gC3GVV1pTGuYjbsNqn2QfdA.
plaintext-password ""
}
full-name ""
level admin
}
}
name-server 127.0.0.1
ntp {
server 0.ubnt.pool.ntp.org {
}
server 1.ubnt.pool.ntp.org {
}
server 2.ubnt.pool.ntp.org {
}
server 3.ubnt.pool.ntp.org {
}
}
offload {
hwnat disable
ipsec enable
ipv4 {
forwarding enable
vlan enable
}
ipv6 {
forwarding disable
}
}
package {
repository wheezy {
components "main contrib non-free"
distribution wheezy
password ""
url http://http.us.debian.org/debian
username ""
}
repository wheezy-security {
components main
distribution "distribution wheezy/updates"
password ""
url http://security.debian.org
username ""
}
}
syslog {
host 192.168.0.92 {
facility all {
level err
}
}
}
task-scheduler {
task BLACKLIST {
crontab-spec "0 1 * * *"
executable {
path /config/scripts/post-config.d/update-blacklist.sh
}
}
}
time-zone Europe/Paris
traffic-analysis {
dpi disable
export disable
}
}
/* Warning: Do not remove the following line. */
/* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@5:nat@3:qos@1:quagga@2:system@4:ubnt-pptp@1:ubnt-udapi-server@1:ubnt-unms@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.10.3.5082526.180426.1554 */
Par avance merci pour votre aide.
Super tuto !
-
Hello,
J'ai ajouté un chapitre 8 avec quelques commandes utiles pour essayer de diagnostiquer... mais suis pas un pro, je compile juste les infos :-)
Je viens de constater que dibbler n'est pas démarré au boot par le script diblber-client.sh
Je relance à la main par :
service dibbler-client restart
et tout est ok au niveau IPV6
J'ai modifié le script dibbler-client.sh comme suit :
#!/bin/bash
service dibbler-client restart > /tmp/dibbler_restartlog.log 2>&1
dans le log /tmp/dibbler_restartlog.log j'ai
Restarting DHCPv6 client: dibbler-client.
donc à priori il se lance bien... et pourtant il n'est pas démarré !!!
Quelqu'un à une idée ?
-
Hello,
J'ai ajouté un chapitre 8 avec quelques commandes utiles pour essayer de diagnostiquer... mais suis pas un pro, je compile juste les infos :-)
1/ Je viens de constater que dibbler s'arrête... pourtant tout continue de fonctionner en IPV6 d'après http://ipv6-test.com/ ou encore ping6 google.com !!!
2/ Quelqu'un aurait les règles éventuelles à ajouter pour l'ICMP en IPV6 ?
Quelqu'un à une idée ?
Effectivement:
root@ubnt:/home/ubnt# dibbler-client status
| Dibbler - a portable DHCPv6, version 1.0.1 (CLIENT, Linux port)
| Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
| Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
| Homepage: http://klub.com.pl/dhcpv6/
Dibbler server: NOT RUNNING.
Dibbler client: NOT RUNNING.
Dibbler relay : NOT RUNNING.
-
Tout fonctionne a merveille, par contre effectivement le seul truc c'est quand dans l'interface graphique pas d'ipV6 sur le WAN (only sur le LAN).
root@ubnt:/home/ubnt# show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
eth0 192.168.0.1/24 u/u LAN-ET-TV
2a01:cb00:59b:5301::1/64
eth1 - u/u Internet_ONT
eth1.832 90.79.222.190/22 u/u Internet Orange DHCP
eth1.838 10.154.237.78/24 u/u VLAN TV VOD
eth1.840 192.168.255.254/24 u/u VLAN TV Canal 1 - Zap
eth2 - u/D LAN2-LiveBox
eth2.832 192.168.2.254/24 u/D VoIp
lo 127.0.0.1/8 u/u
1.1.1.1/32
::1/128
A suivre...
Merci pour ton taff !
-
Pas besoin de gaspiller un /64 pour attribuer une IPv6 au port WAN. Arrêtez de penser IPv4, il n'y a pas besoin d'adresse IPv6 de portée globale sur le WAN: Il a déjà une IPv6 de portée locale et ça suffit à joindre la route par défaut.
-
7/ Eteindre l'ONT, LIVEBOX et les box TV + Switchs
--> Redémarrer dans l'ordre :
--> le routeur (bien attendre démarrage complet)
--> le switch (bien attendre démarrage complet)
--> l'ONT, attendre que tout passe au vert et que le routeur ait bien une IP externe sur l' ETH1.832
--> la LIVEBOX (attendre démarrage complet)
--> les BOX TV
Perso je commencerais par l'ONT pour éviter tout un tas de problèmes. Je met cette phrase au conditionnel, parce qu'en pratique je ne redémarre jamais l'ONT, même quand je change le routeur (J'ai un ER4 depuis quelques semaines ainsi que 2 ERL, un me servant de backup et le second que je dois réutiliser sur un autre site) ou que je rebranche temporairement la LB sur l'ONT.
En démarrant l'ONT presque à la fin:
- Quand le routeur boote, son interface vers l'ONT est down (électriquement), donc dibbler-client s'arrête immédiatement (on ne peut pas le configurer pour qu'il se mette en attente que l'interface monte).
- Quand le routeur active l'interface vers l'ONT, il envoie un paquet "Router Discovery" pour IPv6 afin de trouver la route par défaut. Ensuite, il ne va plus le faire pendant plusieurs minutes. La route par défaut IPv6 ne va donc être découverte que plusieurs minutes après le démarrage de l'ONT (et ça explique pourquoi ce délai avant qu'IPv6 ne fonctionne).
-
Hello Zoc,
Comme d'habitude, merci de ton message et de ton intervention...
En fouilant nos échanges qui datent de plus d'un an et ton message de ce matin... je viens de tilter... en fait tout fonctionne... cette nuit après de nombreux reboot et le fait que je ne comprenais pas que parfois la connectivité IPV6 était OK et parfois KO après reboot routeur ou ONT... et que le client dibbler semblait arrêté, j'ai laissé tombé l'affaire... et ce matin l'IPV6 était OK...
J'ai cru un moment que le fait que le service dibbler-client soit arrêté était le problème et que faire "service dibbler-client restart" puis d'attendre quelques minutes résolvait le problème... mais il s'agissait juste d'une histoire de timing, de hasard... route annoncée par Orange ou pas... il faut attendre c'est tout...
Ce que je ne m'explique tout de même pas c'est que après un reboot, dibbler-client est arrêté, pourtant, si l'on patiente, la connectivité IPV6 finie par être opérationnelle... par exemple, cette nuit quand je me suis couché, pas d'IPV6, client-dibbler arrêté et ce matin, dibbler-client toujours arrêté mais IPV6 OK...
J'ai donc modifié le tuto comme suit :
--> Redémarrer dans l'ordre :
--> l'ONT, attendre que tout passe au vert et que le routeur ait bien une IP externe sur l' ETH1.832
--> le routeur (bien attendre démarrage complet)
--> le switch (bien attendre démarrage complet)
--> la LIVEBOX (attendre démarrage complet)
--> les BOX TV
ATTENTION IL FAUT PARFOIS ETRE PATIENT SI L'ON A REDEMARRE L'ONT, OU LE ROUTEUR JUSQU'A 20 MIN, ROUTE ANNONCEE TOUTES LES 20 MINUTES PAR ORANGE 'infos retrouvée dans messages de Zoc"
Je te cite, message de mai 2016 :
A propos de la route par défaut, elle est annoncée toutes les 20 minutes par le routeur d'Orange, donc chez moi quand j'ai mis l'IPv6 en place il a fallu environ 20 minutes après la mise en place de cette config. pour que ça commence à fonctionner. Je ne sais pas si ce délai est aussi nécessaire quand on reboote notre routeur, car je ne l'ai pas rebooté depuis qu'il est configuré ;). Au pire la route par défaut est connue et fixe (fe80::ba0:bab) donc il est possible de la configurer en statique. Je ne l'ai pas fait pour l'instant chez moi, je verrai au prochain reboot (à priori quand la 1.8.5 du firmware sortira).
ICMP V6...
Il ne reste donc comme problème que l'ICMP V6 qui est en orange (filtered) lorsque l'on fait un test par http://ipv6-test.com/
-
Pour info, mon test IPv6 est good de mon coté:
(https://preview.ibb.co/gOtfVo/Capture_d_e_cran_2018_05_22_a_10_44_50.png) (https://ibb.co/ivTEqo)
-
Pour info, mon test IPv6 est good de mon coté:
(https://preview.ibb.co/gOtfVo/Capture_d_e_cran_2018_05_22_a_10_44_50.png) (https://ibb.co/ivTEqo)
Hello, tu pourrais me faire un copier/coller de ta partie Firewall ?
Ptet problème dans l'ordre de mon côté...
-
Tu l'as dans mon poste page 1 ;)
-
Je te cite, message de mai 2016 :
Problème réglé depuis avec l'ajout du paramètre d'autoconfiguration ipv6 dans le vif 832... Du moment que l'ONT est up au moment où le routeur démarre, avec cette option dans la config, un RD va être envoyé au moment où l'interface monte, et le routeur d'Orange répond par un RA contenant la route (en tout cas c'est le cas chez moi).
Après, l'autre solution comme je l'ai dit, c'est de mettre fe80::ba0:bab sur eth1.832 en route statique par défaut...
-
Problème réglé depuis avec l'ajout du paramètre d'autoconfiguration ipv6 dans le vif 832... Du moment que l'ONT est up au moment où le routeur démarre, avec cette option dans la config, un RD va être envoyé au moment où l'interface monte, et le routeur d'Orange répond par un RA contenant la route (en tout cas c'est le cas chez moi).
Après, l'autre solution comme je l'ai dit, c'est de mettre fe80::ba0:bab sur eth1.832 en route statique par défaut...
Je viens de refaire un test et effectivement, quand l'ONT est up lorsque le routeur démarre et bien tout est OK...
Et on fait comment pour passer en static route... désolé si la question semble bête :-)
Sinon, je t'ai envoyé tous mes fichiers de config (qui tournent su mon routeur) en mp, si tu as 5 min pour faire une petite revue... pour le moment j'ai encore l'ICMP V6 qui est filtered.. et je me posais aussi la question de l'IPV6 sur mon réseau guest qui est en eth7.10..
--> Je me réponds :
Pour l'ICMP sur mon iphone il est au vert, c'est donc Windows qui doit filtrer. l'IPV6 par contre ne fonctionne pas son mon réseau guest en 7.10.
Windows filtre ICMP V6, il faut ajouter une règle dans le Firewal... solution ci-dessous :
https://docs.microsoft.com/en-us/windows/security/identity-protection/windows-firewall/create-an-inbound-icmp-rule
Encore merci Zoc pour ton aide.
-
Et on fait comment pour passer en static route... désolé si la question semble bête :-)
Je ne l'ai jamais fait mais ça devrait ressembler à ça:
set protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth1.832
l'IPV6 par contre ne fonctionne pas son mon réseau guest en 7.10.
- Recopier tout ce que tu as dans "ethernet eth7 ipv6" dans "ethernet eth7 vif 10 ipv6"
- Modifier radvd.sh pour attribuer une adresse à eth7.10 dans un autre /64 (voir ci-dessous, j'ai repris la fin de ton script avec les ajouts nécessaires)
ETH7_SUFFIX="01::1"
ETH7_10_SUFFIX="50::1"
STATUS_FILE=/run/dibbler.lease
if [ -f "$STATUS_FILE" ];
then
source $STATUS_FILE
fi
TRIM_SIZE=17
FULLPREFIX=$( fullPrefix $PREFIX1 )
PREFIX1=${FULLPREFIX:0:TRIM_SIZE}
if [ "$PREFIX1" != "$CURRENT_PREFIX1" ]
then
if [ "$CURRENT_PREFIX1" != "" ]
then
ip addr delete "$CURRENT_PREFIX1$ETH7_SUFFIX/64" dev eth7
ip addr delete "$CURRENT_PREFIX1$ETH7_10_SUFFIX/64" dev eth7.10
fi
echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE
ip addr add "$PREFIX1$ETH7_SUFFIX/64" dev eth7
ip addr add "$PREFIX1$ETH7_10_SUFFIX/64" dev eth7.10
service radvd restart >/dev/null 2>&1
fi
Ensuite, il va être temps d'essayer de comprendre ce que ces options de config et le script font afin d'être un peu plus autonome ;D
-
Re,
T'es vraiment le meilleur... je vais tester ce soir.
Oui, j'aimerai bien être plus autonome, mais le sujet est extrêmement complexe et je suppose que tu le maîtrises depuis quelques années, voir décennies... et que c'est sans doute ton métier.
Les sujets sont très éparpillés et c'est plutôt 'Mission impossible" pour quelqu'un qui n'est pas ingénieur système/réseau... et IPV6 , j'ai pas encore tout capté, mais franchement pas...
Pour IPV4, je me débrouille mais il est clair que je n'en suis pas à sniffer des paquets pour analyser les trames...ou encore à recompiler des dibbler... je pense que les 10 mecs en france qui savent faire cela sont sur ce forum...
Alors me suis acheté les bibles de certification CISCO, j'ai essayé... mais j'avoue que les 2 bouquins gros comme en encyclopédie sont plutôt TRES hard à digérer...
Ce qui serait vraiment cool, ce serait justement un petit génie du réseau qui nous ferait un petit tuto d'abord de banalisation IPV4/IPV6 dans le cadre du fonctionnement avec Livebox et Routeur tiers, puis descendre dans le détail... ou alors parfois quelques commentaires dans les scripts pour expliquer le fonctionnement.
Si quelqu'un à une bonne réfrence pour un bouquin sur le réseau, je suis preneur.
Encore merci, je vais tester ce soir.
-
Une petite question,
Est-ce normal que je ne vois pas les politique firewall de l'ipv6 dans l'interface ?
(https://preview.ibb.co/eyfyko/Capture_d_e_cran_2018_05_22_a_17_26_59.png) (https://ibb.co/bOMhBT)
-
Au niveau IPV6 rien n'est visible au niveau interface graphique... tu peux avoir des infos avec le config tree.
Même la nouvelle solution de UNMS d'ubiquiti que j'ai installé sur un NAS synology n'apporte aucune info sur l'IPV6... dommage
-
et que c'est sans doute ton métier.
En fait j'ai une formation d'ingénieur système & réseaux (obtenue en 1996 :o ), mais je n'ai jamais travaillé en tant qu'ingénieur système & réseaux de ma vie :P, donc ce n'est pas en exerçant mon métier que j'ai appris IPv6 (On va dire que j'ai une prédisposition due à ma formation, mais ça s'arrête là). J'ai toujours été plus ou moins autodidacte de toute façon...
-
Quelle est le server DHCP responsable d'attribuer des IPV6 sur le reseaux local ?
Désormais mes PC sont en IPV6 mais je n'ai pas configurer de server DHCP lors de la manip pour passer en IPV6 (enfin je crois pas...).
-
En fait j'ai une formation d'ingénieur système & réseaux (obtenue en 1996 :o ), mais je n'ai jamais travaillé en tant qu'ingénieur système & réseaux de ma vie :P, donc ce n'est pas en exerçant mon métier que j'ai appris IPv6 (On va dire que j'ai une prédisposition due à ma formation, mais ça s'arrête là). J'ai toujours été plus ou moins autodidacte de toute façon...
Ah ben belle prédisposition...
-
Quelle est le server DHCP responsable d'attribuer des IPV6 sur le reseaux local ?
Il n'y en a pas.
https://en.wikipedia.org/wiki/IPv6#Stateless_address_autoconfiguration_(SLAAC)
Le fait d'avoir :
ethernet eth0 {
..
ipv6 {
..
router-advert {
...
managed-flag false
indique aux appareils du LAN d'auto-configurer par SLAAC leur adresse v6 dès qu'ils ont reçu le Router Advertisement de la part de l'ERL.
-
Pour détailler un peu SLAAC:
IPv6 peut se configurer par ce qu'on appele SLAAC (Stateless Address Auto-configuration): le routeur va èmettre des messages d'annonce (appele Router Advertisement - RA) sur le réseau local de maniere réguliere et en reponse a des messages de solicition des postes (Router Solicitations - RS). Ces messages sont dans des paquets ICMPv6 qui utilisent les adresses IPv6 'link-local' que toute machine compatible IPv6 a par défaut (adresses commencant par fe80).
Le message RA indique aux postes quel est le prefix IPv6 du réseau local. Les postes s'auto-configurent d'eux-meme alors une IPv6 public dans ce préfix en utilisant un algorithme de détection de doublons (a noter: certains OS comme Windows se configurent 2 adresses IPv6 public, une permanente et une temporaire qui change régulièrement (10 minutes). L'adresse temporaire sert a accéder a Internet).
Le message RA peut également indiquer en option la configuration DNS à mettre dans les postes (on appele ca RDNSS)
La plupart des OS supportent ce système mais Windows ne supporte pas RDNSS sauf récemment Windows 10 seulement.
Par conséquent si on veut une configuration IPv6 qui ne dépende pas d'IPv4 pour obtenir la configuration DNS , il faut ajouter au SLAAC un DHCPv6 uniquement pour transmettre la configuration DNS. On appelle cela du "stateless DHCPv6", c'est ce que Orange fait dans la Livebox par exemple. Cela permet de couvrir tout les OS y compris les anciennes versions de Windows.
Dans le routeur, ce service d'annonce RA est assuré par le service radvd (Router Advertisement Daemon).
Dans la config présentée ici, il n'y a pas de serveur DHCPv6 c'est du SLAAC uniquement. Mais on pourrait en ajouter un.
Une autre facon de faire est du "statefull DHCPv6" qui est proche de la facon de faire en IPv4. Dans ce cas le message RA indique aucun préfix juste la présence d'un serveur DHCPv6. Dans ce cas les postes clients doivent faire des requetes DHCPv6 pour obtenir leur IP public.
Ce système n'est toutefois pas accepté par Android pour le moment et n'est donc pas recommandé en usage grand public. Il limite aussi le nombre d'IPv6 par poste a une seule.
-
En fait, en plus de SLAAC seul, on peut également faire du DHCP6 stateless (les machines continuent de déterminer leur adresses toutes seules à partir du préfixe diffusé par radvd, et utilisent DHCP pour le reste, genre l'adresse des serveurs DNS) ou du DHCP6 statefull où l'adresse est alors attribuée par le serveur DHCP6 (fonctionnement similaire au DHCP IPv4).
EdgeOS supporte DHCP6 stateless et statefull, mais le fait de ne pas pouvoir utiliser le client DHCP6-PD du routeur, et de devoir utiliser dibbler, rend les choses bien compliquées, surtout parce que le préfixe peut changer et que donc il faudrait modifier la configuration du routeur à chaque changement de préfixe si on veut faire du statefull...
Après, perso je fais du DHCP6 stateless (pour annoncer mes serveurs DNS locaux), même si en pratique je n'en n'ai pas besoin (les adresses de ces mêmes DNS sont aussi dans les RA). Juste pour le fun.
-
@Kgersen et @Zoc, merci pour les explications, c'est ce qu'il faut, de la banalisation pour ensuite pouvoir entrer dans le détail, j'aime :-)
Aucun de vous n'a une bible de référence pour le réseau, format pdf ou livre ?
Sinon Zoc, l'IPV6 fonctionne également sur mon réseau Guest maintenant, grâce à la modif que tu m'as proposé, je n'aurai pas fait mieux :-)
L'ajout de la static route IPV6 sur eth1.832 résoud également le problème d'attente lors d'un reboot... testé sur plusieurs reboot et la connectivité IPV6 est immédiatement disponible, je vais l'ajouter au tuto.
protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth1.832
-
@nanostra, merci pour le complèment IPV6. Ne faudrait-il pas autoriser les communications DHCP dans le firewall?
konki
-
C’est déjà fait dans son fichier de config: rule 40 de la chaîne WANv6_LOCAL.
-
j'ai regardé un peu trop vite la config et j'avais seulement remarqué l'absence de la règle pour IPV4. D'où ma réponse hâtive...
-
@Kgersen et @Zoc, merci pour les explications, c'est ce qu'il faut, de la banalisation pour ensuite pouvoir entrer dans le détail, j'aime :-)
Aucun de vous n'a une bible de référence pour le réseau, format pdf ou livre ?
Sinon Zoc, l'IPV6 fonctionne également sur mon réseau Guest maintenant, grâce à la modif que tu m'as proposé, je n'aurai pas fait mieux :-)
L'ajout de la static route IPV6 sur eth1.832 résoud également le problème d'attente lors d'un reboot... testé sur plusieurs reboot et la connectivité IPV6 est immédiatement disponible, je vais l'ajouter au tuto.
protocols static route6 ::/0 next-hop fe80::ba0:bab interface eth1.832
Question rapide, je vois dans mon syslog l'erreur suivante:
KERNEL: ICMPv6:RA: ndisc_router_delivery_discovery failed to add default route
Clairement, ça vient du fait que je suis passé en Route static.
Comment puis-je stopper ces erreurs ?
-
Probablement en supprimant "ipv6 autoconf" dans la config du vif 832 (ce qui a pour effet d'ignorer les RA).
-
c'étais pas réglé cette histoire de délai de 20 minutes ? je pensais qu'il suffisait que le routeur èmette des RS pour recevoir un RA de suite plutôt que d'attendre la diffusion tout les 20 minutes ? la livebox y arrive bien y'a pas de raison que l'ERL n'y arrive pas.
-
Personnellement je n’ai pas la route statique, ni non plus de délai avant que la route par défaut soit configurée (j’en déduis donc que baobab répond aux RS envoyés par le routeur...
Évidemment cela suppose que l’ont soit up et que la négociation GPON soit terminée ( LED optical vert fixe ).
-
t'as le accept_ra a 2 donc ?
https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt :
accept_ra - INTEGER
Accept Router Advertisements; autoconfigure using them.
It also determines whether or not to transmit Router
Solicitations. If and only if the functional setting is to
accept Router Advertisements, Router Solicitations will be
transmitted.
Possible values are:
0 Do not accept Router Advertisements.
1 Accept Router Advertisements if forwarding is disabled.
2 Overrule forwarding behaviour. Accept Router Advertisements
even if forwarding is enabled.
Functional default: enabled if local forwarding is disabled.
disabled if local forwarding is enabled.
vu qu'un routeur a local forwarding enabled il faut accept_ra a 2.
-
Dans quel fichier vérifier cette valeur ?
Une idée pour effacer ma route par défaut ?
-
Dans quel fichier vérifier cette valeur ?
Une idée pour effacer ma route par défaut ?
dans /etc/sysctl.conf (ou /etc/sysctl.d/40-ipv6.conf avec systemd) il faut ajouter/changer les lignes :
net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.default.accept_ra=2
mais avant verif la config actuelle ces 2 commandes:
sysctl net.ipv6.conf.all.accept_ra
sysctl net.ipv6.conf.default.accept_ra
apres dans le cas présent, ca ne concerne que l'interface wan donc tu peux limité ce reglage a cette interface au lieu de all & default (le point étant réservé, il faut utiliser / pour les vlan: net.ipv6.conf.eth1/832.accept_ra par exemple).
profite en pour check la config entiere d'une interface:
sysctl net.ipv6.conf.eth1/832
Pour ta route si elle en dur dans ta config suffit d'enlever la ligne.
sinon
configure
delete protocols static route6 ::/0 next-hop fe80::ba0:bab interface xxxx
commit
save
-
Merci pour ta réponse,
sysctl net.ipv6.conf.all.accept_ra
sysctl net.ipv6.conf.default.accept_ra
1 et 1
sysctl net.ipv6.conf.eth1/832
2 pour le WAN
Quand je veux effacer ma route avec cette ligne, ça me dit:
[ protocols static route6 ::/0 next-hop fe80::ba0:bab ]
Interface has to be specified for a link-local nexthop
-
t'as le accept_ra a 2 donc ?
root@gateway:~# cat /proc/sys/net/ipv6/conf/eth1.832/accept_ra
2
root@gateway:~#
-
Quand je veux effacer ma route avec cette ligne, ça me dit:
[ protocols static route6 ::/0 next-hop fe80::ba0:bab ]
Interface has to be specified for a link-local nexthop
oui faut remplacer xxxx par ton interface (eth1.832 dans ton cas).
-
oui faut remplacer xxxx par ton interface (eth1.832 dans ton cas).
:o mais c'est ce que j'ai fait ! :o
Bon j'ai effacé direct dans le fichier de conf, ça fonctionne !
Dernière chose j'ai du mal à comprendre le role de dibbler dans ce tuto.
-
Dernière chose j'ai du mal à comprendre le role de dibbler dans ce tuto.
dibbler est en charge de récuperer le prefix IPv6 public attribué par Orange a ton réseau (un /56). Ceci se fait par une requete DHCPv6-PD.
Cette requete n'a pas pour but de configurer l'interface WAN, juste de récupérer le préfix /56.
l'interface WAN ne se configure pas , elle a juste une IPv6 link-local comme tout interface et obtient l'IP link-local du routeur en face chez Orange (la gateway) via le systeme d'annonce de voisinage IPv6 (RS/RA via des icmpv6).
ce lien local entre l'interface wan et la geteway chez Orange permet au trafic de sortir/entrer notamment la requête de dibbler.
Une fois le préfixe obtenu, dibbler lance le script qui configure radvd le service en charge de configurer un /64 sur le LAN.
Internet (ipv6 public) -- .... - gateway Orange -- ipv6 link-local --(wan)- ERL -(lan) --ipv6 public
il n'y a donc pas d'adresses IPv6 public entre ton routeur et le routeur de chez Orange ce qui simplifie les choses et renforce la sécurité (impossible d'attaquer ton routeur sur son interface wan).
-
salut
j'ai une question con :
j'ai suivi la premier partie du tutoriel, qui marche bien. Je regarde cette partie, et je me dis, pourquoi configurer IPV6. Mais concrètement ca vous sert a quoi l'IPV6 ?
-
Ne plus se faire chier avec le NAT.
-
ok parce que vous hébergez plusieurs services chez vous directement a la maison?
-
Je crois que depuis que j'ai accès au net h24 (donc ADSL à 512), j'ai toujours eu au moins un service hébergé en local.
Aujourd'hui, ça doit être 1/2 douzaine...
-
Ok, mais du coup il faut que de l'autre côté de la liaison, l'ipv6 marche aussi non? Par exemple moi avec sosh sur mon téléphone j'ai que l'ipv4.
-
Ah nan mais moi je cause que d'IPv4.
Pis les régles de NAT, moi, ça m'amuse (je suis pas difficile).
-
Bonjour,
Merci pour ce tuto très complet, je l'ai appliquer sur mon ERL 3 avec quelque modification,
ONT --> eth0
Box --> eth1
Lan --> eth2
Aucun soucis avec IPv4, mais impossible d'avoir une IPv6. j'ai reboot plusieurs fois, revu la conf en long en large et en travers.... je m'arrache les cheveux lol.
un petit coups de main est le bienvenue :)
La config adaptée à ma topologie
firewall {
all-ping enable
broadcast-ping disable
ipv6-name WANv6_IN {
default-action drop
description "WANv6 inbound traffic forwarded to LAN"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
rule 30 {
action accept
description "Allow ICMPv6"
log disable
protocol icmpv6
}
}
ipv6-name WANv6_LOCAL {
default-action drop
description "WANv6 inbound traffic to the router"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
rule 30 {
action accept
description "Allow ICMPv6"
log disable
protocol icmpv6
}
rule 40 {
action accept
description "Allow DHCPv6"
destination {
port 546
}
protocol udp
source {
port 547
}
}
}
ipv6-name WANv6_OUT {
default-action accept
description "WANv6 outbound traffic"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action reject
description "Reject invalid state"
state {
invalid enable
}
}
}
ipv6-receive-redirects disable
ipv6-src-route disable
ip-src-route disable
log-martians enable
name WAN_IN {
default-action drop
description "WAN to internal"
enable-default-log
rule 20 {
action accept
description "Allow established/related"
log disable
protocol all
state {
established enable
invalid disable
new disable
related enable
}
}
rule 30 {
action drop
description "Drop invalid state"
log disable
protocol all
state {
established disable
invalid enable
new disable
related disable
}
}
}
name WAN_LOCAL {
default-action drop
description "WAN to router"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action accept
description "Allow Ping From WAN"
destination {
group {
address-group ADDRv4_eth0.832
}
}
log enable
protocol icmp
}
rule 30 {
action drop
description "Drop invalid state"
log disable
state {
invalid enable
}
}
rule 40 {
action accept
description "Allow Ping"
destination {
group {
address-group ADDRv4_eth2
}
}
log enable
protocol icmp
}
rule 50 {
action accept
description "Remote access"
destination {
group {
address-group ADDRv4_eth0.832
}
port 10022,10443
}
log disable
protocol tcp
state {
established enable
invalid disable
new enable
related disable
}
}
}
options {
}
receive-redirects disable
send-redirects enable
source-validation disable
syn-cookies enable
}
interfaces {
bridge br0 {
aging 300
bridged-conntrack disable
description "bro -> eth0.838 LIVEBOX (VoD)"
hello-time 2
max-age 20
priority 0
promiscuous disable
stp false
}
bridge br1 {
aging 300
bridged-conntrack disable
description "br1 -> eth0.840 LIVEBOX (ZAPPING + CANAL 1)"
hello-time 2
max-age 20
priority 0
promiscuous disable
stp false
}
ethernet eth0 {
description "eth0 ONT (FIBRE RJ45)"
duplex auto
speed auto
vif 832 {
address dhcp
description "eth0.832 (INTERNET + VOIP + CANAL 2)"
dhcp-options {
client-option "send vendor-class-identifier "sagem";"
client-option "send user-class "\053FSVDSL_livebox.Internet.softathome.Livebox4";"
client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;"
client-option "request dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, domain-search, rfc3118-auth;"
default-route update
default-route-distance 210
global-option "option rfc3118-auth code 90 = string;"
name-server update
}
egress-qos "0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0"
firewall {
in {
ipv6-name WANv6_IN
name WAN_IN
}
local {
ipv6-name WANv6_LOCAL
name WAN_LOCAL
}
}
ipv6 {
address {
autoconf
}
dup-addr-detect-transmits 1
}
}
vif 838 {
bridge-group {
bridge br0
}
description "eth0.838 (VoD)"
egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
}
vif 840 {
bridge-group {
bridge br1
}
description "eth0.840 (ZAPPING + CANAL 1)"
egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
}
}
ethernet eth1 {
description "eth1 VERS LIVEBOX"
duplex auto
speed auto
vif 832 {
address 192.168.2.1/24
description "eth0.832 LIVEBOX (INTERNET + VOIP + CANAL 2)"
}
vif 838 {
bridge-group {
bridge br0
}
description "eth1.838 LIVEBOX (VoD)"
egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
}
vif 840 {
bridge-group {
bridge br1
}
description "eth1.840 LIVEBOX (ZAPPING + CANAL 1)"
egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
}
}
ethernet eth2 {
address 192.168.10.1/24
description "eth2 LOCAL LAN SWITCH"
duplex auto
ipv6 {
dup-addr-detect-transmits 1
router-advert {
cur-hop-limit 64
link-mtu 0
managed-flag false
max-interval 600
other-config-flag false
prefix ::/64 {
autonomous-flag true
on-link-flag true
preferred-lifetime 14400
valid-lifetime 18000
}
reachable-time 0
retrans-timer 0
send-advert true
}
}
speed auto
}
loopback lo {
}
}
port-forward {
auto-firewall enable
hairpin-nat enable
lan-interface eth2
lan-interface eth1.832
[ .......]
}
protocols {
static {
}
}
service {
dhcp-server {
disabled false
global-parameters "option rfc3118-auth code 90 = string;"
global-parameters "option SIP code 120 = string;"
global-parameters "option Vendor-specific code 125 = string;"
hostfile-update disable
shared-network-name LAN {
authoritative disable
disable
subnet 192.168.10.0/24 {
default-router 192.168.10.1
dns-server 8.8.8.8
dns-server 8.8.4.4
domain-name KMS-HOME
lease 86400
start 192.168.10.3 {
stop 192.168.10.254
}
}
}
shared-network-name LIVEBOX {
authoritative enable
subnet 192.168.2.0/24 {
default-router 192.168.2.1
dns-server 81.253.149.9
dns-server 80.10.246.1
domain-name orange.fr
lease 86400
start 192.168.2.30 {
stop 192.168.2.50
}
static-mapping LiveBox {
ip-address 192.168.2.30
mac-address 78:81:02:2e:dd:9e
}
subnet-parameters "option rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:64:68:63:70:6c:69:76:65:62:6f:78:66:72:32:35:30;"
subnet-parameters "option SIP 00:06:73:62:63:74:33:67:03:41:55:42:06:61:63:63:65:73:73:11:6f:72:61:6e:67:65:2d:6d:75:6c:74:69:6d:65:64:69:61:03:6e:65:74:00;"
subnet-parameters "option Vendor-specific 00:00:05:58:0c:01:0a:00:00:00:00:00:ff:ff:ff:ff:ff;"
}
}
static-arp disable
use-dnsmasq disable
}
dns {
}
gui {
http-port 80
https-port 443
older-ciphers enable
}
nat {
rule 5010 {
log disable
outbound-interface eth0.832
protocol all
type masquerade
}
}
ssh {
allow-root
port 22
protocol-version v2
}
upnp2 {
listen-on eth1.832
listen-on eth2
nat-pmp enable
secure-mode disable
wan eth0.832
}
}
system {
config-management {
commit-revisions 50
}
domain-name KMS-HOME
host-name erl-3
login {
user kaktuss {
authentication {
encrypted-password xxxxxxxxxxxxxxxxxxxxxxxxxxx
plaintext-password ""
}
level admin
}
user root {
authentication {
encrypted-password xxxxxxxxxxxxxxxxxxxxxxxxxxx/
plaintext-password ""
}
level admin
}
}
name-server 8.8.8.8
name-server 8.8.4.4
name-server 208.67.222.222
name-server 208.67.220.220
ntp {
server 0.ubnt.pool.ntp.org {
}
server 1.ubnt.pool.ntp.org {
}
server 2.ubnt.pool.ntp.org {
}
server 3.ubnt.pool.ntp.org {
}
}
offload {
hwnat disable
ipsec enable
ipv4 {
forwarding enable
vlan enable
}
ipv6 {
forwarding disable
}
}
package {
repository wheezy {
components "main contrib non-free"
distribution wheezy
password ""
url http://http.us.debian.org/debian
username ""
}
repository wheezy-security {
components main
distribution wheezy/updates
password ""
url http://security.debian.org
username ""
}
}
syslog {
global {
facility all {
level notice
}
facility protocols {
level debug
}
}
}
time-zone Europe/Paris
traffic-analysis {
dpi disable
export disable
}
}
/* Warning: Do not remove the following line. */
/* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@5:nat@3:qos@1:quagga@2:system@4:ubnt-pptp@1:ubnt-udapi-server@1:ubnt-unms@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.10.5.5098915.180622.1355 */
le fichier client.conf (chmod 755)
root@erl-3:/etc/dibbler# cat client.conf
# Defaults for dibbler-client
# installed at /etc/dibbler/client.conf by the maintainer script
# 8 (Debug) is most verbose. 7 (Info) is usually the best option
log-level 7
duid-type duid-ll
# To perform stateless (i.e. options only) configuration, uncomment
# this line below and remove any "ia" keywords from interface definitions
# stateless
downlink-prefix-ifaces "none"
script "/etc/dibbler/radvd.sh"
iface eth0.832 {
pd
option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
option 15 hex 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
option 11 hex 00:00:00:00:00:00:00:00:00:00:00:66:labonnevaleurici
option 11 hex 00:00:00:00:00:00:00:00:00:00:00:66:labonnevaleurici
option dns-server
Le fichier radvd.sh (chmod 755)
root@erl-3:/etc/dibbler# cat radvd.sh
#!/bin/bash
if [ "$SRV_MESSAGE" != "REPLY" ]
then
exit 1
fi
function fullPrefix () {
local input=$1
local o=""
local z=""
input=$(tr 'A-F' 'a-f' <<< $input )
while [ "$o" != "$input" ]; do
o="$input"
input="$( sed 's|:\([0-9a-f]\{3\}\):|:0\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{3\}\)$|:0\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\{3\}\):|0\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{2\}\):|:00\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{2\}\)$|:00\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\{2\}\):|00\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\):|:000\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\)$|:000\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\):|000\1:|g' <<< "$input" )"
done
grep -qs "::" <<< "$input"
if [ "$?" -eq 0 ]; then
GRPS="$( sed 's|[0-9a-f]||g' <<< "$input" | wc -m )"
((GRPS--)) # carriage return
((MISSING=8-GRPS))
for ((i=0;i<$MISSING;i++)); do
z="$z:0000"
done
input="$( sed 's|\(.\)::\(.\)|\1'$z':\2|g' <<< "$input" )"
input="$( sed 's|\(.\)::$|\1'$z':0000|g' <<< "$input" )"
input="$( sed 's|^::\(.\)|'$z':0000:\1|g;s|^:||g' <<< "$input" )"
fi
echo "$input"
}
ETH2_SUFFIX="01::1"
STATUS_FILE=/run/dibbler.lease
if [ -f "$STATUS_FILE" ];
then
source $STATUS_FILE
fi
TRIM_SIZE=17
FULLPREFIX=$( fullPrefix $PREFIX1 )
PREFIX1=${FULLPREFIX:0:TRIM_SIZE}
if [ "$PREFIX1" != "$CURRENT_PREFIX1" ]
then
if [ "$CURRENT_PREFIX1" != "" ]
then
ip addr delete "$CURRENT_PREFIX1$ETH7_SUFFIX/64" dev eth2
fi
echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE
ip addr add "$PREFIX1$ETH7_SUFFIX/64" dev eth2
service radvd restart >/dev/null 2>&1
Je pense pas mettre trompé dans le changement de topologie, tout fonctionne en IPv4
quasi sur que c'est une petite merdouille qui est grosse comme un camion mais que je vois pas.
Merci de votre aide :)
-
ETH2_SUFFIX="01::1"
Puis dans le reste du script, c'est $ETH7_SUFFIX qui est utilisé...
-
Rahhh phoque lol, gros comme une maison... je reconnais que sur ce coups je suis un boulet ::) ::) ;D ;D
Merciiii , je corrige ca tout de suite
Edit : J'avais signalé que ça devait être gros comme un camion lol
Encore Merci, j'ai vérifier je n'ai plus d'occurence en rapport avec ETH7,
Tjrs pas d'IPv6, mais il me semble avoir retiré la route statique, je vais la remettre.
-
Pas d'IP attribuée à eth2 ?
Qu'il y ait la route ou pas ne devrait pas influer sur l'attribution du préfixe. Je vois aussi que ton fichier client.conf n'a pas d'accolade fermante, mais j'ai considéré qu'elle avait sauté lors du copier/coller sur le forum.
-
En effet uniquement la lien-local, pas de publique :(
edit : je vais vérifier pour le client.conf
edit 2 : en effet sauté lors du copier/coller
-
Il est sans doute possible d'avoir plus d'infos en lançant dibbler-client en mode console au lieu du service: "dibbler-client run" en étant root (après avoir arrêté correctement le service si nécessaire).
-
alors j'ai donc un show interfaces comme ceci
kaktuss@erl-3:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
br0 - u/u bro -> eth0.838 LIVEBOX
(VoD)
br1 - u/u br1 -> eth0.840 LIVEBOX
(ZAPPING + CANAL 1)
eth0 - u/u eth0 ONT (FIBRE RJ45)
eth0.832 90.46.67.239/21 u/u eth0.832 (INTERNET + VOIP +
CANAL 2)
eth0.838 - u/u eth0.838 (VoD)
eth0.840 - u/u eth0.840 (ZAPPING + CANAL 1)
eth1 - u/u eth1 VERS LIVEBOX
eth1.832 192.168.2.1/24 u/u eth0.832 LIVEBOX (INTERNET +
VOIP + CANAL 2)
eth1.838 - u/u eth1.838 LIVEBOX (VoD)
eth1.840 - u/u eth1.840 LIVEBOX (ZAPPING +
CANAL 1)
eth2 192.168.10.1/24 u/u eth2 LOCAL LAN SWITCH
lo 127.0.0.1/8 u/u
::1/128
kaktuss@erl-3:~$
et le verbose de dibbler-client semble pourtant indiqué qu'il à bien reçu mon prefixe mais il n'est pas attribué??
root@erl-3:/etc/dibbler# service dibbler-client
force-reload reload restart start stop
root@erl-3:/etc/dibbler# service dibbler-client stop
Stopping DHCPv6 client: dibbler-client.
root@erl-3:/etc/dibbler# dibbler-client run
| Dibbler - a portable DHCPv6, version 1.0.1 (CLIENT, Linux port)
| Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
| Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
| Homepage: http://klub.com.pl/dhcpv6/
2018.07.17 17:04:38 Client Notice My pid (19190) is stored in /var/lib/dibbler/client.pid
2018.07.17 17:04:38 Client Notice Detected iface eth0.840/13, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice Detected iface eth1.832/12, MAC=dc:9f:db:80:04:8d.
2018.07.17 17:04:38 Client Notice Detected iface eth1.838/11, MAC=dc:9f:db:80:04:8d.
2018.07.17 17:04:38 Client Notice Detected iface eth0.832/10, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice Detected iface eth1.840/9, MAC=dc:9f:db:80:04:8d.
2018.07.17 17:04:38 Client Notice Detected iface eth0.838/8, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice Detected iface br0/7, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice Detected iface br1/6, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice Detected iface imq0/5, MAC=.
2018.07.17 17:04:38 Client Notice Detected iface eth2/4, MAC=dc:9f:db:80:04:8e.
2018.07.17 17:04:38 Client Notice Detected iface eth1/3, MAC=dc:9f:db:80:04:8d.
2018.07.17 17:04:38 Client Notice Detected iface eth0/2, MAC=dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Notice Detected iface lo/1, MAC=00:00:00:00:00:00.
2018.07.17 17:04:38 Client Notice Parsing /etc/dibbler/client.conf config file...
2018.07.17 17:04:38 Client Info Interface eth0.832/10 configuration has been loaded.
2018.07.17 17:04:38 Client Info My DUID is 00:01:00:01:1c:37:4e:44:dc:9f:db:80:04:8c.
2018.07.17 17:04:38 Client Info Loading old address database (client-AddrMgr.xml), using built-in routines.
2018.07.17 17:04:38 Client Info DB timestamp:1531839870, now()=1531839878, db is 8 second(s) old.
2018.07.17 17:04:38 Client Notice Creating control (::) socket on the lo/1 interface.
2018.07.17 17:04:38 Client Notice Creating socket (addr=fe80::de9f:dbff:fe80:48c) on eth0.832/10 interface.
2018.07.17 17:04:38 Client Notice CONFIRM support compiled in.
2018.07.17 17:04:38 Client Info Creating SOLICIT message with 0 IA(s), no TA and 1 PD(s) on eth0.832/10 interface.
2018.07.17 17:04:38 Client Error AUTH: protocol 10417976 not supported yet.
2018.07.17 17:04:38 Client Info Received ADVERTISE on eth0.832/10,trans-id=0xf74880, 5 opts: 25 2 1 11 7
2018.07.17 17:04:38 Client Info ADVERTISE message with preference set to 255 received, so wait time for other possible ADVERTISE messages is skipped.
2018.07.17 17:04:38 Client Info Creating REQUEST. Backup server list contains 1 server(s).
2018.07.17 17:04:38 Client Error AUTH: protocol 10418152 not supported yet.
2018.07.17 17:04:38 Client Info Received REPLY on eth0.832/10,trans-id=0xadcbb3, 4 opts: 25 2 1 11
2018.07.17 17:04:38 Client Warning PD: Prefix 2a01:cb08:652:ac00::/56 is already assigned to this PD.
2018.07.17 17:04:38 Client Notice PD: Adding prefix 2a01:cb08:652:ac00::/56 to all interfaces (prefix will be split to /64 prefixes if necessary).
2018.07.17 17:04:38 Client Info PD: Using 0 suitable interface(s):[none]
2018.07.17 17:04:38 Client Warning All IA(s), TA and PD(s) has been configured, but some options (23 16 15 ) were not assigned.
2018.07.17 17:04:38 Client Notice Insist-mode disabled, giving up (not sending INF-REQUEST).
-
Effectivement il y a bien un préfixe. Le problème c’est donc le script.
Et là du coup je ne vois pas pourquoi.
Édit: Même question que tout à l’heure: le « fi » qui manque à la fin du script, c’est encore le copier/coller ? :)
-
En effet. Sacré filou ce copier/coller ;D ;)
-
Je pense que j’ai compris: Le fichier status (/run/dibbler.lease) contient déjà le bon préfixe (à cause des exécutions précédentes du script qui utilisait la mauvaise variable), du coup l’interface n’est pas modifiée...
Supprime /run/dibbler.lease et relance le service, ça devrait marcher ;)
-
Ok je vais tenter cela.
Depuis un tel dans le rer B :p
Edit : ca fonctionne ;)
Merci beaucoup
Maintenant reste à faire un seveur dhcpv6 afin de pouvoir pousser mes serveurs dns ipv6 locaux
Edit 2 :
Par contre j'ai "que" 200Mbps en IPv6... (testdebit.info sur boutgues IPv6)
-
L’offload IPv6 est activé ?
-
Bien vu !! :-[ :-[ je me sens gêné
Au top, en tout cas je note dans ma petite test ^^
edit : il faudrait noté dans le tuto le fait d'activé l'offload ipv6 foward et vlan :D
-
Mon message est peut-être limite hors sujet, mais orange donne bien un bloc ipv6 fixe ? Ou "semi-fixe" ?
J'ai pas réussi à trouver la réponse, sur internet les infos remontent à 2016.
Merci
-
"semi" (le mien n'a changé qu'une fois depuis qu'IPv6 est déployé chez Orange).
-
Et on gère comment ce changement, il faut se retapper tous les paramétrages ip fixe pour les machines du LAN (pour les serveurs par exemple)?
Ou il y a possibilité d'utiliser des astuces? Je connais pas trop ipv6, mais avec dhcp via addresse mac et delegation de préfixe, il y a possibilité de faire quelque chose d'automatisé ?
Avec IPV4, j'utilise des addresses privées, mais comment ça marche avec IPV6 ?
-
Alors perso, ce que je fais:
- J'utilise SLAAC pour attribuer mes (voir plus bas) préfixes à toutes mes machines, y compris mes serveurs. Pour les serveurs sous linux, j'utilise "ip token set" pour configurer les 64 bits de poids faible de l'adresse à autre chose que l'adresse mac...
- En plus du préfixe attribué par Orange, j'utilise en plus un second préfixe ULA (équivalent des adresses privées IPv4), qui, lui, ne change jamais
- Sur mon DNS interne, je ne publie que les adresses utilisant le préfixe ULA (comme ça si le préfixe Orange change, pas de modifs à faire dans mon DNS)
- Pour les quelques serveurs accessibles depuis le net (3 ou 4, une petite partie de tous les containers que j'ai en fait), à chaque changement de préfixe j'ai un script sur le routeur qui va modifier mes zones sur leurs DNS autoritaires (elles sont chez cloudflare, il est assez facile de faire des modifs avec leur API REST)
Dans l'idéal, il faudrait pouvoir faire du NPTv6 et n'avoir qu'un adressage ULA sur le LAN, le routeur se chargeant de faire la traduction d'un préfixe à l'autre. Mais point de NPTv6 sur EdgeOS.
-
Merci pour ce tuto il m'a bien aidé pour me débarasser de la livebox3 et de ses déco intempestives. Je la garde juste pour le téléphone et pour la TV.
Je viens de faire l'acquisition d'un ERLite-3 et j'ai pu parfaitement le configurer grâce à vous tous.
J'ai juste un dernier problème, et souhaiterai votre aide: lorsque je fais un test ipv6 j'ai systématiquement la note de 19/20 (sur Ipad) avec un problème sur Hostname None dans IPV6 connectivity.
(https://nsa39.casimages.com/img/2018/08/27/18082705231474083.png) (https://www.casimages.com/i/18082705231474083.png.html)
J'ai vu que certains n'avait pas ce problème. Une idée à me soumettre pour avoir un joli 20/20 ?
Au passage il faut corriger l'offload ipv6 dans le tuto en prenant en compte la config suivante:
offload {
hwnat disable
ipsec enable
ipv4 {
forwarding enable
vlan enable
}
ipv6 {
forwarding enable
vlan enable
}
}
Voici le code complet pour un ERLite-3, j'ai gardé l'adresse 192.168.1.254 de ma livebox, du coup si mon ERLite merdoit un jour j'ai juste à débrancher le câble réseau ETH2 et le rebrancher sur la Livebox.
firewall {
all-ping enable
broadcast-ping disable
ipv6-name WANv6_IN {
default-action drop
description "WANv6 inbound traffic forwarded to LAN"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
rule 30 {
action accept
description "Allow ICMPv6"
log disable
protocol icmpv6
}
}
ipv6-name WANv6_LOCAL {
default-action drop
description "WANv6 inbound traffic to the router"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
state {
invalid enable
}
}
rule 30 {
action accept
description "Allow ICMPv6"
log disable
protocol icmpv6
}
rule 40 {
action accept
description "Allow DHCPv6"
destination {
port 546
}
protocol udp
source {
port 547
}
}
}
ipv6-name WANv6_OUT {
default-action accept
description "WANv6 outbound traffic"
rule 10 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 20 {
action reject
description "Reject invalid state"
state {
invalid enable
}
}
}
ipv6-receive-redirects disable
ipv6-src-route disable
ip-src-route disable
log-martians enable
name WAN_IN {
default-action drop
description "WAN to internal"
enable-default-log
rule 10 {
action accept
description "Allow established/related"
log disable
protocol all
state {
established enable
invalid disable
new disable
related enable
}
}
rule 20 {
action drop
description "Drop invalid state"
log disable
protocol all
state {
established disable
invalid enable
new disable
related disable
}
}
}
name WAN_LOCAL {
default-action drop
description "WAN to router"
rule 1 {
action accept
description "Allow established/related"
state {
established enable
related enable
}
}
rule 2 {
action accept
description "Allow Ping"
destination {
group {
address-group ADDRv4_eth2
}
}
log enable
protocol icmp
}
rule 3 {
action drop
description "Drop invalid state"
log disable
state {
invalid enable
}
}
}
options {
}
receive-redirects disable
send-redirects enable
source-validation disable
syn-cookies enable
}
interfaces {
bridge br0 {
aging 300
bridged-conntrack disable
description "bro -> eth0.838 LIVEBOX (VoD)"
hello-time 2
max-age 20
priority 0
promiscuous disable
stp false
}
bridge br1 {
aging 300
bridged-conntrack disable
description "br1 -> eth0.840 LIVEBOX (ZAPPING + CANAL 1)"
hello-time 2
max-age 20
priority 0
promiscuous disable
stp false
}
ethernet eth0 {
description "eth0 VERS LIVEBOX"
duplex auto
speed auto
vif 832 {
address 192.168.2.1/24
description "eth0.832 LIVEBOX (INTERNET + VOIP + CANAL 2)"
}
vif 838 {
bridge-group {
bridge br0
}
description "eth0.838 LIVEBOX (VoD)"
egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
}
vif 840 {
bridge-group {
bridge br1
}
description "eth0.840 LIVEBOX (ZAPPING + CANAL 1)"
egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
}
}
ethernet eth1 {
description "eth1 ONT (FIBRE RJ45)"
duplex auto
speed auto
vif 832 {
address dhcp
description "eth1.832 (INTERNET + VOIP + CANAL 2)"
dhcp-options {
client-option "send vendor-class-identifier "sagem";"
client-option "send user-class "\053FSVDSL_livebox.Internet.softathome.Livebox4";"
client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;"
client-option "request dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, domain-search, rfc3118-auth;"
default-route update
default-route-distance 210
global-option "option rfc3118-auth code 90 = string;"
name-server update
}
egress-qos "0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0"
firewall {
in {
ipv6-name WANv6_IN
name WAN_IN
}
local {
ipv6-name WANv6_LOCAL
name WAN_LOCAL
}
}
ipv6 {
address {
autoconf
}
dup-addr-detect-transmits 1
}
}
vif 838 {
bridge-group {
bridge br0
}
description "eth1.838 (VoD)"
egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
}
vif 840 {
bridge-group {
bridge br1
}
description "eth1.840 (ZAPPING + CANAL 1)"
egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
}
}
ethernet eth2 {
address 192.168.1.254/24
description "eth2 LOCAL LAN SWITCH"
duplex auto
speed auto
ipv6 {
dup-addr-detect-transmits 1
router-advert {
cur-hop-limit 64
link-mtu 0
managed-flag false
max-interval 600
other-config-flag false
prefix ::/64 {
autonomous-flag true
on-link-flag true
preferred-lifetime 14400
valid-lifetime 18000
}
reachable-time 0
retrans-timer 0
send-advert true
}
}
}
loopback lo {
}
}
protocols {
static {
route6 ::/0 {
next-hop fe80::ba0:bab {
interface eth1.832
}
}
}
}
service {
dhcp-server {
disabled false
global-parameters "option rfc3118-auth code 90 = string;"
global-parameters "option SIP code 120 = string;"
global-parameters "option Vendor-specific code 125 = string;"
hostfile-update disable
shared-network-name LAN {
authoritative disable
subnet 192.168.1.0/24 {
default-router 192.168.1.254
dns-server 8.8.8.8
dns-server 8.8.4.4
domain-name FD-HOME
lease 86400
start 192.168.1.3 {
stop 192.168.1.253
}
}
}
shared-network-name LIVEBOX {
authoritative enable
subnet 192.168.2.0/24 {
default-router 192.168.2.1
dns-server 81.253.149.9
dns-server 80.10.246.1
domain-name orange.fr
lease 86400
start 192.168.2.30 {
stop 192.168.2.50
}
subnet-parameters "option rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:64:68:63:70:6c:69:76:65:62:6f:78:66:72:32:35:30;"
subnet-parameters "option SIP 00:06:73:62:63:74:33:67:03:41:55:42:06:61:63:63:65:73:73:11:6f:72:61:6e:67:65:2d:6d:75:6c:74:69:6d:65:64:69:61:03:6e:65:74:00;"
subnet-parameters "option Vendor-specific 00:00:05:58:0c:01:0a:00:00:00:00:00:ff:ff:ff:ff:ff;"
}
}
static-arp disable
use-dnsmasq disable
}
dns {
}
gui {
http-port 80
https-port 443
older-ciphers enable
}
nat {
rule 5010 {
log disable
outbound-interface eth1.832
protocol all
type masquerade
}
}
ssh {
allow-root
port 22
protocol-version v2
}
upnp2 {
listen-on eth0.832
listen-on eth2
nat-pmp enable
secure-mode disable
wan eth1.832
}
}
system {
config-management {
commit-revisions 50
}
domain-name FD-HOME
host-name ubnt
login {
user root {
authentication {
encrypted-password XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
plaintext-password ""
}
full-name ""
level admin
}
user ubnt {
authentication {
encrypted-password XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
plaintext-password ""
}
full-name ""
level admin
}
}
name-server 8.8.8.8
name-server 8.8.4.4
name-server 208.67.222.222
name-server 208.67.220.220
ntp {
server 0.ubnt.pool.ntp.org {
}
server 1.ubnt.pool.ntp.org {
}
server 2.ubnt.pool.ntp.org {
}
server 3.ubnt.pool.ntp.org {
}
}
offload {
hwnat disable
ipsec enable
ipv4 {
forwarding enable
vlan enable
}
ipv6 {
forwarding enable
vlan enable
}
}
package {
repository wheezy {
components "main contrib non-free"
distribution wheezy
password ""
url http://http.us.debian.org/debian
username ""
}
repository wheezy-security {
components main
distribution wheezy/updates
password ""
url http://security.debian.org
username ""
}
}
syslog {
global {
facility all {
level notice
}
facility protocols {
level debug
}
}
}
time-zone Europe/Paris
}
/* Warning: Do not remove the following line. */
/* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@5:nat@3:qos@1:quagga@2:system@4:ubnt-pptp@1:ubnt-udapi-server@1:ubnt-unms@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.10.5.5098915.180622.1355 */
-
Alors perso, ce que je fais:
- J'utilise SLAAC pour attribuer mes (voir plus bas) préfixes à toutes mes machines, y compris mes serveurs. Pour les serveurs sous linux, j'utilise "ip token set" pour configurer les 64 bits de poids faible de l'adresse à autre chose que l'adresse mac...
- En plus du préfixe attribué par Orange, j'utilise en plus un second préfixe ULA (équivalent des adresses privées IPv4), qui, lui, ne change jamais
- Sur mon DNS interne, je ne publie que les adresses utilisant le préfixe ULA (comme ça si le préfixe Orange change, pas de modifs à faire dans mon DNS)
- Pour les quelques serveurs accessibles depuis le net (3 ou 4, une petite partie de tous les containers que j'ai en fait), à chaque changement de préfixe j'ai un script sur le routeur qui va modifier mes zones sur leurs DNS autoritaires (elles sont chez cloudflare, il est assez facile de faire des modifs avec leur API REST)
Dans l'idéal, il faudrait pouvoir faire du NPTv6 et n'avoir qu'un adressage ULA sur le LAN, le routeur se chargeant de faire la traduction d'un préfixe à l'autre. Mais point de NPTv6 sur EdgeOS.
Merci pour les infos !
Avec le SLAAC + "ip token set", les serveur apprennent automatiquement la nouvelle adresse tout en gardant les 64 bits de poids faibles predefinis ?
Du coup pour tes machines "privées", ells ont deux addresses ipv6 ? Une ULA et une avec le prefixe d'orange ?
-
Oui et oui.
-
Bonjour a tous,
Tout a très bien fonctionné pour l'ipv4, merci à l'auteur et aux différents contributeurs.
J'essaye actuellement de configurer l'ipv6 un EdgeRouter X et je rencontre un problème avec dibbler.
Le package fourni étant pour une architecture mips, le edgerouter X a une architecture mipsel ce qui empêche dpkg de fonctionner.
J'ai donc installé dibbler-client via apt-get.
La version est installée est la 0.8.2 mais lorsque j'essaye de démarrer dibbler-client je me retrouve avec une syntax error :
Config parse error: line 19, unexpected [00:00:04:0e:00:05:73:61:67:65:6d] token.
Voici la ligne concernée :
option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
Et voici les différentes modifications que j'ai déjà tenté :
option 16 duid 00:00:04:0e:00:05:73:61:67:65:6d
option 16 duid 0x0000040e0005736167656d
option 16 hex 0x0000040e0005736167656d
J'ai également vérifié plusieurs fois que le fichier avait bien le bon encodage / fin de ligne.
Voici le fichier client.conf complet avec la ligne option 11 modifiée pour masquer l'identifiant.
root@ubnt:/etc/dibbler# cat client.conf
# Defaults for dibbler-client
# installed at /etc/dibbler/client.conf by the maintainer script
# 8 (Debug) is most verbose. 7 (Info) is usually the best option
log-level 7
# To perform stateless (i.e. options only) configuration, uncomment
# this line below and remove any "ia" keywords from interface definitions
# stateless
downlink-prefix-ifaces "none"
script "/etc/dibbler/radvd.sh"
iface eth4.832 {
pd
option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
option 15 hex 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
option 11 hex 00:00:00:00:00:00:00:00:00:00:00:XX
option 11 hex 00:00:00:00:00:00:00:00:00:00:00:XX
option dns-server
}
J'ai essayé une grande quantité de choses en regardant plusieurs forums mais je n'arrive vraiment pas à résoudre cela. Si quelqu'un aurait une solution ça serait vraiment super !
Merci d'avance
-
La version est installée est la 0.8.2
1.0.1 mini obligatoire (les précédentes ne supportent pas les options nécessaires).
-
1.0.1 mini obligatoire (les précédentes ne supportent pas les options nécessaires).
Effectivement ça fonctionne meme si ça demande quelques modifications pour que dibbler-client ait bien toutes les dépendances nécessaires.
Merci !
-
Le paquet dibbler fourni correspond à une architecture mips (soc cavium) avec un boutisme différent de l'architecture mipsel (soc MediaTeK), voic donc les paquets compilés par mes soins pour Wheezy avec le patch de zoc pour la cos6.
Le paquet "dbg" est uniquement utilisé à des fins de déboguage, le paquet doc contient la documentation.
J'ai les autres paquets si vous le souhaitez.
EDIT: le patch n'est pas passé, je remets des fichiers avec le patch appliqué.
-
Le "patch de zoc pour la cos6" est disponible quelque part ? (pour pouvoir l'appliquer sur les sources de Dibbler et le compiler pour autre architecture)
Merci d'avance
-
C'est celui-ci:
--- a/Port-linux/lowlevel-linux.c
+++ b/Port-linux/lowlevel-linux.c
@@ -492,6 +492,9 @@ int sock_add(char * ifacename,int ifacei
sprintf(Message, "socket creation failed. Is IPv6 protocol supported by kernel?");
return LOWLEVEL_ERROR_UNSPEC;
}
+
+ int val=6;
+ setsockopt(Insock, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
/* Set the options to receivce ipv6 traffic */
if (setsockopt(Insock, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on)) < 0) {
--- a/Port-linux/libnetlink.c
+++ b/Port-linux/libnetlink.c
@@ -45,6 +45,9 @@ int rtnl_open_byproto(struct rtnl_handle
return -1;
}
+ int val=6;
+ setsockopt(rth->fd, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
+
if (setsockopt(rth->fd,SOL_SOCKET,SO_SNDBUF,&sndbuf,sizeof(sndbuf)) < 0) {
perror("SO_SNDBUF");
return -1;
--- a/Port-linux/lowlevel-linux-link-state.c
+++ b/Port-linux/lowlevel-linux-link-state.c
@@ -218,6 +218,9 @@ int report_link_state(const char* iface)
return -1;
}
+ int val=6;
+ setsockopt(fd, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
+
/* here just to make it more convenient for testing:if we define DEBUG,so a plugin-out and plugin-in event
* will be detected if we do "ifconfig interface-name down" and ifconfig interface-name up".Otherwise,
* if we do not define DEBUG, a plugin-in and plugin-out event can only be detected when the local link
-
Mon ER-X est connecté soit au MC220L soit au switch GS108Tv2
Bon ben je galère à déterminer l'erreur (j'ai censuré):
sudo dibbler-client run
| Dibbler - a portable DHCPv6, version 1.0.1 (CLIENT, Linux port)
| Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
| Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
| Homepage: http://klub.com.pl/dhcpv6/
2018.09.09 18:40:45 Client Notice My pid (2876) is stored in /var/lib/dibbler/client.pid
2018.09.09 18:40:45 Client Notice Detected iface eth0.832/10, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice Detected iface eth0.840/9, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice Detected iface eth4/8, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice Detected iface eth3/7, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice Detected iface eth2/6, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice Detected iface eth1/5, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice Detected iface eth0/4, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice Detected iface imq0/3, MAC=.
2018.09.09 18:40:45 Client Notice Detected iface switch0/2, MAC=78:8a:20:.
2018.09.09 18:40:45 Client Notice Detected iface lo/1, MAC=00:00:00:00:00:00.
2018.09.09 18:40:45 Client Notice Parsing /etc/dibbler/client.conf config file...
2018.09.09 18:40:45 Client Debug PD: Following interfaces marked as downlink: none
2018.09.09 18:40:45 Client Debug Prefix delegation option (no parameters) found.
2018.09.09 18:40:45 Client Debug Will send option 16 (hex data, len11)
2018.09.09 18:40:45 Client Debug Will send option 15 (hex data, len45)
2018.09.09 18:40:45 Client Debug Will send option 11 (hex data, len22)
2018.09.09 18:40:45 Client Debug Will send option 11 (hex data, len22)
2018.09.09 18:40:45 Client Debug Parsing /etc/dibbler/client.conf done, result=0(success)
2018.09.09 18:40:45 Client Debug 1 interface(s) specified in /etc/dibbler/client.conf
2018.09.09 18:40:45 Client Info Interface eth0.832/10 configuration has been loaded.
2018.09.09 18:40:45 Client Debug DUID's value = 00:01:00:01:23:27:fe:e7:78: was loaded from client-duid file.
2018.09.09 18:40:45 Client Info My DUID is 00:01:00:01:23:27:fe:e7:78:8a:.
2018.09.09 18:40:45 Client Info Loading old address database (client-AddrMgr.xml), using built-in routines.
2018.09.09 18:40:45 Client Info DB timestamp:1536511241, now()=1536511245, db is 4 second(s) old.
2018.09.09 18:40:45 Client Debug Auth: Replay detection value loaded 0
2018.09.09 18:40:45 Client Info All client's 00:01:00:01:23:27:fe:e7:78:8a: leases are not valid.
2018.09.09 18:40:45 Client Debug Bind reuse enabled (multiple instances allowed).
2018.09.09 18:40:45 Client Notice Creating control (::) socket on the lo/1 interface.
2018.09.09 18:40:45 Client Notice Creating socket (addr=fe80::7a8a:20ff:) on eth0.832/10 interface.
2018.09.09 18:40:45 Client Debug Initialising link-state detection for interfaces: eth0.832/10
2018.09.09 18:40:45 Client Notice CONFIRM support compiled in.
2018.09.09 18:40:45 Client Info Creating SOLICIT message with 0 IA(s), no TA and 1 PD(s) on eth0.832/10 interface.
2018.09.09 18:40:45 Client Error AUTH: protocol 6529048 not supported yet.
2018.09.09 18:40:45 Client Debug Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:40:45 Client Debug Sleeping for 1 second(s).
2018.09.09 18:40:46 Client Info Processing msg (SOLICIT,transID=0x6359e9,opts: 1 25 8 16 15 11 11 6)
2018.09.09 18:40:46 Client Error AUTH: protocol 6529048 not supported yet.
2018.09.09 18:40:46 Client Debug Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:40:46 Client Debug Sleeping for 2 second(s).
2018.09.09 18:40:48 Client Info Processing msg (SOLICIT,transID=0x6359e9,opts: 1 25 8 16 15 11 11 6)
2018.09.09 18:40:48 Client Error AUTH: protocol 6529048 not supported yet.
2018.09.09 18:40:48 Client Debug Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:40:48 Client Debug Sleeping for 4 second(s).
2018.09.09 18:40:52 Client Info Processing msg (SOLICIT,transID=0x6359e9,opts: 1 25 8 16 15 11 11 6)
2018.09.09 18:40:52 Client Error AUTH: protocol 6529048 not supported yet.
2018.09.09 18:40:52 Client Debug Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:40:52 Client Debug Sleeping for 8 second(s).
2018.09.09 18:41:00 Client Info Processing msg (SOLICIT,transID=0x6359e9,opts: 1 25 8 16 15 11 11 6)
2018.09.09 18:41:00 Client Error AUTH: protocol 6529048 not supported yet.
2018.09.09 18:41:00 Client Debug Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:41:00 Client Debug Sleeping for 16 second(s).
2018.09.09 18:41:16 Client Info Processing msg (SOLICIT,transID=0x6359e9,opts: 1 25 8 16 15 11 11 6)
2018.09.09 18:41:16 Client Error AUTH: protocol 6529048 not supported yet.
2018.09.09 18:41:16 Client Debug Sending SOLICIT(opts:1 25 8 16 15 11 11 6 ) on eth0.832/10 to multicast.
2018.09.09 18:41:16 Client Debug Sleeping for 32 second(s).
cat /etc/dibbler/radvd.sh
#!/bin/bash
if [ "$SRV_MESSAGE" != "REPLY" ]
then
exit 1
fi
function fullPrefix () {
local input=$1
local o=""
local z=""
input=$(tr 'A-F' 'a-f' <<< $input )
while [ "$o" != "$input" ]; do
o="$input"
input="$( sed 's|:\([0-9a-f]\{3\}\):|:0\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{3\}\)$|:0\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\{3\}\):|0\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{2\}\):|:00\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\{2\}\)$|:00\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\{2\}\):|00\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\):|:000\1:|g' <<< "$input" )"
input="$( sed 's|:\([0-9a-f]\)$|:000\1|g' <<< "$input" )"
input="$( sed 's|^\([0-9a-f]\):|000\1:|g' <<< "$input" )"
done
grep -qs "::" <<< "$input"
if [ "$?" -eq 0 ]; then
GRPS="$( sed 's|[0-9a-f]||g' <<< "$input" | wc -m )"
((GRPS--)) # carriage return
((MISSING=8-GRPS))
for ((i=0;i<$MISSING;i++)); do
z="$z:0000"
done
input="$( sed 's|\(.\)::\(.\)|\1'$z':\2|g' <<< "$input" )"
input="$( sed 's|\(.\)::$|\1'$z':0000|g' <<< "$input" )"
input="$( sed 's|^::\(.\)|'$z':0000:\1|g;s|^:||g' <<< "$input" )"
fi
echo "$input"
}
SWITCH0_SUFFIX="01::1"
STATUS_FILE=/run/dibbler.lease
if [ -f "$STATUS_FILE" ];
then
source $STATUS_FILE
fi
TRIM_SIZE=17
FULLPREFIX=$( fullPrefix $PREFIX1 )
PREFIX1=${FULLPREFIX:0:TRIM_SIZE}
if [ "$PREFIX1" != "$CURRENT_PREFIX1" ]
then
if [ "$CURRENT_PREFIX1" != "" ]
then
ip addr delete "$CURRENT_PREFIX1$SWITCH0_SUFFIX/64" dev switch0
fi
echo "CURRENT_PREFIX1=$PREFIX1" > $STATUS_FILE
ip addr add "$PREFIX1$SWITCH0_SUFFIX/64" dev switch0
service radvd restart >/dev/null 2>&1
fi
cat /etc/dibbler/client.conf
# Defaults for dibbler-client.
# installed at /etc/dibbler/client.conf by the maintainer scripts
# 8 (Debug) is most verbose. 7 (Info) is usually the best option
log-level 8
duid-type duid-ll
# To perform stateless (i.e. options only) configuration, uncomment
# this line below and remove any "ia" keywords from interface definitions
# stateless
downlink-prefix-ifaces "none"
script "/etc/dibbler/radvd.sh"
iface eth0.832 {
pd
option 16 hex 00:00:04:0e:00:05:73:61:67:65:6d
option 15 hex 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
option 11 hex 00:00:00:00:00:00:00:00:00:00:00:66:74:69:2f:74:63:32:66:67:65:32
option 11 hex 00:00:00:00:00:00:00:00:00:00:00:66:74:69:2f:74:63:32:66:67:65:32
option dns-server
}
../..
-
Le routeur est configuré de cette façon:
set firewall all-ping enable
set firewall broadcast-ping disable
set firewall ipv6-name WANv6_IN default-action drop
set firewall ipv6-name WANv6_IN description 'WANv6 inbound traffic forwarded to LAN'
set firewall ipv6-name WANv6_IN rule 10 action accept
set firewall ipv6-name WANv6_IN rule 10 description 'Allow established/related'
set firewall ipv6-name WANv6_IN rule 10 state established enable
set firewall ipv6-name WANv6_IN rule 10 state related enable
set firewall ipv6-name WANv6_IN rule 20 action drop
set firewall ipv6-name WANv6_IN rule 20 description 'Drop invalid state'
set firewall ipv6-name WANv6_IN rule 20 state invalid enable
set firewall ipv6-name WANv6_IN rule 30 action accept
set firewall ipv6-name WANv6_IN rule 30 description 'Allow ICMPv6'
set firewall ipv6-name WANv6_IN rule 30 log disable
set firewall ipv6-name WANv6_IN rule 30 protocol icmpv6
set firewall ipv6-name WANv6_LOCAL default-action drop
set firewall ipv6-name WANv6_LOCAL description 'WANv6 inbound traffic to the router'
set firewall ipv6-name WANv6_LOCAL rule 10 action accept
set firewall ipv6-name WANv6_LOCAL rule 10 description 'Allow established/related'
set firewall ipv6-name WANv6_LOCAL rule 10 state established enable
set firewall ipv6-name WANv6_LOCAL rule 10 state related enable
set firewall ipv6-name WANv6_LOCAL rule 20 action drop
set firewall ipv6-name WANv6_LOCAL rule 20 description 'Drop invalid state'
set firewall ipv6-name WANv6_LOCAL rule 20 state invalid enable
set firewall ipv6-name WANv6_LOCAL rule 30 action accept
set firewall ipv6-name WANv6_LOCAL rule 30 description 'Allow ICMPv6'
set firewall ipv6-name WANv6_LOCAL rule 30 log disable
set firewall ipv6-name WANv6_LOCAL rule 30 protocol icmpv6
set firewall ipv6-name WANv6_LOCAL rule 40 action accept
set firewall ipv6-name WANv6_LOCAL rule 40 description 'Allow DHCPv6'
set firewall ipv6-name WANv6_LOCAL rule 40 destination port 546
set firewall ipv6-name WANv6_LOCAL rule 40 protocol udp
set firewall ipv6-name WANv6_LOCAL rule 40 source port 547
set firewall ipv6-name WANv6_OUT default-action accept
set firewall ipv6-name WANv6_OUT description 'WANv6 outbound traffic'
set firewall ipv6-name WANv6_OUT rule 10 action accept
set firewall ipv6-name WANv6_OUT rule 10 description 'Allow established/related'
set firewall ipv6-name WANv6_OUT rule 10 state established enable
set firewall ipv6-name WANv6_OUT rule 10 state related enable
set firewall ipv6-name WANv6_OUT rule 20 action reject
set firewall ipv6-name WANv6_OUT rule 20 description 'Reject invalid state'
set firewall ipv6-name WANv6_OUT rule 20 state invalid enable
set firewall ipv6-receive-redirects disable
set firewall ipv6-src-route disable
set firewall ip-src-route disable
set firewall log-martians enable
set firewall name WAN_IN default-action drop
set firewall name WAN_IN description 'WAN to internal'
set firewall name WAN_IN rule 10 action accept
set firewall name WAN_IN rule 10 description 'Allow established/related'
set firewall name WAN_IN rule 10 log disable
set firewall name WAN_IN rule 10 protocol all
set firewall name WAN_IN rule 10 state established enable
set firewall name WAN_IN rule 10 state invalid disable
set firewall name WAN_IN rule 10 state new disable
set firewall name WAN_IN rule 10 state related enable
set firewall name WAN_IN rule 20 action drop
set firewall name WAN_IN rule 20 description 'Drop invalid state'
set firewall name WAN_IN rule 20 log disable
set firewall name WAN_IN rule 20 protocol all
set firewall name WAN_IN rule 20 state established disable
set firewall name WAN_IN rule 20 state invalid enable
set firewall name WAN_IN rule 20 state new disable
set firewall name WAN_IN rule 20 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 100 action accept
set firewall name WAN_LOCAL rule 100 description 'Allow established/related'
set firewall name WAN_LOCAL rule 100 state established enable
set firewall name WAN_LOCAL rule 100 state related enable
set firewall name WAN_LOCAL rule 200 action drop
set firewall name WAN_LOCAL rule 200 description 'Drop invalid state'
set firewall name WAN_LOCAL rule 200 log disable
set firewall name WAN_LOCAL rule 200 state invalid enable
set firewall options
set firewall receive-redirects disable
set firewall send-redirects enable
set firewall source-validation disable
set firewall syn-cookies enable
set interfaces ethernet eth0 address dhcp
set interfaces ethernet eth0 description ISP
set interfaces ethernet eth0 duplex auto
set interfaces ethernet eth0 speed auto
set interfaces ethernet eth0 vif 832 address dhcp
set interfaces ethernet eth0 vif 832 description ISP_DATA_TV
set interfaces ethernet eth0 vif 832 dhcp-options client-option 'send vendor-class-identifier "sagem";'
set interfaces ethernet eth0 vif 832 dhcp-options client-option 'send user-class "\053FSVDSL_livebox.Internet.softathome.Livebox4";'
set interfaces ethernet eth0 vif 832 dhcp-options client-option 'send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;'
set interfaces ethernet eth0 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;'
set interfaces ethernet eth0 vif 832 dhcp-options default-route update
set interfaces ethernet eth0 vif 832 dhcp-options default-route-distance 210
set interfaces ethernet eth0 vif 832 dhcp-options global-option 'option rfc3118-auth code 90 = string;'
set interfaces ethernet eth0 vif 832 dhcp-options name-server update
set interfaces ethernet eth0 vif 832 firewall in ipv6-name WANv6_IN
set interfaces ethernet eth0 vif 832 firewall in name WAN_IN
set interfaces ethernet eth0 vif 832 firewall local ipv6-name WANv6_LOCAL
set interfaces ethernet eth0 vif 832 firewall local name WAN_LOCAL
set interfaces ethernet eth0 vif 832 ipv6 address autoconf
set interfaces ethernet eth0 vif 832 ipv6 dup-addr-detect-transmits 1
set interfaces ethernet eth0 vif 840 address 192.168.255.254/32
set interfaces ethernet eth0 vif 840 description ISP_TV_VOD
set interfaces ethernet eth1 duplex auto
set interfaces ethernet eth1 speed auto
set interfaces ethernet eth2 duplex auto
set interfaces ethernet eth2 speed auto
set interfaces ethernet eth3 duplex auto
set interfaces ethernet eth3 speed auto
set interfaces ethernet eth4 duplex auto
set interfaces ethernet eth4 speed auto
set interfaces loopback lo
set interfaces switch switch0 address 192.168.2.1/24
set interfaces switch switch0 ipv6 dup-addr-detect-transmits 1
set interfaces switch switch0 ipv6 router-advert cur-hop-limit 64
set interfaces switch switch0 ipv6 router-advert link-mtu 0
set interfaces switch switch0 ipv6 router-advert managed-flag false
set interfaces switch switch0 ipv6 router-advert max-interval 600
set interfaces switch switch0 ipv6 router-advert other-config-flag false
set interfaces switch switch0 ipv6 router-advert prefix '::/64' autonomous-flag true
set interfaces switch switch0 ipv6 router-advert prefix '::/64' on-link-flag true
set interfaces switch switch0 ipv6 router-advert prefix '::/64' preferred-lifetime 14400
set interfaces switch switch0 ipv6 router-advert prefix '::/64' valid-lifetime 18000
set interfaces switch switch0 ipv6 router-advert reachable-time 0
set interfaces switch switch0 ipv6 router-advert retrans-timer 0
set interfaces switch switch0 ipv6 router-advert send-advert true
set interfaces switch switch0 mtu 1500
set interfaces switch switch0 switch-port interface eth1
set interfaces switch switch0 switch-port interface eth2
set interfaces switch switch0 switch-port interface eth3
set interfaces switch switch0 switch-port interface eth4
set interfaces switch switch0 switch-port vlan-aware disable
set protocols igmp-proxy disable-quickleave
set protocols igmp-proxy interface eth0 role disabled
set protocols igmp-proxy interface eth0 threshold 1
set protocols igmp-proxy interface eth0.832 role disabled
set protocols igmp-proxy interface eth0.832 threshold 1
set protocols igmp-proxy interface eth0.840 alt-subnet 0.0.0.0/0
set protocols igmp-proxy interface eth0.840 role upstream
set protocols igmp-proxy interface eth0.840 threshold 1
set protocols igmp-proxy interface switch0 alt-subnet 0.0.0.0/0
set protocols igmp-proxy interface switch0 role downstream
set protocols igmp-proxy interface switch0 threshold 1
set service dhcp-server disabled false
set service dhcp-server hostfile-update disable
set service dhcp-server shared-network-name LAN_SW0_DHCP authoritative enable
set service dhcp-server shared-network-name LAN_SW0_DHCP subnet 192.168.2.0/24 default-router 192.168.2.1
set service dhcp-server shared-network-name LAN_SW0_DHCP subnet 192.168.2.0/24 dns-server 192.168.2.1
set service dhcp-server shared-network-name LAN_SW0_DHCP subnet 192.168.2.0/24 lease 86400
set service dhcp-server shared-network-name LAN_SW0_DHCP subnet 192.168.2.0/24 ntp-server 192.168.2.1
set service dhcp-server shared-network-name LAN_SW0_DHCP subnet 192.168.2.0/24 start 192.168.2.100 stop 192.168.2.200
set service dhcp-server static-arp disable
set service dhcp-server use-dnsmasq disable
set service dns forwarding cache-size 1024
set service dns forwarding listen-on lo
set service dns forwarding listen-on eth0
set service dns forwarding listen-on switch0
set service dns forwarding name-server 80.67.169.12
set service dns forwarding name-server 80.67.169.40
set service gui http-port 80
set service gui https-port 443
set service gui listen-address 192.168.2.1
set service gui older-ciphers disable
set service nat rule 5001 description MASQ_WAN
set service nat rule 5001 log disable
set service nat rule 5001 outbound-interface eth0.832
set service nat rule 5001 protocol all
set service nat rule 5001 type masquerade
set service nat rule 5002 description MASQ_ORANGE
set service nat rule 5002 log disable
set service nat rule 5002 outbound-interface eth0.840
set service nat rule 5002 protocol all
set service nat rule 5002 type masquerade
set service ssh listen-address 192.168.2.1
set service ssh port 22
set service ssh protocol-version v2
set service upnp2 listen-on switch0
set service upnp2 nat-pmp enable
set service upnp2 port 34651
set service upnp2 secure-mode enable
set service upnp2 wan eth0.832
set system config-management commit-revisions 5
set system conntrack expect-table-size 4096
set system conntrack hash-size 4096
set system conntrack table-size 32768
set system conntrack tcp half-open-connections 512
set system conntrack tcp loose disable
set system conntrack tcp max-retrans 3
set system host-name ubnt
set system login user ubnt authentication encrypted-password '$burp.'
set system login user ubnt level admin
set system name-server 127.0.0.1
set system ntp server 0.ubnt.pool.ntp.org
set system ntp server 1.ubnt.pool.ntp.org
set system ntp server 2.ubnt.pool.ntp.org
set system ntp server 3.ubnt.pool.ntp.org
set system offload hwnat enable
set system offload ipsec enable
set system package repository wheezy components 'main contrib non-free'
set system package repository wheezy distribution wheezy
set system package repository wheezy password ''
set system package repository wheezy url 'http://ftp.fr.debian.org/debian'
set system package repository wheezy username ''
set system syslog global facility all level notice
set system syslog global facility protocols level warning
set system time-zone Europe/Paris
set system traffic-analysis dpi disable
set system traffic-analysis export disable
-
C'est celui-ci:
--- a/Port-linux/lowlevel-linux.c
+++ b/Port-linux/lowlevel-linux.c
@@ -492,6 +492,9 @@ int sock_add(char * ifacename,int ifacei
sprintf(Message, "socket creation failed. Is IPv6 protocol supported by kernel?");
return LOWLEVEL_ERROR_UNSPEC;
}
+
+ int val=6;
+ setsockopt(Insock, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
/* Set the options to receivce ipv6 traffic */
if (setsockopt(Insock, IPPROTO_IPV6, IPV6_RECVPKTINFO, &on, sizeof(on)) < 0) {
--- a/Port-linux/libnetlink.c
+++ b/Port-linux/libnetlink.c
@@ -45,6 +45,9 @@ int rtnl_open_byproto(struct rtnl_handle
return -1;
}
+ int val=6;
+ setsockopt(rth->fd, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
+
if (setsockopt(rth->fd,SOL_SOCKET,SO_SNDBUF,&sndbuf,sizeof(sndbuf)) < 0) {
perror("SO_SNDBUF");
return -1;
--- a/Port-linux/lowlevel-linux-link-state.c
+++ b/Port-linux/lowlevel-linux-link-state.c
@@ -218,6 +218,9 @@ int report_link_state(const char* iface)
return -1;
}
+ int val=6;
+ setsockopt(fd, SOL_SOCKET, SO_PRIORITY, &val, sizeof(val));
+
/* here just to make it more convenient for testing:if we define DEBUG,so a plugin-out and plugin-in event
* will be detected if we do "ifconfig interface-name down" and ifconfig interface-name up".Otherwise,
* if we do not define DEBUG, a plugin-in and plugin-out event can only be detected when the local link
Merci.
Mais, c'est bien censé envoyer les requêtes dhcp6 avec une COS de 6 sans autre modif sur le système ?
Car sans modifier la priorité avant (avec vconfig set_egress_map), ça ne fonctionne pas (pas de réponse).
-
Non, ce n'est pas sensé faire de la CoS sans changer la configuration egress du VLAN. Le patch prépare le terrain pour que le kernel puisse appliquer la CoS, c'est tout.
-
Bonjour à tous,
N'ayant pas plus de temps à consacrer aux changements et évolutions Orange pour faire fonctionner tout cela sous ubiquiti, j'ai rebranché ma Livebox V4 en direct suite à la perte d'IP Externe constatée hier suite à Reboot (solution message Zoc ci-dessus). Ma ligne étant également à usage professionnel, je n'ai malheureusement pas la possibilité de passer des heures à chercher des solutions et il est donc plus sage pour moi de rester avec une Livebox V4 en direct qui ne limite plus à ce jour l'usage que j'en fait.
En conséquence, si vous souhaitez que ce TUTO reste à jour, je vous invite à me communqiuer les modifications précisent à effectuer, remplacer la ligne xxxx par yyy (pas des pistes de solutions, mais bien la solution...).
Je pense que ce Tuto a rendu service à pas mal de gens étant donné le nombre de lectures mais le réseau n'est pas ma spécialité (loin de là) et je n'ai ni l'envie, ni le temps d'y consacrer plus de temps... je pense avoir passé plus d'une centaine d'heure à compiler toutes les infos, et soyons honnête, l'investissement est trop lourd pour arriver au niveau de gens comme Zoc ou KGersen et j'en passe. Encore merci à eux.
Merci à tous et n'hésitez pas à me communiquer les modifications à apporter afin que ce tuto survive.
-
L'option 11 doit être modifiée (tout comme l'option 90 en IPv4) pour obtenir ceci:
00:00:00:00:00:00:00:00:00:00:00:1a:09:00:00:05:58:01:03:41:01:0d:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Rien ne garantit la pérennité de cette solution.
Topics qui en parlent:
https://lafibre.info/remplacer-livebox/cacking-nouveau-systeme-de-generation-de-loption-90-dhcp/
https://lafibre.info/remplacer-livebox/renew-dhcp-daujourdhui-gt-plus-dip/
-
Question sûrement bête, est obligatoire dibbler pour l'ipv6 ? Les dernières versions de edgerouter ne permettent pas de s'en passer ?
-
Rien n'a changé concernant IPv6 et il n'est pas prévu que ça change pour la version 2.0.0.
-
Je pense avoir à peu près compris que dibbler servait en tant que client DHCP. Par contre, à quoi sert le script "radvd.sh", j'essaye de déchiffrer mais je comprends pas vraiment ce qu'il fait ;D
Ensuite, supposons que j'ai plusieurs vlan pour mon "LAN", comment je transmet le prefixe sur ces vlans ?
Dans le script on a :
ETH7_SUFFIX="01::1"
Cela veut dire quoi ? 1 pour le premier réseau ? Si j'en veut un deuxième je peux créer un 02::1 ?
Dans le client.conf, il y a deux fois l'option 11, faut-il mettre deux fois la même chose ?
Le tuto est plutôt sympa pour une mise en place rapide mais il manque d'explication.
-
J'ai essayé d'adapter la configuration pour mon réseau. Mais j'ai des problèmes, ça ne fonctionne pas :
- Le service dibbler-client tourne bien
- L'interface WAN du routeur a bien une ipv6 en link local
- Je ping bien la passerelle WAN en link local
- Mon interface LAN n'a pas d'IPv6 global unicast
- Le fichier /run/dibbler.lease contient bien le prefixe global unicast (17 premiers caractères).
Du coup, je sais pas trop où ça coince, dans le sens où je récupère bien le préfixe mais il ne s'assigne pas à l'interface LAN. Du plus comment ça se passe pour la route par defaut ? Est-elle ajoutée automatiquement ? Faut-il la définir manuellement ?
Merci
-
Dans le client.conf, il y a deux fois l'option 11, faut-il mettre deux fois la même chose ?
Je confirme qu'il faut bien l'option en double.
Je viens de faire le nécessaire pour l'IPv6 et avait pris la liberté de supprimer le doublon... Et bien ça marche pas sans ça !
D'après ma capture, l'option 11 n'est pas envoyée dans la requête DHCPv6 (REQUEST) mais uniquement lors du SOLICIT.
En rajoutant la seconde ligne, ça a fonctionné de suite... ::)
Par contre, lors de mon reboot, il semblerait que dibbler ne démarre pas (ou s'arrête directement). Faudrait que je reteste (quand je serai seul), mais pourtant j'ai bien suivi le point 4 du tuto.
-
Je confirme qu'après un reboot, dibbler-client n'est pas démarré.
radvd.sh fais bien son office puisque je récupère des IPv6 (du préfixe récupéré avant le reboot) dans mes différents VLANs.
Par contre, malgré un redémarrage de dibbler, cela ne s'est pas remis à fonctionner de suite.
Dibbler semblait indiquer qu'il récupérait le préfixe (donc, configuration OK en ce qui concerne les options DHCPv6), mais côté client ça ne fonctionnait pas. C'est "tombé en marche" dans la nuit. Peut-être suis-je trop impatient... Quel est le délai chez vous entre le reboot et l'établissement de la connectivité IPv6 ?
-
Hello les gars,
Je viens de mettre à jour le firmware en 2.0.6 et j'ai plus d'ipV6:
root@ubnt:/home/ubnt# service dibbler-client status
* dibbler-client.service - Dibbler
Loaded: loaded (/etc/systemd/system/dibbler-client.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2019-08-22 09:40:34 CEST; 2min 45s ago
Process: 4382 ExecStop=/root.dev/w.o/usr/sbin/dibbler-client stop [b](code=exited, status=1/FAILURE)[/b]
Process: 4379 ExecStart=/root.dev/w.o/usr/sbin/dibbler-client start [b](code=exited, status=1/FAILURE)[/b]
Main PID: 4379 (code=exited, status=1/FAILURE)
Aug 22 09:40:34 ubnt dibbler-client[4379]: Starting daemon...
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Main process exited, code=exited, status=1/FAILURE[/b]
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Dibbler - a portable DHCPv6, version 1.0.1 (CLIENT, Linux port)
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Homepage: http://klub.com.pl/dhcpv6/
Aug 22 09:40:34 ubnt dibbler-client[4382]: Process is not running.
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Control process exited, code=exited status=1[/b]
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Unit entered failed state.[/b]
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Failed with result 'exit-code'.[/b]
-
Bonjour Barichon,
Pour le firmware 2.0.6 des EdgeRouter, il y a la solution de KalNightmare : https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/ (https://lafibre.info/remplacer-livebox/ubiquiti-er-ipv6-dhcp6-en-2-x/).
Je l'ai reprise dans un TUTO : https://lafibre.info/remplacer-livebox/tuto-er-6p-v2-0-6-cisco-sg350-28p-nettv-sans-livebox/ (https://lafibre.info/remplacer-livebox/tuto-er-6p-v2-0-6-cisco-sg350-28p-nettv-sans-livebox/)
Il n'y a plus dibbler dans cette configuration.
Hello les gars,
Je viens de mettre à jour le firmware en 2.0.6 et j'ai plus d'ipV6:
root@ubnt:/home/ubnt# service dibbler-client status
* dibbler-client.service - Dibbler
Loaded: loaded (/etc/systemd/system/dibbler-client.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Thu 2019-08-22 09:40:34 CEST; 2min 45s ago
Process: 4382 ExecStop=/root.dev/w.o/usr/sbin/dibbler-client stop [b](code=exited, status=1/FAILURE)[/b]
Process: 4379 ExecStart=/root.dev/w.o/usr/sbin/dibbler-client start [b](code=exited, status=1/FAILURE)[/b]
Main PID: 4379 (code=exited, status=1/FAILURE)
Aug 22 09:40:34 ubnt dibbler-client[4379]: Starting daemon...
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Main process exited, code=exited, status=1/FAILURE[/b]
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Dibbler - a portable DHCPv6, version 1.0.1 (CLIENT, Linux port)
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
Aug 22 09:40:34 ubnt dibbler-client[4382]: | Homepage: http://klub.com.pl/dhcpv6/
Aug 22 09:40:34 ubnt dibbler-client[4382]: Process is not running.
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Control process exited, code=exited status=1[/b]
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Unit entered failed state.[/b]
Aug 22 09:40:34 ubnt systemd[1]: [b]dibbler-client.service: Failed with result 'exit-code'.[/b]
-
Très bien pour l'info.