Auteur Sujet: Comment utiliser deux adresses IPv6 avec Hurricane Electric !  (Lu 4453 fois)

0 Membres et 1 Invité sur ce sujet

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 289
  • Antibes (06) / Mercury (73)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #12 le: 24 décembre 2019 à 07:02:49 »
Je peux quand même faire un "ping -4 192.168.53.1" depuis ma connexion "192.168.52.44".
192.168.53.1 c'est une adresse du Raspberry. Dans ce cas là, c'est pas la table "FORWARD" qui est utilisée mais la table "INPUT"...

La table FORWARD, c'est juste pour les paquets dont ni la source ni la destination ne sont le "routeur" (ici le raspberry pi).



kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #13 le: 24 décembre 2019 à 08:48:32 »
Il est mieux d'activer le 'routed /48' chez Hurricane et d'utiliser deux /64 distincts plutôt  que de couper le 'routed /64' en deux /80.

artemus24

  • Abonné SFR fibre FttH
  • *
  • Messages: 781
  • Montignac Lascaux (24)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #14 le: 24 décembre 2019 à 11:15:40 »
Salut à tous.

Citation de: frederic09
Un moyen (le seul ?) pour isoler les interfaces, c'est un firewall sur le raspberry (iptables?) avec les règles adéquates.
J'aimerai savoir si le firewall (iptables) est la solution qui me convient pour isoler mes interfaces ?
Si je me pose cette question, c'est à cause de la remarque de frederic09 : "(le seul ?)"

Le firewall est t-il la solution à ce que je cherche à faire ?

Je me suis fait déjà un firewall (iptables ipv4 & ipv6) avec des difficultés mais je n'avais qu'une seule interface.
Maintenant, qu'il y en a trois (eth0, wlan0 & wlan1) c'est beaucoup plus compliqué.
Auriez-vous un exemple à me communiquer ?

Citation de: doctorrock
Donc si tu veux tester qu'un firewall bloque bien 2 réseaux entre eux, il faut tester avec tout, sauf de l'ICMP  ;D
Je ne comprends pas pourquoi je ne devrai pas tester avec l'ICMP (ping) ?

Bloquer n'est peut-être pas le mot le plus adéquate de ce que je désire faire.
J'avais pensé à un vlan, mais je ne suis pas sûr que cela soit le cas.
C'est comme si j'avais deux canaux (le terme n'est peut-être pas le bon) indépendant (ou dissocier) l'un de l'autre.

Si le ping permet de voir l'adresse 192.168.53.1 alors que je me trouve en 192.168.52.44, ce n'est pas bon.
Dois-je comprendre que l'ICMP peut aussi être contrôler comme un flux ?

Citation de: zoc
92.168.53.1 c'est une adresse du Raspberry. Dans ce cas là, c'est pas la table "FORWARD" qui est utilisée mais la table "INPUT"...
Dois-je canaliser l'INPUT et l'OUTPUT de la même façon que le FORWARD ?

Interdire tout, puis autoriser seulement  eth0 <--> wlan0 et eth0 <--> wlan1 pour les INPUT, OUTPUT et FORWARD.
Ainsi la partie transversale wlan0 <--> wlan1 ne fonctionnera pas. Est-ce bien cela ?

Citation de: kgersen
Il est mieux d'activer le 'routed /48' chez Hurricane et d'utiliser deux /64 distincts plutôt  que de couper le 'routed /64' en deux /80.
Ce n'est pas un réseau d'entreprise que je fais, mais juste un petit routeur pour mon usage personnel.
Avec 250 addresses Ip, c'est largement suffisant pour ce que je fais.
A moins qu'il y a un autre raison de choisir le 'routed /48' plutôt que le '/routed /64' .

@+

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #15 le: 24 décembre 2019 à 12:57:10 »
Ce n'est pas un réseau d'entreprise que je fais, mais juste un petit routeur pour mon usage personnel.
Avec 250 addresses Ip, c'est largement suffisant pour ce que je fais.
A moins qu'il y a un autre raison de choisir le 'routed /48' plutôt que le '/routed /64' .

@+

Ce n'est pas une question de nombres d'adresses ou entreprise/usage perso.

C'est juste que c'est de la bidouille d'aller au dela de /64 (/80 par exemple). Ca empêche plein de chose de fonctionner correctement notamment le SLAAC et les 'privacy extensions'.

artemus24

  • Abonné SFR fibre FttH
  • *
  • Messages: 781
  • Montignac Lascaux (24)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #16 le: 24 décembre 2019 à 14:11:55 »
Salut

Qu'est-ce qui ne va pas avec ma connexion ?

+------------------------------------+------------------------------------+
|             Propriétés             |               Valeurs              |
+------------------------------------+------------------------------------+
| Suffixe DNS propre à la connexion: | localhost                          |
| Description:                       | Intel(R) WiFi Link 5100 AGN        |
| Adresse physique:                  | 00-21-6B-C8-16-10                  |
| DHCP activé:                       | Oui                                |
| Adresse IPv4:                      | 192.168.52.20                      |
| Masque de sous-réseau IPv4:        | 255.255.255.0                      |
| Bail obtenu:                       |    mardi 24 décembre 2019 13:48:42 |
| Bail expirant:                     | mercredi 25 décembre 2019 13:48:45 |
| Passerelle par défaut IPv4:        | 192.168.52.1                       |
| Serveur DHCP IPv4:                 | 192.168.52.1                       |
| Serveurs DNS IPv4:                 | 192.168.52.1,                      |
|                                    | 8.8.8.8,                           |
|                                    | 8.8.4.4                            |
| Serveur WINS IPv4:                 |                                    |
| NetBIOS sur TCP/IP activé:         | Oui                                |
| Adresse IPv6:                      | 2001:470:1f13:226:520::200         |
| Bail obtenu:                       |    mardi 24 décembre 2019 13:48:45 |
| Bail expirant:                     | mercredi 25 décembre 2019 13:35:36 |
| Adresse IPv6 locale de lien:       | fe80::e4a9:a982:ddaa:6902%12       |
| Passerelle par défaut IPv6:        | fe80::76e1:5c61:7f7a:14e4%12       |
| Serveurs DNS IPv6:                 | 2001:470:1f13:226:520::1,          |
|                                    | 2001:4860:4860::8888,              |
|                                    | 2001:4860:4860::8844               |
+------------------------------------+------------------------------------+


+------------------------------------+------------------------------------+
|              Propriété             |               Valeur               |
+------------------------------------+------------------------------------+
| Suffixe DNS propre à la connexion: | localhost                          |
| Description:                       | Intel(R) WiFi Link 5100 AGN        |
| Adresse physique:                  | 00-21-6B-C8-16-10                  |
| DHCP activé:                       | Oui                                |
| Adresse IPv4:                      | 192.168.52.20                      |
| Masque de sous-réseau IPv4:        | 255.255.255.0                      |
| Bail obtenu:                       | mardi 24 décembre 2019 14:28:33    |
| Bail expirant:                     | mercredi 25 décembre 2019 14:36:39 |
| Passerelle par défaut IPv4:        | 192.168.52.1                       |
| Serveur DHCP IPv4:                 | 192.168.52.1                       |
| Serveurs DNS IPv4:                 | 192.168.52.1,                      |
|                                    | 8.8.8.8,                           |
|                                    | 8.8.4.4                            |
| Serveur WINS IPv4:                 |                                    |
| NetBIOS sur TCP/IP activé:         | Oui                                |
| Adresse IPv6:                      | 2001:470:c974:520::200             |
| Bail obtenu:                       |    mardi 24 décembre 2019 14:28:36 |
| Bail expirant:                     | mercredi 25 décembre 2019 14:28:36 |
| Adresse IPv6 locale de lien:       | fe80::e4a9:a982:ddaa:6902%12       |
| Passerelle par défaut IPv6:        | fe80::76e1:5c61:7f7a:14e4%12       |
| Serveurs DNS IPv6:                 | 2001:470:c974:520::1,              |
|                                    | 2001:4860:4860::8888,              |
|                                    | 2001:4860:4860::8844               |
+------------------------------------+------------------------------------+


J'ai remplacé les adresses 'Routed /64' par 'Routed /48' dans dnsmasq.
Désolé de le dire, mais je ne vois pas trop la différence.

@+
« Modifié: 24 décembre 2019 à 14:50:36 par artemus24 »

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #17 le: 24 décembre 2019 à 17:57:09 »
Désolé de le dire, mais je ne vois pas trop la différence.

Sur le serveur ou sur des configurations statiques il n'y aura pas de différence notables.

L'important c'est sur les postes clients et autres périphériques Wifi.


artemus24

  • Abonné SFR fibre FttH
  • *
  • Messages: 781
  • Montignac Lascaux (24)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #18 le: 26 décembre 2019 à 08:31:20 »
Salut à tous.

J'apprécierai que l'on réponde à mes questions afin que je puisse poursuivre mon projet, surtout celles concernant l'iptables.
Entre autre, me donner un exemple pour isoler mes deux sous-réseaux.

Concernant les deux ssid, je constate quand ma raspberry redémarre, j'ai le comportement suivant :
--> je peux me connecter indifféremment à MyWapOne ou à MyWapTwo, la première fois.
--> si je me déconnecte et que je fais une tentative sur l'autre ssid, la connexion ne se fait pas.
--> si je me reconnecte à mon premier ssid, cela fonctionne.

Il semble que ma première connexion à l'un des ssid m'empêche de pouvoir utiliser l'autre depuis le même ordinateur.
Je peux me tromper, mais tout ce passe comme si ma connexion était persistante.
Comment puis-je résoudre ce problème ?

@+

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #19 le: 26 décembre 2019 à 19:37:06 »
Une alternative a iptables c'est d'utiliser du 'policy routing' pour faire du 'source routing' spécifique. Par exemple faire une 'policy' qui établi une table de routage spécifique pour l'interface wlan1.

pre-requis: le kernel doit supporté CONFIG_IP_ADVANCED_ROUTER  et CONFIG_IP_MULTIPLE_TABLES

zcat /proc/config.gz | grep "CONFIG_IP_MULTIPLE_TABLES\|CONFIG_IP_ADVANCED_ROUTER"doit afficher:
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y

si ok:

# ajout de la table 'guestrouting' d'index 100 dans la liste des noms des tables de routages
echo -e "100\guestrouting"   >> /etc/iproute2/rt_tables

# faire en sorte que tout ce qui vient de l'interface wlan1 utilise la table de routage guestrouting
ip rule add iif wlan1 table guestrouting # ou "from 192.168.53.0/24"
# dropper les paquets vers 192.168.52.0/24
ip route add blackhole to 192.168.52.0/24 table guestrouting
# ajouter la route par défaut
ip route add default ...
idem pour IPv6.

une lecture de 'man ip-rule' est recommandé.

Par contre dans ton fichier "/etc/iptables.sh", la ligne:
$iptv6 -t nat -A POSTROUTING -o eth0    -j MASQUERADE
euh non ! on ne fait pas de NAT/masquerade en IPv6 !


artemus24

  • Abonné SFR fibre FttH
  • *
  • Messages: 781
  • Montignac Lascaux (24)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #20 le: 28 décembre 2019 à 04:13:03 »
Salut kgersen.

Je préfère des règles issues de l'iptables et l'ip6tables.
J'ai trouvé ceci :
$iptv4  -P INPUT DROP
$iptv4  -A INPUT wlan0  -d 192.168.52.0/24 -j ACCEPT
$iptv4  -A INPUT wlan1  -d 192.168.53.0/24 -j ACCEPT

$iptv6 -P INPUT DROP
$iptv6  -A INPUT wlan0  -d 2001:470:c974:520::/64  -j ACCEPT
$iptv6  -A INPUT wlan1  -d 2001:470:c974:530::/64  -j ACCEPT
Pour l'IPv4, ça fonctionne.
Mais pour l'IPv6, je n'ai plus d'ipv6.

Inversement, si je fais :
$iptv6 -P INPUT ACCEPT
$iptv6  -A INPUT wlan0  -d 2001:470:c974:530::/64  -j DROP
$iptv6  -A INPUT wlan1  -d 2001:470:c974:520::/64  -j DROP
ça fonctionne. Le seul problème est que j'aurai aimé plutôt mon premier exemple, c'est-à-dire "tout interdit sauf".
Qu'est-ce qui fait que l'IPv6 ne fonctionne plus ?

J'ai modifié mon fichier iptables.sh afin de supprimer la règle NAT sur l'IPv6.

@+

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #21 le: 28 décembre 2019 à 12:55:49 »
tu fais comment les tests de 'marche/marche pas' ? iptables c'est compliqué et faut pas improviser a copier/coller des regles qu'on trouve sur le Net sans comprendre comment ca fonctionne ...

iptables fonctionne avec 5 chaines de traitement situées a différents endroits de la pile réseau:



la chaine INPUT ne concerne donc que les paquets qui vont entrer dans le systeme du routeur (le cpu du routeur). Un paquet qui entre depuis le port ethernet et est routé sur une autre port (wlan0 par exemple) ne va pas traverser la chaine INPUT  mais la chaine FORWARD.

Donc ce qui marche/marche pas depuis le routeur lui-meme ne teste en rien ce qui marche/marche pas quand on traverse le routeur.

iptables utilise 4 tables de regles avec les 5 chaines:

- une table "filter" utilisable sur 3 chaines seulement: INPUT,OUTPUT et FORWARD. 'filter' sert a filtrer les paquets. On peut les rejeter (DROP) sans rien dire, les bloquer (BLOCK) en signalant a l'émetteur un refus ou les laisser passer (ACCEPT).
- une table "nat" utilisable sur 3 chaines seulement : PREROUTING , OUTPUT et  POSTROUTING
- les tables "raw" et "mangle" qui ne nous concernent pas pour ce sujet donc on ne va pas en parler ;)



Donc une rêgle doit être dans une table et concerné une chaine.

Si tu veux une regle qui 'filtre' a la fois INPUT et FORWARD pour que le fonctionnement soit similaire entre le routeur lui-meme et un réseau entier sur une interface il faut dupliquer la regle. (on peut aussi faire une nouvelle chaine personalisée et l'utiliser dans INPUT et FORWARD. ce qui evite de devoir dupliquer les modifs quand on veut changer quelque chose mais ca complexifie un peu les choses...).

A 2 endroits (en vert sur le schéma), un  suivi des connections (conntrack) est fait ce qui permet d'avoir un 'état' (state) et c'est ce qui est primordiale pour faire un statefull firewall (a savoir laissé entrer les flux qui correspondent au paquets de retour d'un flux autorisé).

Je te conseille donc de lire plus de doc sur iptables, par exemple : https://www.booleanworld.com/depth-guide-iptables-linux-firewall/ (y'a surement des guides en francais aussi) avant d'aller plus loin.


artemus24

  • Abonné SFR fibre FttH
  • *
  • Messages: 781
  • Montignac Lascaux (24)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #22 le: 28 décembre 2019 à 17:10:18 »
Salut kgersen.

Citation de: kgersen
tu fais comment les tests de 'marche/marche pas' ?
Je teste depuis mon ordinateur windows qui est connecté au travers de mon routeur/raspberry.

1) je teste l'accès en ipv4 et en ipv6 (ping) sur un site, google par exemple.

2) je teste les accès au dns (nslookup). J'ai trois niveaux : la raspberry, ma box et internet.

3) j'ai le nom "RaspberryPi" que je teste pour accèder en ssh à la raspberry.
Il contient 192.168.52.1, 192.168.53.1, 2001:470:c974:520::1, 2001:470:c974:530::1.
Si je suis en ssid:MyWapOne, je ne dois pas pouvoir accéder à 192.168.53.1 et 2001:470:c974:530::1.
Si je suis en ssid:MyWapTwo, je ne dois pas pouvoir accéder à 192.168.52.1 et 2001:470:c974:520::1.

4) je teste "https://ipv6-test.com/" afin d'avoir 20/20 pour l'accès ipv6.
Dans "IPv6 connectivity", ICMP est FILTERED, ce qui n'est pas bon.
Le problème ne vient pas de Windows car quand j'avais l'IPv6 dans ma box/sfr, j'avais 20/20.

5) les accès au web en http/https. A cause du FORWARD, je n'ai pas de problème.

En dehors de ce routeur/raspberry, j'avais déjà créé un "firewall" juste pour augmenter la sécurité quand je travaille dans ma raspberry.
Comment je m'y suis pris ?
J'ai interdit tous les accès :
$iptv4 -P   INPUT DROP
$iptv4 -P  OUTPUT DROP
$iptv4 -P FORWARD DROP

$iptv6 -P   INPUT DROP
$iptv6 -P  OUTPUT DROP
$iptv6 -P FORWARD DROP
Et dans ce service firewall, j'ai placé ces règles-ci :
# --- #
# LOG #
# --- #

$IPTv4 -A   INPUT -j LOG --LOG-PREFIX 'IN4: '
$IPTv4 -A  OUTPUT -j LOG --LOG-PREFIX 'OUT4: '
$IPTv4 -A FORWARD -j LOG --LOG-PREFIX 'FOR4: '

$IPTv6 -A   INPUT -j LOG --LOG-PREFIX 'IN6: '
$IPTv6 -A  OUTPUT -j LOG --LOG-PREFIX 'OUT6: '
$IPTv6 -A FORWARD -j LOG --LOG-PREFIX 'FOR6: '
Cela me permettait d'identifier le flux qui était bloqué et de l'ajouter dans le service.
Je ne sais pas si c'était la bonne méthode mais cela fonctionnait au moins pour ce qui était simple.
HTTP/https (port 80, 443, 8080), SSH (port 22), outlook (ports 25,143,465,587,993), DNS (port 53) ...
Je n'avais pas de difficulté à comprendre INPUT (ce qui vient de eth0), OUTPUT (ce qui retourne vers eth0) et FORWARD (ou routage pour les règles NAT).
Pour l'essentiel, je l'avais fait que pour l'IPv4. A l'époque, j'avais l'ipv6 de SFR mais je n'arrivais pas à formuler correctement les règles.
Puis j'ai laissé tombé car mon firewall ralentissait énormement ma raspberry.

Bien sûr, je n'ai pas recopié bêtement les règles que je trouvais sur le net.
Je m'en servais pour comprendre comment créer mes règles. J'ai aussi compris que l'ordre des règles à de l'importance.

Dans mon routeur/raspberry, je n'arrive pas à comprendre qui est qui, avec trois interface eth0, wla0 et wlan1 et avec l'IPv4 et l'IPv6 (6in4).
En fait, j'ai d'autre interfaces, comme lo, he-ipv6, et sit0.
Je n'utilise pas pour l'instant de service, car j'ai ajouté le script "iptables.sh" à la fin de "/etc/rc.local".

Dans ton exemple (le schema coloré), j'ai d'un coté "Network interface" et de l'autre "local process".
Si j'ai une seule interface et ipv4, disons eth0, je n'ai pas de problème. Mais si j'ai plusieurs interfaces avec en plus l'Ipv6, là je suis complètement perdu.

Comment autoriser l'Ipv6, si je mets "$iptv6 -P INPUT DROP" ?
D'une part, il est encapsulé dans l'IPv4 et d'autre part, ne récupérer que ce que est pour les branches "2001:470:c974:520::" et "2001:470:c974:530::".

@+

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
Comment utiliser deux adresses IPv6 avec Hurricane Electric !
« Réponse #23 le: 28 décembre 2019 à 17:39:06 »
Il a l'air de te manquer l'aspect statefull. Tu bloque tout par défaut ce qui n'est pas forcement bon. Le sens a l'importance pour un firewall/routeur.

pour iptables, ipv4 ou ipv6 c'est quasi pareil sans le NAT en plus.

Dans ton exemple (le schema coloré), j'ai d'un coté "Network interface" et de l'autre "local process".
Si j'ai une seule interface et ipv4, disons eth0, je n'ai pas de problème. Mais si j'ai plusieurs interfaces avec en plus l'Ipv6, là je suis complètement perdu.

le schéma est fléché, la boite 'noire' a droite 'network interface' ne représente pas qu'une seule interface mais peut-etre plusieurs suivant la destination de sortie.

Exemple: un flux venant d'Internet va entrer dans eth0 traverser pre-routing, forward, postrouting puis sortir sur wlan0.

Un statefull firewall va par défaut:
- autoriser tout les flux sortants (sauf si tu veux vraiment bloquer des trucs en sortie mais c'est pas reco)
- ne rien autoriser en entrer sauf si ca correspond au retour d'un flux sortant

Le premier point est d'identifier les noms des interfaces: eth0,wlan0,wlan1,he-ipv6 et leur roles en terme de sécurité/sens du traffic (WAN ou LAN)

typiquement en IPv6, pour firewaller entre $LAN et $WAN:


ip6tables -P FORWARD DROP # 0. on drop par défaut
ip6tables -A FORWARD -i $LAN -o $WAN -j ACCEPT # 1. on accept les flux sortants donc venant de LAN vers WAN
ip6tables -A FORWARD -i $WAN -o $LAN -p icmpv6 -j ACCEPT # 2. on accept les icmp6 entrants
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # 3. on accept les flux de retour


La regle difficile a comprendre est la 3 : cela utilise le 'conntrack' voir "man iptables-extensions" pour les détails.

Ceci ne concerne que le FORWARD (trafic d'une interface a l'autre) il faut aussi protéger le routeur lui-meme en mettant les meme genre de regles mais avec INPUT.

En IPv4 vient se rajouter le NAT ce qui complique les choses.

Dans ton cas, ton interface WAN est eth0 pour l'IPv4 et he-ipv6 pour l'IPv6 et tu as 2 interfaces LAN différentes (wlan0 et wlan1) donc 2 groupes de regles à faire puis un autre groupe si tu veux controller le traffic entre wlan0 et wlan1.

Ensuite il faut ouvrir les ports qu'on souhaite acceder de l'exterieur sans conntrack , par exemple ssh ou un serveur web.