Réseau- Solaris
Attention, ce qui suit n'est plus valable à partir de Solaris 11.
Généralités
Attention, ce qui suit n'est plus valable à partir de Solaris 11.
Les interfaces réseau sont nommées à la mode BSD, c'est-à-dire avec le nom du pilote suivi d'un numéro, et pas à la mode linux avec "eth" et un numéro. Exemples : bge0, ce2.
Sur du matériel Sparc, les différentes cartes réseau peuvent avoir chacune leur adresse mac ou toutes l'adresse mac du serveur. La valeur est visible et modifiable dans l'OBP (faire un grep sur le mot clé "mac").
Pour voir la liste des interfaces réseau configurées, taper ifconfig –a.
Pour activer toutes les interfaces, taper ifconfig –a plumb.
Pour afficher des informations sur les interfaces réseau :
- solaris 10 : dladm show-dev
- solaris <10 : kstat eri:0 (pour l'interface eri0)
Pour surveiller le réseau : utiliser le programme snoop.
Fichiers de configuration
Si sendmail est installé (ce qui est le cas par défaut), il faut modifier une ligne dans /etc/hosts : sur la ligne qui contient le hostname, il faut rajouter le hostname immédiatement suivi d'un "." et éventuellement du nom de domaine. Sinon, sendmail va afficher régulièrement des alertes. Exemple :
bash-3.00# cat /etc/hosts # # Internet host table # ::1 localhost 127.0.0.1 localhost 10.36.209.192 uirgs48 uirgs48. loghost
Les principaux fichiers de configuration sont :
- les classiques /etc/hosts, /etc/resolv.conf et /etc/nsswitch.conf
- /etc/hostname.nom-interface : nom ou ip de l'interface
- /etc/nodename : contient le hostname principal, s'il y en a plusieurs
- /etc/gateways : liste des passerelles
- /etc/defaultrouter : passerelle principale
- /etc/inet/hosts : /etc/hosts est un lien vers ce fichier
- /etc/inet/ipnodes : lien vers /etc/inet/hosts
- /etc/net/*/hosts : obsolète en solaris 10
Pour passer l'interface pcn0 en DHCP, taper : touch /etc/dhcp.pcn0
Pour afficher les routes : netstat –r
Configurer la passerelle
- Temporairement :
route add default 10.0.0.1
- Persistant au reboot (le fichier n'existe pas au départ) :
echo "10.0.0.1" > /etc/defaultrouter
Configurer le ntp
echo "ntp.free.fr" > /etc/inet/ntp.conf
Puis (re-)démarrer le service ntp.
Pour vérifier la synchronisation :
ntpq –c peers
Forcer la vitesse des interfaces réseau (speed + duplex)
Suivant le modèle de carte réseau, la configuration et la lecture des informations de l'interface vont être légèrement différents.
Dans certains cas, la configuration se fait directement sur l'interface. Par exemple, bge0, bge1, etc.
Dans les autres cas, le mode et la vitesse ne se configurent pas pour une interface, mais pour un pilote. Par exemple, si on fait une modification sur hme0, ça impactera toutes les cartes qui utilisent le pilote hme, mais pas les autres.
Quelques commandes utiles :
Récupérer le nom du pilote de la carte réseau
ifconfig -a # (par exemple, pour la carte "hme0", le pilote est "hme")
Voir la vitesse
ndd -get /dev/hme link_speed
Résultats possibles :
- 1=100M, 0=10M
- 1000=1G, 100=100M, 10=10M
- 1000=1G, 1=100M, 0=10M
Voir le mode
ndd -get /dev/hme link_mode
ou (suivant la version de Solaris)
ndd –get /dev/bge0 link_duplex
Résultats possibles :
- link_mode : 1=Full, 0=Half, *=Error
- link_duplex : 2=Full, 1=Half, 0=Unknown, *=Error
Voir l'état
ndd -get /dev/hme link_status
Résultats possibles :
- 1=Up, 0=Down
Voir la liste des infos qu'on peut récupérer
ndd -get /dev/hme \?
Désactiver l'auto-négociation
ndd -set /dev/hme adv_autoneg_cap 0 # (mettre un "1" pour l'activer)
Forcer en 100M/Full
ndd -set /dev/hme adv_100fdx_cap 1 # (nécessite que l'autoneg soit à 0)
Pour que les modifications restent actives après reboot, il faut modifier le fichier /etc/system. Par exemple, pour forcer en 100M/Full après reboot, ajoutez les lignes suivantes à /etc/system :
set hme:hme_adv_autoneg_cap=0 set hme:hme_adv_100fdx_cap=1
Depuis solaris 10, une commande affiche les valeurs des interfaces de façon plus claire :
# dladm show-dev bge0 liaison : up vitesse : 1000 Mbit/s duplex : full bge1 liaison : unknown vitesse : 0 Mbit/s duplex : unknown
IPMP
L'IPMP (IP network MultiPathing) est une manière d'agréger les interfaces réseau pour faire de la répartition de charge et de la tolérance de pannes.
Nous allons suivre un exemple pour configurer l'IPMP sur un Solaris 10. On suppose qu'on a deux interfaces réseau : vnet0 qui est déjà configurée et fonctionnelle et vnet1 câblée mais non utilisée.
On va éditer /etc/hostname.vnet0 pour avoir quelque-chose qui ressemble à ça :
mon_hostname netmask + broadcast + group ipmp0 up
Remarques :
- mon_hostname doit être remplacé par le hostname du serveur
- les mots "netmask + broadcast + group" sont des mots clés qui ne doivent pas être remplacés. Il faut bien mettre des espaces entre les mots et les "+"
- le mot "ipmp0" est le nom qu'on donne à notre groupe d'interfaces. On peu mettre le nom qu'on veut, mais il est conseillé de mettre un nom clair
Maintenant on édite /etc/hostname.vnet1 :
group ipmp0 up
Remarques :
- "group" est un mot clé, il ne faut pas le changer
- "ipmp0" est le nom du groupe qu'on a défini juste avant. A remplacer par le nom que vous avez mis.
Si vous avez d'autres interfaces réseau, vous pouvez les ajouter en reproduisant ce qu'on a fait pour vnet1.
Ce qu'on vient de faire ne sera pris en compte qu'au prochain reboot. Si possible, je vous conseille de rebooter pour être sûr que tout fonctionne bien et qu'on n'aura pas de mauvaise surprise. Sinon, on peut faire la manip à chaud avec les commandes suivantes (à adapter en fonction de ce qu'on a fait avant) :
ifconfig vnet0 192.168.0.1 netmask 255.255.255.0 group ipmp0 up ifconfig vnet1 plumb ifconfig vnet1 group ipmp0 up
Voilà ce que ça donne une fois en place :
# ifconfig vnet0 vnet0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.36.208.90 netmask fffffc00 broadcast 10.36.211.255 groupname ipmp0 ether 0:14:4f:f9:2a:45 # ifconfig vnet1 vnet1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 0.0.0.0 netmask ff000000 broadcast 0.255.255.255 groupname ipmp0 ether 0:14:4f:fb:6f:6f