Bonjour Simon,

Le 18/09/2013 10:24, Simon Perreault a écrit :
Le 2013-09-17 20:50, Christophe a écrit :
fe80::9e4e:20ff:fe3a:858e > ff02::1:ffef:2510: icmp6: neighbor sol: who
has 2a01:abcd:aaaa:bbbb:dcad:beff:feef:2510 [class 0xe0]

Et la , le routeur n'est pas en mesure de répondre , vu qu'il n'a pas
cette adresse IPv6 lui même.

Exact.

Et bien que la suggestion de faire du proxy ARP/ND puisse résoudre ton
problème dans l'immédiat, on ne devrait pas avoir besoin de proxy ARP/ND
dans l'immense majorité des cas.

Je trouve que ça ressemble plutôt à un mauvais numérotage de tes liens
WAN/LAN. Peux-tu nous expliquer un peu comment c'est numéroté?
C'est-à-dire le /64 sur le WAN, le préfixe IPv6 qui t'es délégué pour le
LAN (devrait être </64 normalement), et les préfixes que tu as choisis
pour le NPTv6.

Simon




Je vais essayer de faire simple ;) .


vlan200 = wan1 => prefixe 2001:db8:feaf:1::/64 (issu d'un /48 public)
vlan201 = wan2 => prefixe 2001:db8:fe8f:1000::/64 (issu d'un deuxième /48 public)


vlan10 = lan => préfixe 2001:db8:feaf:1000::/64 (issu du préfixe /48 de wan1)

Donc adressage publique sur le LAN.

Route par défaut par une gateway sur le vlan200 .
Comportement par défaut dans ces conditions = pas de NAT.

But étant par exemple : de router tout ce qui est Web (80 et 443) sur le wan2 , et de laisser le reste sur wan1.

Ce qui est en place à l'heure actuelle (fonctionnel mais un peu crade, et c'est pour cette raison que je cherche le moyen de faire mieux) :

v6_lan_net="2001:db8:feaf:1000::/64"
v6_wan2_net="2001:db8:fe8f:1000::/64"

v6_wan2_nathttpout="2001:db8:fe8f:1000::80"
# L'adresse précédente est aliasée sur l'interface vlan201

v6_host_gwnet2="fe80::9e4e:20ff:fe3a:858e"
# gateway sur le vlan201 (celle qui figure dans la trace tcpdump du dernier mail)

table <localnets_v6> { # ici , tout une liste de réseaux accessibles , soit directement par le routeur, soit par un vpn }

Et au final, cela tient dans les deux lignes suivantes :

pass in quick on $int_if inet6 proto tcp from $v6_lan_net to ! <localnets_v6> port { 80,443 } route-to ($ext2_if $v6_host_gwnet2) tag webnav keep state

pass out on $ext2_if inet6 from $v6_lan_net to any nat-to $v6_host_nathttpout tagged webnav keep state

Tout sort donc par une seule et même IPv6.


Le but serait donc de remplacer cela par :

(la même première ligne)
et
match on $ext2_if from $v6_lan_net binat-to $v6_wan2_net bitmask


Ce qui en partie fonctionne, car les paquets arrivant du lan 2001:db8:feaf:1000:+host et sortant sur l'interface vlan201, sont bien translatés en 2001:db8:fe8f:1000:+host.

C'est au retour que ca coince ;) . La gateway à l'autre bout ($v6_host_gwnet2) tente savoir à qui appartient le packet translaté, et la , c'est le drame ;) .


Si il y a une solution sans ND proxy, je suis effectivement preneur.

Merci pour vos conseils ;).

@+
Christophe.


---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à