Modification commandes pour route par défaut

This commit is contained in:
jdubois 2021-06-23 17:50:35 +02:00
parent 9abc2f4439
commit f9645a2c92

View file

@ -1,260 +1,260 @@
# IPv6 # IPv6
Globalement, cela fonctionne comme IPv4. Quelques différences : Globalement, cela fonctionne comme IPv4. Quelques différences :
* ndp (l'équivalent d'arp) utilise du multicast (vs du broadcast) pour * ndp (l'équivalent d'arp) utilise du multicast (vs du broadcast) pour
la résolution des adresses mac/IPv6 la résolution des adresses mac/IPv6
* Les IP à utiliser dans la documentation sont 2001:DB8::/32 * Les IP à utiliser dans la documentation sont 2001:DB8::/32
* Il y a 2^128 IP. Pour calculer le nombre d'IP dans un bloc * Il y a 2^128 IP. Pour calculer le nombre d'IP dans un bloc
2^(128-taille-du-préfixe) 2^(128-taille-du-préfixe)
* Il n'y a pas d'adresse de réseau ni de broadcast * Il n'y a pas d'adresse de réseau ni de broadcast
Les tailles de bloc de bloc généralement : Les tailles de bloc de bloc généralement :
* /32 : ce qui est alloué par le [RIR](https://fr.wikipedia.org/wiki/Registre_Internet_r%C3%A9gional) * /32 : ce qui est alloué par le [RIR](https://fr.wikipedia.org/wiki/Registre_Internet_r%C3%A9gional)
* /48 : ce qui est parfois délégué aux 'end users' * /48 : ce qui est parfois délégué aux 'end users'
* /56 : ce qui est parfois délégué aux 'end users' * /56 : ce qui est parfois délégué aux 'end users'
* /64 : taille minimale du bloc pour avoir de l'autoconfiguration * /64 : taille minimale du bloc pour avoir de l'autoconfiguration
XXX: parler des link local etc XXX: parler des link local etc
## ROUTEUR : Autoconfiguration ou DHCPv6 sous OpenBSD ## ROUTEUR : Autoconfiguration ou DHCPv6 sous OpenBSD
### Mettre en place rtadvd ### Mettre en place rtadvd
Rtadvd permet d'annoncer que le routeur gère et donc route de Rtadvd permet d'annoncer que le routeur gère et donc route de
l'IPv6. Ainsi les clients peuvent _s'auto-configurer_ en utilisant une l'IPv6. Ainsi les clients peuvent _s'auto-configurer_ en utilisant une
adresse IPv6 composée avec le préfixe de l'adresse IPv6 du routeur adresse IPv6 composée avec le préfixe de l'adresse IPv6 du routeur
(qui est en fait l'adresse du réseau), et de l'adresse MAC de la (qui est en fait l'adresse du réseau), et de l'adresse MAC de la
machine. machine.
Exemple : Exemple :
* Le préfixe est 2001:db8:33d8:4::/64 ; * Le préfixe est 2001:db8:33d8:4::/64 ;
* L'adresse MAC d'une machine est 00:1e:c9:47:3e:44 ; * L'adresse MAC d'une machine est 00:1e:c9:47:3e:44 ;
* Son adresse IPv6 devient 2001:db8:33d8:4:21e:c9ff:fe47:3e44/64. * Son adresse IPv6 devient 2001:db8:33d8:4:21e:c9ff:fe47:3e44/64.
### Configuration de rtadvd ### Configuration de rtadvd
Il faut indiquer sur quelle interface faire l'annonce, suivi du Il faut indiquer sur quelle interface faire l'annonce, suivi du
préfixe, et de la longueur de celui-ci. Enfin `raflags#64` indique que préfixe, et de la longueur de celui-ci. Enfin `raflags#64` indique que
les clients choisissent leurs adresses IPv6 (auto-configuration) et les clients choisissent leurs adresses IPv6 (auto-configuration) et
peuvent récupérer d'autres informations, tel que le serveur DNS, via peuvent récupérer d'autres informations, tel que le serveur DNS, via
DHCPv6. Pour le _MTU_, voir la partie [#IPv6etPPPoE IPv6 et PPPoE] DHCPv6. Pour le _MTU_, voir la partie [#IPv6etPPPoE IPv6 et PPPoE]
sis0:\ sis0:\
:addr="2001:db8:33d8:4::":prefixlen#64:raflags#64:\ :addr="2001:db8:33d8:4::":prefixlen#64:raflags#64:\
:mtu#1492 :mtu#1492
### WIDE-DHCPv6 ### WIDE-DHCPv6
Description du protocole DHCPv6 à faire... Description du protocole DHCPv6 à faire...
_WIDE-DHCPv6_ est un serveur DHCPv6 développé par [KAME](http://www.kame.net/). _WIDE-DHCPv6_ est un serveur DHCPv6 développé par [KAME](http://www.kame.net/).
Pour l'installer utiliser _pkg_add_. Pour l'installer utiliser _pkg_add_.
Pour diffuser un serveur DNS en IPv6, modifier le fichier Pour diffuser un serveur DNS en IPv6, modifier le fichier
/etc/dhcp6s.conf en indiquant l'adresse IPv6 du serveur DNS : /etc/dhcp6s.conf en indiquant l'adresse IPv6 du serveur DNS :
option domain-name-servers 2001:7a8:33d8:14:11:11ff:fecc:cf54; option domain-name-servers 2001:7a8:33d8:14:11:11ff:fecc:cf54;
## Client wide-dhcpv6-client ## Client wide-dhcpv6-client
C'est un client qui permet d'interroger un serveur DHPCv6, pour C'est un client qui permet d'interroger un serveur DHPCv6, pour
l'installer sous Debian : l'installer sous Debian :
# apt install wide-dhcpv6-client # apt install wide-dhcpv6-client
Ensuite il faut configurer lors de l'installation ou dans le fichier Ensuite il faut configurer lors de l'installation ou dans le fichier
`/etc/default/wide-dhcpv6-client` l'interface sur laquelle écouter. `/etc/default/wide-dhcpv6-client` l'interface sur laquelle écouter.
## IPv6 et PPPoE ## IPv6 et PPPoE
Lorsqu'on utilise PPPoE il est nécessaire de diffuser un _MTU_ de 1492 Lorsqu'on utilise PPPoE il est nécessaire de diffuser un _MTU_ de 1492
dans la configuration de rtadvd, sinon les paquets ne traverseront par dans la configuration de rtadvd, sinon les paquets ne traverseront par
le lien en PPPoE. le lien en PPPoE.
Voici un exemple de trame diffusé lorsque le routeur annonce qu'il gère l'IPv6. Voici un exemple de trame diffusé lorsque le routeur annonce qu'il gère l'IPv6.
No. Time Source Destination Protocol Info No. Time Source Destination Protocol Info
2076 214.592925 fe80::200:24ff:fec9:6b68 ff02::1 ICMPv6 Router advertisement 2076 214.592925 fe80::200:24ff:fec9:6b68 ff02::1 ICMPv6 Router advertisement
Frame 2076 (118 bytes on wire, 118 bytes captured) Frame 2076 (118 bytes on wire, 118 bytes captured)
Ethernet II, Src: Olicom_c9:6b:68 (00:00:24:c9:6b:68), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Ethernet II, Src: Olicom_c9:6b:68 (00:00:24:c9:6b:68), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01)
Internet Protocol Version 6 Internet Protocol Version 6
0110... = Version: 6 0110... = Version: 6
... 0000 0000............... = Traffic class: 0x00000000 ... 0000 0000............... = Traffic class: 0x00000000
......... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 ......... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 64 Payload length: 64
Next header: ICMPv6 (0x3a) Next header: ICMPv6 (0x3a)
Hop limit: 255 Hop limit: 255
Source: fe80::200:24ff:fec9:6b68 (fe80::200:24ff:fec9:6b68) Source: fe80::200:24ff:fec9:6b68 (fe80::200:24ff:fec9:6b68)
Destination: ff02::1 (ff02::1) Destination: ff02::1 (ff02::1)
Internet Control Message Protocol v6 Internet Control Message Protocol v6
Type: 134 (Router advertisement) Type: 134 (Router advertisement)
Code: 0 Code: 0
Checksum: 0xa084 [correct] Checksum: 0xa084 [correct]
Cur hop limit: 64 Cur hop limit: 64
Flags: 0x40 Flags: 0x40
0...... = Not managed 0...... = Not managed
.1..... = Other .1..... = Other
..0.... = Not Home Agent ..0.... = Not Home Agent
...0 0... = Router preference: Medium ...0 0... = Router preference: Medium
Router lifetime: 1800 Router lifetime: 1800
Reachable time: 0 Reachable time: 0
Retrans timer: 0 Retrans timer: 0
ICMPv6 Option (Source link-layer address) ICMPv6 Option (Source link-layer address)
Type: Source link-layer address (1) Type: Source link-layer address (1)
Length: 8 Length: 8
Link-layer address: 00:00:24:c9:6b:68 Link-layer address: 00:00:24:c9:6b:68
ICMPv6 Option (MTU) ICMPv6 Option (MTU)
Type: MTU (5) Type: MTU (5)
Length: 8 Length: 8
MTU: 1492 MTU: 1492
ICMPv6 Option (Prefix information) ICMPv6 Option (Prefix information)
Type: Prefix information (3) Type: Prefix information (3)
Length: 32 Length: 32
Prefix length: 64 Prefix length: 64
Flags: 0xc0 Flags: 0xc0
1...... = Onlink 1...... = Onlink
.1..... = Auto .1..... = Auto
..0.... = Not router address ..0.... = Not router address
...0... = Not site prefix ...0... = Not site prefix
Valid lifetime: 2592000 Valid lifetime: 2592000
Preferred lifetime: 604800 Preferred lifetime: 604800
Prefix: 2001:7a8:33d8:4:: Prefix: 2001:7a8:33d8:4::
## Configuration cliente sous OpenBSD ## Configuration cliente sous OpenBSD
### Autoconfiguration ### Autoconfiguration
Cela va rajouter une adresse link local en ipv6 (en fe80::/10), Cela va rajouter une adresse link local en ipv6 (en fe80::/10),
puis il va obtenir deux adresses IP, une liée à l'adresse mac (par puis il va obtenir deux adresses IP, une liée à l'adresse mac (par
exemple avec la mac c8:5b:76:90:5b:35 on obtient exemple avec la mac c8:5b:76:90:5b:35 on obtient
2001:db8:37:129:ca5b:76ff:fe90:5b35) et une autre adresse avec un flag 2001:db8:37:129:ca5b:76ff:fe90:5b35) et une autre adresse avec un flag
« autoconfprivacy » qui n'aura aucun lien avec l'adresse mac. C'est « autoconfprivacy » qui n'aura aucun lien avec l'adresse mac. C'est
cette dernière qui sera utilisée. cette dernière qui sera utilisée.
#### Configuration en dur #### Configuration en dur
Dans le fichier /etc/hostname.interface correspondant à votre Dans le fichier /etc/hostname.interface correspondant à votre
interface, il suffit de rajouter le mot clé *rtsol* : interface, il suffit de rajouter le mot clé *rtsol* :
dhcp dhcp
rtsol rtsol
#### Configuration (temporaire) en ligne de commande #### Configuration (temporaire) en ligne de commande
doas ifconfig em0 inet6 autoconf doas ifconfig em0 inet6 autoconf
### Configuration en IP fixe ### Configuration en IP fixe
#### Configuration en dur #### Configuration en dur
Éditer le fichier /etc/hostname.interface correspondant à votre Éditer le fichier /etc/hostname.interface correspondant à votre
interface et indiquez l'adresse IPv6 après le mot-clé *inet6* suivie interface et indiquez l'adresse IPv6 après le mot-clé *inet6* suivie
du préfixe, ici 64. Ce qui donne par exemple : du préfixe, ici 64. Ce qui donne par exemple :
inet <IPv4> <masque-IPv4> inet <IPv4> <masque-IPv4>
inet6 2001:db8:6666:333:123:45ff:fe1d:3456 64 inet6 2001:db8:6666:333:123:45ff:fe1d:3456 64
Pour la passerelle il faut éditer le fichier /etc/mygate et ajouter Pour la passerelle il faut éditer le fichier /etc/mygate et ajouter
une ou plusieurs passerelles (IPv4 et IPv6) : une ou plusieurs passerelles (IPv4 et IPv6) :
192.0.2.1 192.0.2.1
2001:db8:42::1 2001:db8:42::1
#### Configuration (temporaire) en ligne de commande #### Configuration (temporaire) en ligne de commande
# ifconfig sis0 inet6 2001:db8:42::42/64 # ifconfig sis0 inet6 2001:db8:42::42/64
# route add -inet6 default 2001:db8:42::1 # route add -inet6 default 2001:db8:42::1
### Préférer l'IPv6 ou l'IPv4 ### Préférer l'IPv6 ou l'IPv4
Pour préférer l'IPv6, dans `/etc/resolv.conf` il faut mettre (à la Pour préférer l'IPv6, dans `/etc/resolv.conf` il faut mettre (à la
fin) : fin) :
family inet6 inet4 family inet6 inet4
Sinon, l'IPv4 est préférée par défaut. Sinon, l'IPv4 est préférée par défaut.
## Configuration cliente sous Debian ## Configuration cliente sous Debian
### Configuration en dur ### Configuration en dur
Editer le fichier */etc/network/interfaces* : Editer le fichier */etc/network/interfaces* :
auto lo auto lo
iface lo inet loopback iface lo inet loopback
auto eth0 auto eth0
iface eth0 inet static iface eth0 inet static
address <IPv4> address <IPv4>
netmask <masque-IPv4> netmask <masque-IPv4>
gateway <gateway-IPv4> gateway <gateway-IPv4>
iface eth0 inet6 static iface eth0 inet6 static
address 2001:db8:42::42 address 2001:db8:42::42
netmask 64 netmask 64
up ip route add 2000::0/3 via 2001:db8:42::1 gateway 2001:db8:42::1
### Configuration (temporaire) en ligne de commande ### Configuration (temporaire) en ligne de commande
# ifconfig eth0 add 2001:db8:42::42/64 # ifconfig eth0 add 2001:db8:42::42/64
# ip route add 2000::0/3 via 2001:db8:42::1 # ip route add default via 2001:db8:42::1
_Note : La commande route est fourni via le paquet `iproute`_ _Note : La commande route est fourni via le paquet `iproute`_
### Préféfer l'IPv4 à l'IPv6 lors de la résolution DNS ### Préféfer l'IPv4 à l'IPv6 lors de la résolution DNS
Mettre ceci dans /etc/gai.conf Mettre ceci dans /etc/gai.conf
precedence ::ffff:0:0/96 100 precedence ::ffff:0:0/96 100
## Afficher/manipuler la table d'entrée IPv6 - adresse mac ## Afficher/manipuler la table d'entrée IPv6 - adresse mac
### OpenBSD ### OpenBSD
Il y a ndp(8). Pour afficher la table : Il y a ndp(8). Pour afficher la table :
ndp -s ndp -s
### Debian ### Debian
Il y a la commande ip. Pour afficher la table : Il y a la commande ip. Pour afficher la table :
ip -6 n ip -6 n
## Avertissements ## Avertissements
### Debian, kvm et les bridges ### Debian, kvm et les bridges
Il se peut que le bridge sur l'hyperviseur ne laisse pas passer le Il se peut que le bridge sur l'hyperviseur ne laisse pas passer le
multicast utilisé par le NDP. Il faut activer le *snooping multicast*. multicast utilisé par le NDP. Il faut activer le *snooping multicast*.
En CLI : En CLI :
echo 0 > /sys/class/net/br0/bridge/multicast_snooping echo 0 > /sys/class/net/br0/bridge/multicast_snooping
Dans /etc/network/interfaces : Dans /etc/network/interfaces :
auto br0 auto br0
iface br0 inet manual iface br0 inet manual
bridge_ports eth0 bridge_ports eth0
up echo 0 > /sys/class/net/br0/bridge/multicast_snooping up echo 0 > /sys/class/net/br0/bridge/multicast_snooping