|
Documentation NetBSD :Bases du réseau NetBSD |
Cette page est en cours d'évolution. Tout commentaires ou suggestions sont les bienvenus.
/etc/hosts:
192.168.1.2 hote2.mondomaine.org.au hote2
Entrée du fichier direct
host2 A 192.168.1.2
Entrée du fichier inverse
2 PTR host2.mydomain.org.au.
/etc/ifconfig.we1
192.168.2.30 netmask 0xffffff00 media 10base2/BNC
Plusieurs mises en place PPP existent. Voici une méthode simple, utilisable pour une connexion chez un FAI (Fournisseur d'Accès Internet).
/etc/ppp/peers/mon-fai
# Exemple d'options pppd
# spécifiques à mon-fai
/dev/tty01
local_IP_address:remote_IP_address
connect '/usr/sbin/chat -v -f /etc/ppp/peers/mon-fai.chat'
defaultroute
persist
ipparam mon-fai
asyncmap 0
noauth
/etc/ppp/options.{nom-tty}
# Exemple d'options pppd
# spécifique à nom-tty
lock
crtscts
57600
modem
/etc/ppp/peers/mon-fai.chat
# Exemple de fichier chat
# spécifiques à mon-fai
ABORT BUSY ABORT 'NO CARRIER' ""
\da\ptz0 OK
\da\ptdt8887776655 CONNECT
pppd call mon-fai
ppp_peers="mon-fai" dans /etc/rc.conf rc.conf(5) et la connexion sera automatiquement établie au démarrage.
Si vous vous connectez à la demande par RTC et que vous ne voulez pas que certaines requètes n'établissent la liaison (par exemple le trafic ntp de xntpd(8)), vous pouvez utiliser active-filter dans votre fichier de configuration ppd.conf :
active-filter 'not udp port ntp'
/dev/tty00
57600
noauth
crtscts
passive
<adresse_IP_locale>:<adresse_IP_distante>
debug
netmask 255.255.255.255
proxyarp
Vous devrez remplacer <adresse_IP_locale> et <adresse_IP_distante> par les valeurs appropriées (<adresse_IP_locale> peut être identique à votre ethernet mais <adresse_IP_distante> doit être une adresse valide pour votre segment).
Sur le client, établissez un /etc/ppp/options avec :
/dev/tty00
57600
noauth
crtscts
defaultroute
debug
Des deux côtés, ajustez /dev/tty00 avec la valeur de votre port série.
Vous passez en mode TA à l'aide de commandes Hayes «AT». Veuillez consulter votre manuel pour savoir lesquelles. Ajoutez-les ensuite à votre script de négotiation (chat) utilisé pour la numérotation PPP normale, comme avec un modem (analogique) normal.
Notez que ce paquetage est toujours considéré comme étant en phase béta test.
Notez aussi qu'il s'agit bien de cartes RNIS et non de modem. Ce dernier est utilisable comme un modem normal.
options PFIL_HOOKS # pfil(9) packet filter hooks pseudo-device ipfilter # IP filter (firewall) and NAT
pass in from any to any pass out from any to any
map ppp0 10.0.0.0/24 -> 0/32 proxy port ftp ftp/tcp map ppp0 10.0.0.0/24 -> 0/32 portmap tcp/udp 40000:60000 map ppp0 10.0.0.0/24 -> 0/32
ipfilter=YES # utilise /etc/ipf.conf ipnat=YES # utilise /etc/ipnat.conf
sysctl -w net.inet.ip.forwarding=1
/usr/sbin/named-bootconf < named.boot > named.conf
Parallèlement à son intégration aux versions officielles de NetBSD, les familles 8.x et 9.x de BIND se trouvent dans la Collection de Paquetages de NetBSD. Reportez-vous respectivement à bind8 et bind9.
Il est désormais déconseillé d'utiliser BIND 4. Mieux vaut passer aux versions suivantes. Si vous devez continuer à utiliser l'ancienne version 4.x de BIND, intéressez-vous au paquetage bind4.
NetBSD 1.5 et suivantes comprennent l'implémentation KTH Heimdal Kerberos 5.
Cette section présente quelques instructions simples afin que votre NetBSD soit configuré pour utiliser Kerberos. Pour les personnes qui n'y sont pas familières ce sera un guide de base. Pour celles familières, ce sera un comparatif des différences entre le Kerberos de NetBSD et celui des systèmes que vous avez pu utiliser par le passé.
Pour les besoins de cette documentation, considérons que notre nom de domaine est «foo.com». Considérons aussi que nous avons deux machines, dans ce domaine, appellées mach1.foo.com et mach2.foo.com.
Un domaine administratif Kerberos est appelé une zone («realm» en anglais). Vous pouvez lui donner le nom que vous voulez mais la convention veut qu'il corresponde au nom du domaine DNS de l'organisation, en majuscules. Ainsi, dans notre exemple où le domaine est «foo.com», le nom de la zone sera «FOO.COM».
Dans Kerberos, une identité est appelée un principal. Un utilisateur, un hôte et même un service sur un hôte sont des principaux. Leur nom est sous la forme «nom@ZONE». Si la partie «@zone» est omise, c'est la zone par défaut qui est considérée. Les noms de services principaux sont sous la forme «service/machine@ZONE». Le nom de la machine doit être le nom complet internet. Toutes les machines possèdent leur service principal «host/...». Il est généralement utilisé par les programmes de connexion (comme telnet(8) ou sshd(8)) ou autre pour authentifier l'hôte sur un autre principal (par exemple certains protocoles de gestions de clés IPsec).
Un certificat d'identité Kerberos s'appelle un ticket. Il existe un certain type de tickets appelé ticket d'émission de ticket (Ticket Granting Ticket ou TGT). Il s'agit de l'ensemble initial de vos certificats acquis lorsque vous vous connectez avec login(1) ou en lançant kinit(1). Le TGT sert à obtenir des tickets vous permettant d'utiliser des services nécessitant l'authentification Kerberos. Les tickets sont enregistrés dans une base de données appelée cache de certificats d'identité. Lors d'une session, ce cache est généralement enregistré dans un fichier de /temp. Il doit être détruit, en fin de session, à l'aide de la commande kdestroy(1). Il est important de protéger votre cache de certificats d'identité. Autrement, une personne non habilitée pourrait avoir accès à des services auxquels elle ne devrait pas.
Les certificats sont gérés de façon centralisée par le Centre de Distribution de Tickets (Key Distribution Center ou KDC). Un utilisateur s'authentifie auprès du KDC en donnant un mot de passe au moment de la demande de TGT. Un service s'authentifie de la même façon mais le mot de passe provient d'une liste de clés ou keytab, enregistrée sur la machine.
Notez que Kerberos nécessite que tous les hôtes d'une zone soient à la même heure. La meilleure façon de le faire est d'utiliser NTP sur votre réseau.
Voici, pas à pas, comment configurer votre réseau afin d'utiliser Kerberos.
Le système KDC jouera aussi le rôle de serveur d'administration et de serveur de modification de mot de passe Kerberos.
La façon la plus simple de fournir les renseignements sur le KDC se fait par les enregistrements SRV DNS. Si vous optez pour cette solution, voici les informations nécessaires à notre zone FOO.COM :
_kerberos._udp IN SRV 01 00 88 mach1.foo.com.
_kerberos._tcp IN SRV 01 00 88 mach1.foo.com.
_kpasswd._udp IN SRV 01 00 464 mach1.foo.com.
_kerberos-adm._tcp IN SRV 01 00 749 mach1.foo.com.
_kerberos IN TXT FOO.COM
Consultez le RFC 2782 pour connaitre le format de ces enregistrements. Notez que vous pouvez entrer ces informations manuellement sur chaque hôte de la zone si vous ne voulez pas utiliser la méthode DNS.
# cat > /etc/krb5.conf
[libdefaults]
default_realm = FOO.COM
^D
#
Si vous n'utilisez pas les enregistrements SRV DNS pour configurer votre zone, vous devez lister les serveurs KDC, kadmin et kpasswd, dans vos fichiers /etc/krb5.conf, de cette façon :
# cat >> /etc/krb5.conf
[realms]
FOO.COM = {
kdc = mach1.foo.com
admin_server = mach1.foo.com
# optionel, admin_server par défaut
kpasswd_server = mach1.foo.com
}
^D
#
Notez que si vous déplacez une machine vers une autre zone, l'enregistrement TXT _kerberos du DNS remplacera la zone par défaut du fichier /etc/krb5.conf.
mach1# ls -ld /var/heimdal
1 drwxr-xr-x 2 root wheel 512 Nov 30 15:21 /var/heimdal/
mach1#
mach1# kstash
Master key:
Verifying password - Master key:
mach1#
mach1# kadmin -l
kadmin> init FOO.COM
Realm max ticket life [unlimited]:
Realm max renewable ticket life [unlimited]:
kadmin>
kadmin> add --random-key host/mach1.foo.com
Max ticket life [1 day]:
Max renewable life [1 week]:
Principal expiration time [never]:
Password expiration time [never]:
Attributes []:
kadmin>
Maintenant qu'un principal existe, vous pouvez extraire sa clé de la lite des clé (keytab) de KDC.
kadmin> ext -k /etc/krb5.keytab host/mach1.foo.com
kadmin>
La liste des clés peut être obtenue avec la commande ktutil(8) :
mach1# ktutil list
Vno Type Principal
1 des-cbc-crc host/mach1.foo.com
1 des-cbc-md4 host/mach1.foo.com
1 des-cbc-md5 host/mach1.foo.com
1 des3-cbc-sha1 host/mach1.foo.com
kadmin> add joe
Max ticket life [1 day]:
Max renewable life [1 week]:
Principal expiration time [never]:
Attributes []:
joe@FOO.COM's Password:
Verifying password - joe@FOO.COM's Password:
kadmin>
mach1# echo "kdc=YES" >> /etc/rc.conf
mach1# /etc/rc.d/kdc start
Starting kdc.
mach1#
kerberos-adm stream tcp nowait root /usr/libexec/kadmind kadmind
kerberos-adm stream tcp6 nowait root /usr/libexec/kadmind kadmind
kpasswd dgram udp wait root /usr/libexec/kpasswdd kpasswdd
kpasswd dgram udp6 wait root /usr/libexec/kpasswdd kpasswdd
Demandez à inetd(8) de recharger sa configuration.
mach1# /etc/rc.d/inetd reload
Reloading inetd config files.
mach1#
mach1:joe$ kinit
joe@FOO.COM's Password:
joe$ klist
Credentials cache: FILE:/tmp/krb5cc_100
Principal: joe@FOO.COM
Issued Expires Principal
Nov 30 14:10:16 Dec 1 00:10:16 krbtgt/FOO.COM@FOO.COM
Nov 30 14:10:16 Dec 1 00:10:16 krbtgt/FOO.COM@FOO.COM
mach1:joe$ telnet -ax mach1.foo.com
Trying 10.0.0.1
Connected to mach1.foo.com.
Escape character is '^]'.
[ Trying KERBEROS5 ... ]
[ Kerberos V5 accepts you as ``joe@FOO.COM'' ]
Last login: Thu Nov 30 14:08:33 2000 from mach1
...
mach1:joe$ exit
Connection closed by foreign host.
mach1:joe$
mach1# kadmin -l
kadmin> add --random-key host/mach2.foo.com
Max ticket life [1 day]:
Max renewable life [1 week]:
Principal expiration time [never]:
Password expiration time [never]:
Attributes []:
kadmin>
mach1# kadmin -l
kadmin> add root/admin
Max ticket life [1 day]:
Max renewable life [1 week]:
Principal expiration time [never]:
Password expiration time [never]:
Attributes []:
root/admin@FOO.COM's Password:
Verifying password - root/admin@FOO.COM's Password:
kadmin>
Ajoutez le principal à l'ACL kadmin :
mach1# echo "root/admin@FOO.COM all" >> /var/heimdal/kadmind.acl
mach1#
mach2# kadmin
kadmin> ext -k /etc/krb5.keytab host/mach2.foo.com
root/admin@FOO.COM's Password:
kadmin>
Testez en vous connectant à une machine avec Kerberos.
mach1:joe$ telnet -ax mach2.foo.com
Trying 10.0.0.2
Connected to mach2.foo.com.
Escape character is '^]'.
[ Trying KERBEROS5 ... ]
[ Kerberos V5 accepts you as ``joe@FOO.COM'' ]
Last login: Thu Nov 30 16:26:51 2000 from mach1
...
mach2:joe$ exit
Connection closed by foreign host.
mach1:joe$
Les utilisateurs de Windows 2000 peuvent aussi utiliser votre KDC NetBSD comme serveur d'autentification. En effet, Windows 2000 utilise Kerberos pour gérer ses connexion de Domaines Windows. NetBSD ne peut pas jouer le r™le de Contr™leur de Domaines Windows 2000 mais, si vous utilisez Samba, il peut faire office de serveur de Groupes de Travail (Workgroup).
Pour les besoins de l'exemple, considérons que vous avez configuré Samba et que vos machines Windows2000 l'utilisent.
mach1#kadmin -l
kadmin> add host/win2k.foo.com
max ticket life [1 day]:
Max renewable life [1 week]:
Principal expiration time [never]:
Password expiration time [never]:
Attributes []:
host/win2k.shagadelic.org@SHAGADELIC.ORG's Password:
Verifying password -
host/win2k.shagadelic.org@SHAGADELIC.ORG's Password:
kadmin>
N'OUBLIEZ PAS CE MOT DE PASSE ! Vous devrez le retaper sur votre machine Windows 2000.
C:>ksetup /setdomain FOO.COM
C:> ksetup /addkdc FOO.COM mach1.foo.com
C:>ksetup /setmachpassword mot de passe
C:>ksetup /mapuser * *
Vous pouvez aussi faire correspondre un utilisateur particulier à un pricipal particulier :
C:>ksetup /mapuser user@FOO.COM utilisateur_local
De cette manière, vous pourrez choisir de vous connecter à une zone Kerberos en démarrant un session Windows 2000. Notez que, par expérience, vous devrez synchroniser les mots de passe de Samba sur ceux de Kerberos.
Pour plus d'informations sur Kerberos, suivez ces liens :
Les trois parties sont mises à la suite, sans séparateur («AAAAAAAAAAAATTTTTTTTTTTTMMMM»), par exemple 0001201234563200123456#0001. Utilisez cela comme «user» dans votre fichier d'options PPP.
ABORT BUSY '' AT
OK ATZ
OK ATL1
OK ATD0191011
CONNECT '.'
Sans ce point final, vous risquez d'être immédiatement déconnecté, sans réponse du serveur de T-Online après que vous ayez envoyé la première trame ConfReq LCP.
|
|