Solaris
From Livre IPv6
IPv6 fait partie intégrante du système depuis Solaris 8. La bibliothèque libc et la plupart des applications supportent IPv6, y compris les RPC et NFS.
Lors de la configuration initiale d'une machine, les menus d'installation système proposent de configurer IPv6, il suffit de suivre les questions. Pour les personnes n'ayant pas activé IPv6 à l'installation ou qui souhaitent modifier la configuration, ce chapitre décrit comment configurer «à la main».
Le premier point est de s'assurer que le service de noms connaît IPv6. Pour cela il faut valider la ligne «ipnodes:» dans le fichier /etc/nsswitch.conf. La syntaxe est la même que pour la ligne «hosts:» en IPv4. Ainsi pour rechercher l'adresse IPv6 associée à un nom d'abord dans le fichier de correspondance local (/etc/inet/ipnodes), puis par le DNS, la ligne est :
ipnodes: files dns
Ensuite il faut activer la configuration IPv6 des interfaces. Dans le cas de l'autoconfiguration sans état, il suffit de créer un fichier de configuration vide de nom /etc/hostname6.IFX pour chaque interface de nom IFX (sauf pour l'interface lo0). Ainsi si la machine a une interface Ethernet elxl0, il faut exécuter :
> touch /etc/hostname6.elxl0
La configuration est suffisante, IPv6 sera disponible au prochain reboot.
Pour vérifier que IPv6 fonctionne correctement, on dispose des commandes ping et traceroute pour tester l'accessibilité d'une machine, et netstat et rpcinfo pour visualiser les tables de routage, et de connexions actives.
Par exemple pour tester la connectivité IPv6 :
> /usr/sbin/ping -s www6.ipv6.imag.fr PING www6.ipv6.imag.fr: 56 data bytes 64 bytes from 2001:660:181:1::50: icmp_seq=0. time=46. ms 64 bytes from 2001:660:181:1::50: icmp_seq=1. time=45. ms ^C ----www6.ipv6.imag.fr PING Statistics---- 2 packets transmitted, 2 packets received, 0% packet loss round-trip (ms) min/avg/max = 45/45/46
La commande suivante montre quelques services activés en IPv6: rlogin, telnet, ftp, impression, mail (smtp), partage de fichiers (lockd).
> netstat -af inet6 UDP: IPv6 Local Address Remote Address State If -------------------------- ----------------------- -------- --- *.* Unbound *.sunrpc Idle *.time Idle *.echo Idle *.daytime Idle ..... TCP: IPv6 Local Address Remote Address Swind Send-Q Rwind Recv-Q State If ----------------- ---------------- ----- ------ ----- ------ ---- -- *.* *.* 0 0 24576 0 IDLE *.sunrpc *.* 0 0 65536 0 LISTEN *.* *.* 0 0 65536 0 IDLE *.ftp *.* 0 0 65536 0 LISTEN *.echo *.* 0 0 65536 0 LISTEN *.printer *.* 0 0 65536 0 LISTEN *.smtp *.* 0 0 65536 0 LISTEN ....
Configuration manuelle
Pour définir des adresses IPv6 de manière statique sur une interface IFX (ajout d'adresses ou configuration d'un routeur), il suffit de mettre les informations nécessaires dans le fichier de configuration /etc/hostname6.IFX. La syntaxe est celle des arguments de la commande ifconfig. L'adresse lien-local est toujours générée automatiquement et ne doit pas être positionnée de cette manière. Ainsi le fichier /etc/hostname6.elxl0 suivant configure deux adresses IPv6 sur l'interface elxl0 :
addif 3ffe:3ff:92:55::1000/64 up addif 2001:6ff:43:55:A00:20ff:fe8e:F324/64 up
En Solaris, sur une machine qui n'est pas routeur, la génération d'adresses autoconfigurées «sans état» est active par défaut. Pour les systèmes antérieurs à Solaris 10, il n'est pas possible de la désactiver simplement (il faut modifier des scripts système). En Solaris 10 c'est possible en ajoutant une directive dans le fichier /etc/inet/ndpd.conf. La ligne suivante désactive la génération automatique d'adresse sur toutes les interfaces :
ifdefault StatelessAddrConf off
Configuration d'un tunnel
Pour créer un tunnel configuré sur une machine Solaris, il faut créer un fichier de configuration /etc/hostname6.ip.tun0 (0 pour le premier tunnel) indiquant les adresses source et destination IPv4 et IPv6. Le tunnel correspond à une interface de nom ip.tun0. Pour plus de détails voir le manuel (man ifconfig). L'exemple suivant crée un tunnel IPv6 dans IPv4, l'adresse de IPv4 de l'extrémité locale est 128.1.2.3, celle de l'extrémité distante est 192.1.2.5, le tunnel est entre les adresses IPv6 locale 2001:6ff::45 et distante 2001:6ff::46 :
tsrc 128.1.2.8 tdst 192.1.2.5 up addif 2001:6ff::45 2001:6ff::46 up
Solaris permet aussi d'utiliser le mécanisme 6to4. Il est configuré en modifiant des variables dans le fichier /etc/default/inetinit.
Configuration de règles de sécurité
On peut contrôler les connexions en utilisant la librairie «tcpwrappers». De nombreuses commandes réseau (sendmail, sshd, les commandes lancées par inetd, ...) utilisent cette librairie pour vérifier si un accès distant est autorisé par un fichier de configuration (voir «man -s 4 hosts_access»). Voici un exemple de fichier /etc/hosts.allow qui limite les connections entrantes ssh à deux réseaux :
sshd: [2001:660:5301:2::/64] : allow sshd: 192.0.2.32/255.255.255.224 : allow sshd : ALL : deny
Le portage à IPv6 du filtrage des paquets («firewall» ipf) n'est pas disponible en Solaris 9 ni dans la version initiale de Solaris 10. Il devrait être fourni lors d'une mise à jour de Solaris 10.