Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/02/2014, à 12:01

menkajunan

Connectivité ipv6 (Network unreachable)

Bonjour à tous.

Avant de rentrer dans le vif du sujet, voici ma topologie réseau. Il s'agit d'un réseau local qui se connecte à Internet via le routeur FREEBOITE. Le réseau local est isolé derrière le pare feu UBUNTU configuré via ufw. Il y deux routeurs wifi, FREEBOITE et WIFIMAX, les appareils portables (WIN8 et ANDROID) peuvent se connecter à l'un ou à l'autre librement.

image.png

Le problème : j'ai besoin d'accéder à certains services qui ne soit joignable qu'à travers ipv6. Or, toutes les connexions ipv6 qui se font en amont du firewall UBUNTU échouent et même UBUNTU ne peut se connecter à ces services. Par contre, ANDROID (ou tout autre appareil branché entre UBUNTU et FREEBOITE) s'y connecte sans problèmes. Les tests tset-ipv6.com confirment que les connexions sont bloquées à partir de la machine UBUNTU et que les connexions depuis des machines connectées à FREEBOITE passent sans problème. Ce qui suit sont les résultats de différents outils de diagnostic lancés depuis UBUNTU.


Un ping6 vers ipv6.google.com donne :

sudo ping6 ipv6.google.com
connect: Network is unreachable

Et si je ping6 mon interface internet, j'obtiens :

user@UBUNTU:~# ping6 -I eth1 fe80::250:bfff:fed7:5a8b/64
unknown host

test-ipv6.com me donne :

Test with IPv4 DNS record			>> ok (0.211s) using ipv4
Test with IPv6 DNS record	 		>> bad (0.183s)
Test with Dual Stack DNS record 		>> ok (0.232s) using ipv4
Test for Dual Stack DNS and large packet 	>> ok (0.387s) using ipv4
Test IPv4 without DNS 				>> ok (0.212s) using ipv4
Test IPv6 without DNS 				>> bad (0.008s)
Test IPv6 large packet	 			>> bad (0.112s)
Test if your ISP's DNS server uses IPv6	 	>> ok (0.448s) using ipv4
Find IPv4 Service Provider 			>> ok (0.227s) using ipv4 ASN 12322
Find IPv6 Service Provider 			>> bad (0.228s)

Mon /etc/network/interfaces est tel quel :


auto lo eth1 eth0

# The loopback network interface
iface lo inet loopback
iface lo inet6 loopback


iface eth0 inet6 auto
iface eth0 inet static
    allow hotplug eth0
    address 192.168.2.254
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.255
    dns-nameservers *.*.*.*

iface eth1 inet6 auto
iface eth1 inet dhcp


ifconfig me donne (eth0 -> local, eth1 -> internet)

eth0      Link encap:Ethernet  HWaddr **:**:**:88:60:f2  
          inet addr:192.168.2.254  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:f1ff:fe88:60f2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:* errors:0 dropped:0 overruns:0 frame:0
          TX packets:* errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:*  TX bytes:*

eth1      Link encap:Ethernet  HWaddr **:**:**:d7:5a:8b  
          inet addr:192.168.1.4  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::250:bfff:fed7:5a8b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:* errors:0 dropped:0 overruns:0 frame:0
          TX packets:* errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:* TX bytes:*

lo       …

Avec route-6, j'obtiens :

Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
fe80::/64                      ::                         U    256 0     0 eth1
fe80::/64                      ::                         U    256 0     0 eth0
fe80::/64                      ::                         U    256 0     0 wlan0
::/0                           ::                         !n   -1  1    29 lo
::1/128                        ::                         Un   0   1    10 lo
fe80::/128                     ::                         Un   0   1     0 lo
fe80::/128                     ::                         Un   0   1     0 lo
fe80::/128                     ::                         Un   0   1     0 lo
fe80::20c:f1ff:fe88:60f2/128   ::                         Un   0   1     0 lo
fe80::20e:8eff:fe10:f3cf/128   ::                         Un   0   1     0 lo
fe80::250:bfff:fed7:5a8b/128   ::                         Un   0   1     0 lo
ff00::/8                       ::                         U    256 0     0 eth1
ff00::/8                       ::                         U    256 0     0 eth0
ff00::/8                       ::                         U    256 0     0 wlan0
::/0                           ::                         !n   -1  1    29 lo

ip -6 route me donne ça :

fe80::/64 dev eth1  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev wlan0  proto kernel  metric 256 

ufw est configuré pour accepter l'ipv6.

Il semble qu'il me faille spécifier une route vers FREEBOITE, mais je n'ai aucune idée sur la manière dont je peux procéder pour en récupérer l'adresse, étant donné que je suis loin d'être un expert en réseau et qu'ipv6 est abolument nouveau et confusant pour moi.

J'ai épluché chacune des réponses que google m'a proposé (y compris bien évidemment sur ce forum), sans succès jusqu'à présent. Des idées ou des conseils à me donner pour avancer dans la résolution de ce problème ?

Dernière modification par menkajunan (Le 01/02/2014, à 12:27)

Hors ligne

#2 Le 01/02/2014, à 19:54

menkajunan

Re : Connectivité ipv6 (Network unreachable)

Petit complément d'information. Mon adresse ipv6 communiquée par Free n'est pas la même adresse que celle que me donne ipv6-test. tcpdump m'apprend que :

sudo tcpdump -nn -S -i eth1 ip6

18:52:04.965952 IP6 fe80::207:cbff:fe30:f38f > ff02::1: ICMP6, router advertisement, length 104

Si je prends l'adresse diffusée dans les paquets capturés, et que je lance la commande suivante…

sudo route -A inet6 add default gw  fe80::207:cbff:fe30:f38f dev eth1

… alors le ping6 vers l'adresse ipv6 que me donne FREE provoque la réponse host unreachable, tandis que le ping6 vers l'adresse que trouve ipv6-test.com me retourne un pong. Un ping vers ipv6.google.com provoque également un host unreachable.


Honnêtement, je ne sais plus quoi faire.

Dernière modification par menkajunan (Le 01/02/2014, à 19:55)

Hors ligne

#3 Le 01/02/2014, à 22:50

Haleth

Re : Connectivité ipv6 (Network unreachable)

Au feeling :
Tu es un adepte du "je drop tout les paquets pour me 'protéger'", ton soft drop les paquets v6, ce qui empêche toute connectivité.


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#4 Le 02/02/2014, à 11:44

menkajunan

Re : Connectivité ipv6 (Network unreachable)

Merci Haleth.

C'est également l'option que j'ai exploré en premier en faisant « disable ufw && reboot now », le problème reste le même : « ping6 ipv6.google.com » depuis la machine UBUNTU me retourne l'erreur « Network unreachable ».

Ce qui me fait dire que le problème ne vient pas des règles iptables créées par ufw.

Dernière modification par menkajunan (Le 02/02/2014, à 11:54)

Hors ligne

#5 Le 02/02/2014, à 14:13

menkajunan

Re : Connectivité ipv6 (Network unreachable)

J'ai trouvé ce sujet sur le forum international qui parle d'un utilisateur ayant le même problème. La source de la perte de connexion se trouverait dans le fichier /etc/sysctl.conf (ou dans mon cas du fichier /etc/ufw/sysctl.conf) à cet endroit :

# Uncomment the next line to enable packet forwarding for IPv6
#  Enabling this option disables Stateless Address Autoconfiguration
#  based on Router Advertisements for this host
net.ipv6.conf.all.forwarding=1

Commenter la dernière ligne rétablit la connectivité ipv6 au prix de la perte du routage ipv6. De ce que j'en comprends, il est nécessaire maintenant de configurer manuellement les interfaces de la machine UBUNTU, correct ?

Hors ligne

#6 Le 02/02/2014, à 14:53

Haleth

Re : Connectivité ipv6 (Network unreachable)

Si je comprends bien, cette ligne permet de router l'IPv6, mais désactive la configuration automatique (stateless).
Donc, tu dois définir manuellement une adresse v6 sur ton interface (n'est-ce pas déjà le cas ?)

Si tu pêches encore, donne les infos issues des commandes suivantss :

ip6tables -L -n -v
ip -6 r
ip -6 a

Dernière modification par Haleth (Le 02/02/2014, à 14:53)


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#7 Le 02/02/2014, à 16:54

menkajunan

Re : Connectivité ipv6 (Network unreachable)

Oui, j'ai essayé également de déclarer une adresse ipv6 statique dans /etc/network/interfaces, mais sans succès sur le problème. J'ai déclaré également un gateway (toujours dans /etc/network/interfaces), avec l'adresse de la FREEBOITE récupérée lors des routeurs advertisement capturé par tcpdump, soit avec l'adresse communiquée par Free mais sans succès.


Le résultat de ip -6 r avec l'ip_forwarding désactivé…

2a01:*:*:*::/64 dev eth1  proto kernel  metric 256  expires 86177sec
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev eth1  proto kernel  metric 256 
default via fe80::207:cbff:fe30:f38f dev eth1  proto ra  metric 1024  expires 1577sec

… et le résultat de ip -6 a (toujours avec le forward désactivé

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 2a01:*:*:*:7d25:20c:c148:859b/64 scope global temporary dynamic 
       valid_lft 85971sec preferred_lft 85371sec
    inet6 2a01:*:*:*:250:bfff:fed7:5a8b/64 scope global dynamic 
       valid_lft 85971sec preferred_lft 85971sec
    inet6 fe80::250:bfff:fed7:5a8b/64 scope link 
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::20c:f1ff:fe88:60f2/64 scope link 
       valid_lft forever preferred_lft forever

Si j'active le forward, voilà ce que j'obtiens avec  ip -6 r

fe80::/64 dev eth1  proto kernel  metric 256…
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev wlan0  proto kernel  metric 256 

… ainsi qu'avec  ip -6 a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::250:bfff:fed7:5a8b/64 scope link 
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::20c:f1ff:fe88:60f2/64 scope link 
       valid_lft forever preferred_lft forever
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::20e:8eff:fe10:f3cf/64 scope link 
       valid_lft forever preferred_lft forever

Ça te parle ?

Dernière modification par menkajunan (Le 02/02/2014, à 17:16)

Hors ligne

#8 Le 02/02/2014, à 16:56

Haleth

Re : Connectivité ipv6 (Network unreachable)

Ouais

Donc j'avais bien compris, l'IPv6 forward désactive la configuration stateless

Il te faut donc configurer une IPv6 manuellement (tu peux prendre la configuration que tu obtient lorsque l'IPv6 forward est désactivé)


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#9 Le 02/02/2014, à 17:31

menkajunan

Re : Connectivité ipv6 (Network unreachable)

Effectivement, en déclarant dans /etc/network/interfaces comme gateway mon préfixe au lieu d'une adresse unicast, je peux pinger ipv6.google.com.

Par contre, les machines derrière le FW n'ont toujours pas accès aux adresses en ipv6. L'installation de radvd ne semble pas avoir résolu le problème. Je vais attendre un peu avant de confirmer ce dernier point cependant.

Hors ligne

#10 Le 03/02/2014, à 20:42

menkajunan

Re : Connectivité ipv6 (Network unreachable)

Donc, après vérification, radvd fournit bien des adresses ipv6 sur le réseau local mais, depuis celui-ci, aucun accès via ipv6 vers l'extérieur. Certainement une question de route à ajouter sur la patte locale de UBUNTU.

En attendant que je comprenne comment faire, je t'adresse mes remerciements, Haleth pour l'aide que tu m'as apporté smile

Dernière modification par menkajunan (Le 03/02/2014, à 20:43)

Hors ligne