1 votes

Routeur linux à double pile, ne peut pas transférer le préfixe IPv6

J'ai un petit bureau ici avec quelques stations de travail et je voudrais mettre en œuvre un petit serveur pour des choses comme un serveur proxy, samba, etc. Voici la topologie de ce réseau :

+-----+   dynamic    +--------+        +-------------------+                 +--+workstation1
|     |  /56 prefix  |        |        |   Debian server   |        +--------+
| ISP +--------------+ Router +-+eth0+-+                   +-+eth1+-+ switch +--+workstation2
|     |   dynamic    |        |        | (squid,dhcp,etc.) |        +--------+
+-----+ IPv4 address +--------+        +-------------------+                 +--+workstationX

Je voudrais que le serveur attribue des adresses IPv6 globales (et peut-être aussi locales) et des adresses IPv4 privées à tous les périphériques connectés à eth1 via le commutateur. J'ai réussi à faire fonctionner le masquage NAT avec dnsmasq et iptables mais je n'arrive pas à faire fonctionner le trafic IPv6 ni même à distribuer des adresses IPv6. Le routeur a trois paramètres différents dans l'onglet du serveur DHCP IPv6 :

  • assigner uniquement le serveur DNS
  • attribuer le serveur DNS et le préfixe IPv6 aux routeurs en aval ( ce qui, je suppose, devrait être activé )
  • assigner le serveur DNS, le préfixe IPv6 aux routeurs en aval et l'adresse IPv6

J'ai essayé de suivre ce guide. Il décrit comment mettre en place un serveur DHCPv6 avec dnsmasq. J'ai une interface eth0 qui fonctionne et qui reçoit une adresse globale, une adresse locale unique et une adresse locale de liaison. Mais mon interface eth1 ne reçoit jamais d'adresse IPv6 globale, seulement une adresse locale de liaison. Les périphériques derrière le serveur ont tous une adresse IPv4 fonctionnelle mais je ne peux pas définir l'IP sur une adresse statique car le préfixe est dynamique et change chaque nuit. Actuellement, je suis bloqué à ce point.

Ici sont mes fichiers de configuration.

Merci pour votre aide.

0voto

BillThor Points 27096

Vous devrez attribuer une adresse IPv6 à eth1 car il ne pourra pas s'autoconfigurer. Choisissez un /64 de votre /56 bien que vous puissiez utiliser votre /56 . J'ai utilisé le préfixe 2001:0db8:a1b2:c2d3::/64 dans l'exemple ci-dessous.

# This is an IPv6 interface
iface eth1 inet6 static
    address  2001:0db8:a1b2:c2d3::1
    netmask  64

0voto

Leo Points 11

J'ai trouvé le chemin. Mon interface eth0 a obtenu son IP à cause de l'activation de net.ipv6.conf.eth0.accept_ra=2 dans /etc/sysctl.conf . Le wide-dhcpv6-client a essayé de définir l'adresse eth0 à nouveau, mais elle a déjà été définie par l'annonce du routeur. Donc si vous voulez que wide-dhcpv6-client définisse l'adresse IP uniquement sur l'interface interne ( eth1 dans mon cas), vous devez omettre la balise

id-assoc na 1 {
    # id-assoc for eth1
};

à partir du tutoriel affiché. Sinon, dhcp6c s'arrêtera après avoir vu que l'adresse est déjà utilisée.

Voici à quoi ressemble mon dhcp6c.conf maintenant

interface eth0 {
        send ia-pd 1;
        request domain-name;
        request domain-name-servers;
        script "/etc/wide-dhcpv6/dhcp6c-script";
};

id-assoc pd 1 {
        prefix ::/64 infinity;
        prefix-interface eth1 {
                sla-len 0;
                sla-id 1;
                ifid 1;
        };
};

Maintenant, tout fonctionne comme un charme. J'espère que ces informations aideront toute personne confrontée à un problème similaire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X