#1 Le 13/01/2009, à 15:06
- humanologue
Procédure install serveur ubuntu sur Vmwareserver (pas fini)
Je vous soumet la procédure d'install validée sur ma machine et inspirée de celles disponibles sur ce site avec cependant quelques précisions supplémentaires. En espérant que cela pourra être utile.
I- telechargement et Install de VMWare-server2
Aller sur le site vmware, s'inscrire et telecharger le vmwareserver2 pour linux
http://doc.ubuntu-fr.org/vmware_server? … e%20server
- créer un repertoire de Travail pour le réseau virtuel
preparer votre numero de serie VMware Server 2 for Linux
Lors du lancmeent de vmware-config.pl s'il dis que le compilateur gcc n'est pas a niveau, installer quand meme
Your kernel was built with "gcc" version "4.2.3", while you are trying to use
"/usr/bin/gcc" version "4.2.4". This configuration is not recommended and
VMware Server may crash if you'll continue. Please try to use exactly same
compiler as one used for building your kernel. Do you want to go with compiler
"/usr/bin/gcc" version "4.2.4" anyway? [no] y
là il lance vmware-config.pl.. valider tout par defaut
puis il lance vmware VIX ApI... valider toujours
et ca se deroule jusqu'à bout tranquille si on entre espace jusqu'au bout
#sudo vmware-config.pl
ca devrais se passer comme ca , la faut pas se planter si on veut que Vmware supporte l'infrastructure réseau :
Making sure services for VMware Server are stopped.
Stopping VMware services:
Virtual machine monitor done
Bridged networking on /dev/vmnet0 done
DHCP server on /dev/vmnet1 done
Host-only networking on /dev/vmnet1 done
DHCP server on /dev/vmnet8 done
NAT service on /dev/vmnet8 done
Host-only networking on /dev/vmnet8 done
Virtual ethernet done
You have already setup networking.
Would you like to skip networking setup and keep your old settings as they are?(yes/no) [yes] no
Do you want networking for your virtual machines? (yes/no/help) [yes]
Would you prefer to modify your existing networking configuration using the
wizard or the editor? (wizard/editor/help) [wizard]
The following bridged networks have been defined:
. vmnet0 is bridged to eth0
Do you wish to configure another bridged network? (yes/no) [no] no
Do you want to be able to use NAT networking in your virtual machines? (yes/no)[yes] yes
Configuring a NAT network for vmnet8.
The NAT network is currently configured to use the private subnet 172.16.179.0/255.255.255.0. Do you want to keep these settings? [yes] no
Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] no
What will be the IP address of your host on the private network? 192.168.254.0
What will be the netmask of your private network? 255.255.255.0
The following NAT networks have been defined:
. vmnet8 is a NAT network on private subnet 192.168.254.0.
Do you wish to configure another NAT network? (yes/no) [no] no
Do you want to be able to use host-only networking in your virtual machines? [yes] yes
Configuring a host-only network for vmnet1.
The host-only network is currently configured to use the private subnet
172.16.30.0/255.255.255.0.
Do you want to keep these settings? [yes] no
Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] no
What will be the IP address of your host on the private network? 192.168.2.0
What will be the netmask of your private network? 255.255.255.0
The following host-only networks have been defined:
. vmnet1 is a host-only network on private subnet 192.168.2.0.
Do you wish to configure another host-only network? (yes/no) [no] yes
Configuring a host-only network for vmnet2.
Do you want this program to probe for an unused private subnet? (yes/no/help) [yes] no
What will be the IP address of your host on the private network? 192.168.3.0
What will be the netmask of your private network? 255.255.255.0
The following host-only networks have been defined:
. vmnet1 is a host-only network on private subnet 192.168.2.0.
. vmnet2 is a host-only network on private subnet 192.168.3.0.
Do you wish to configure another host-only network? (yes/no) [no] no
Generating SSL Server Certificate
Starting VMware services:
Virtual machine monitor done
Virtual ethernet done
Bridged networking on /dev/vmnet0 done
Host-only networking on /dev/vmnet1 (background) done
Host-only networking on /dev/vmnet2 (background) done
Host-only networking on /dev/vmnet8 (background) done
NAT service on /dev/vmnet8 done
Starting VMware virtual machines... done
pour résumer dans l'ordre il crée vmmon, vmci, vsock .. puis on recreer les differents reseaux virtuels
Apres la compil il vous demande si vous voulez encore des reseaux virtuels > yes
vmnet0 : bridged : eth0
vmnet8 : NAT
vmnet1 : HostOnly
ajouter un nouveau reseau en host-only : vmnet2 >HostOnly / custom
Création d'un Datastorage dans Vmware server sur le repertoire de travail
Dans la console Vmware -server : Edit Host Settings : 75 % Memory max
II - créer une VM dans Vmware Server2
- Telecharger .iso Alternate CD Ubuntu Hardy Server 8.04 dans le repertoire de travail ./OS_ISO
http://www.ubuntu.com/getubuntu/download
Name LANSRV
Type : linux ubuntu 32b
Memory Size : 256 Mo (on le mettra a 128 Mo après)
créer un nouveau disque virtuel
Capacity : 6Gb
Network
Add new _NAT
OS Source
Iso image Ubuntu server
No floppy
No usb
créer VM SRVLAN
Attendre ...
Si probleme de resolution d'affichage a la fenetre de login
#sudo dkpg-reconfigure xserver-xorg
III - EXEMPLE D'IMPLEMENTATION RESEAU LINUX sous VMwareserveur2 (par Humanologue_ Novembre 2008)
Prerequis : Un poste de travail (1Go Ram min.) , Connexion internet
Mode : virtualisation
Distribution : Ubuntu Hardy 8.04 alternate / server
Outils : Vmware-server2
Description de l'infrastucture :
Fonction ADMINSRV:
Authentification clients Windows - SAMBA , PDC , Partage, SpoolPrint
Authentification clients Linux (NIS/Nfs)
Gestion annuaire LDAP
serveur DNS secondaire
serveur DHCP
serveur VPN (OpenVPN)
serveur NTP
Fonction PRODSRV:
serveur DNS (Bind)
serveur WEB – APACHE et PROXY – SQUID
serveur SGBD – PostgreSQL
serveur de messagerie SMTP - postfix , POP et IMAP
serveur FTP – VsFTP
serveur CVS
Fonction SRVFWL
Routeur IP (NAT)
Parefeu
Fonction CLIENT:
Acces au Applications de PROD
Acces aux Profils Metiers
Connexion LAN/VPN
Etapes :
Le Reseau
1.Telecharger les .iso des CD Ubuntu 8.04 Hardy Alternate et server
2.Installer le poste de travail Ubuntu 8.04 alernate
3.Telecharger et Installer VMwareserver2
4.Parametrer la config des reseaux avec vmmare-config.pl
5.créer un server virtuel ADMINSRV
6.configuration et prerequis server
7.parametrage du reseau NAT
8.ajout d'une carte et creation du routeur NAT
9.parametrage du reseau DMZ
10.creation d'un serveur de depot
11.créer un server virtuel DMZSRV
12.configuration et prerequis server
13.parametrage du reseau
14.configurer la liste des depots
15.créer un poste virtuel CLIENT windows
16.créer un poste virtuel CLIENT linux en dual boot sur la meme VM
17.ajout d'une carte reseau sur ADMINSRV
18.parametrage des reseaux DMZ/ADMIN
19.integration des CLIENTS sur ADMIN
L'Administration
1.install du service DNS-ADMIN sur ADMINSRV
2.install du service DHCP sur ADMINSRV
3.Integration des CLIENTS sur DHCP
4.configuration DHCP et DNS dynamique sur ADMINSRV
5.install de NTP sur ADMINSRV
6.install de LDAP sur ADMINSRV
7.creation de SAMBA sur ADMINSRV
8.Créer un server FWLSRV
9.Parametrage des reseaux et routage
10.install du service FIREWALL
Installer la VM – Ubuntu 8.04 SERVER - 1h
Options à valider :
Francais
Installer Ubuntu
France
Nom de machine : [srvlan]
Assisté : utiliser le disk entier
SCSI 3 Valider
Reecrire sur le disk Oui
Nom : administrateur
utilisateur : administrateur
mdp : admin
serveur mandataire : vide / continuer
Installer aucun services (cocher aucun)
Les fenetres d'install auto de grub défilent...
Quand l'Instal est Terminée , presser continuer, le server reboot
et le tour est joué.
Configuration de base du server - 1h
Activer le compte root
http://doc.ubuntu-fr.org/installation/compte_root
Login : administrateur
mdp : admin
# sudo passwd root
admin
admin
Parametrer la session root
#su ou #sudo -i
Effacer l'écran apres extinction de la console
#cp /home/admin/.bash_logout /root/
Mettre à jour les packages
http://doc.ubuntu-fr.org/depots_hardy
#apt-get update
#apt-get dist-upgrade
Attendre...~4-5mn
Installer et configurer les services SYSVCONFIG
(gestion des services au demarrage)
#apt-get install sysvconfig vim
(#sysvconfig >> Enable/Disable a service )
#reboot
login : root
mdp : admin
créer une db pour indexer les fichiers
#updatedb (à utiliser avec locate)
#vim /root/.bashrc
a (pour ecrire)
decommenter #(PS1=.....)
ajouter une ligne : alias vi='vim'
esc (pour sortir du mode ecriture)
:wq (sauver et quiter)
:q! (quitter sans sauver)
relancer le bashrc
#. .bashrc
Dans /etc/vim/vimrc
decommenter #syntax on
Installer localepurge
#apt-get install localepurge
selectionner fr / fr_FR / fr_FR@euro et fr_FR.UTF-8
Parametrage du framebuffer de GRUB
vi /boot/grub/menu.lst
ajouter vga=788 a la fin de la fonction kernel
supprimer quiet
commenter #hiddenmenu
Pour verifier la version du noyau
#uname -r
install des outils de compilation, entetes de version et mc
#apt-get install build-essential linux-headers-$(uname -r) mc
Installer Vmware Tools dans le server virtuel Ubuntu :
Dans un premier temps il faut penser à demonter le CD d'ubuntu
#umount /media/cdrom
Dans VmwareServer > Vmware Tools / Install
Copier Vmware Tools dans fichier /root et installer
#mount /media/cdrom
#cp /media/cdrom/VMwareToolsxxxxx.tar.gz /root
#umount /media/cdrom
#uname -r //connaitre la version du noyau
#apt-get install gcc make linux-headers-generic
#cd /root
#tar xvzf VmwareToolsxxxxx.tar.gz
#/root/vmware-tools-ditrib/vmware-install.pl
!!!!!!! Il est possible qu'il y ai un probleme [fail] au demarrage pour monter le volume vmhgfs qui peut presenter une erreur de compil avec le noyau 2.6.24
Pour comprendre ce probleme, premierement faut aller dans le repertoire vmware-tools:
#cd ~/vmware-tools-distrib
La on backup la vieille archive vmhgfs.tar:
#mv lib/modules/source/vmhgfs.tar vmhgfs.tar.bak
on dezippe vmhgfs.tar.orig:
#tar -xvf vmhgfs.tar.orig
on edite vmhgfs-only/compat_slab.h:
#vi vmhgfs-only/compat_slab.h
et on retire les commentaires a partir de :
if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 26) || defined......
jusqu'à la derniere ligne
...end if
puis on , re-tar le repertoire vmhgfs-only dans lib/modules/source/vmhgfs.tar:
#tar -cvf lib/modules/source/vmhgfs.tar vmhgfs-only
et on copy ce nouveau tar dans /usr/lib/vmware-tools/modules/source/ :
#sudo cp lib/modules/source/vmhgfs.tar /usr/lib/vmware-tools modules/source/vmhgfs.tar
maintenant on peut relancer
#sudo vmware-config-tools.pl
on reboot ....
....pour constater que l'erreur est référencée par l'equipe Vmware ! Super...
Si l'erreur rouge [fail] continue d'apparaitre au demarrage ( au moin on a un mot de l'editeur qui nous dis qu'il est au courant) la seule solution pour ne plus voir ce vilain rouge au demarrage, c'est mettre en commentaire la ligne .host hvgfs dans /etc/fstab
http://www.debuntu.org/how-to-vmware-tools-hgfs-module-on-ubuntu-gutsy-gibbon-7.10
Parametrage du reseau - 1h
Pour relancer le dhcp sur NAT : #dhclient
Configuration du reseau :
#dmesg | grep eth0 //voir la config de la carte reseau
#lsmod | grep pcnet //voir la config des modules
!!!!! Si ca n'a pas été fait a l'install de Vmware server on peut configurer une nouvelle interface reseau virtuelle en recompilant vmware-config.pl pour emuler un nouveau composant materiel (reseau host-only / custom)
Configuration initiale de l'hote :
. vmnet8 is a NAT network on private subnet 192.168.254.0.
. vmnet1 is a host-only network on private subnet 192.168.2.0.
. vmnet2 is a host-only network on private subnet 192.168.3.0.
connecter eth0 de la VM sur la meme classe d'adresse que NAT en static
Dans le fichier /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.254.10
netmask 255.255.255.0
network 192.168.254.0
broadcast 192.168.254.255
gateway 192.168.254.2
Eteindre la VM et dans Vmware Infrastucture ajouter une carte réseau eth1 sur vmnet2 :
Installation du VSWITCH-1 dans /etc/network/interface de la VM server
auto eth1
iface eth1 inet static
address 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
gateway 192.168.254.10
dans /etc/resolve.conf
search [domain].[local]
nameserver 192.168.3.1
nameserver 192.168.254.2
Transformez le primary server en routeur
Editez le fichier /etc/rc.local et ajoutez ces lignes au début
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
a decocher dans /etc/sysctl.conf
net.ipv4.ip_forward=1
#reboot
Redémarrez le serveur et vérifiez la route
#iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Tester le routage
#ip route show
#route -n
Creation d'un serveur de depot – 1h
http://doc.ubuntu-fr.org/tutoriel/comment_installer_un_depot_local
http://doc.ubuntu-fr.org/rsync
Créer le fichier /etc/rsyncd.conf
Pid file = /var/run/rsyncd.pid
motd file = /etc/rsyncd.motd
[commun]
path = /home/commun
comment = repertoire commun
read only = no
uid = root
gid = root
[sauv]
path = /root/sauv
comment = repertoire de sauv admin
read only = no
uid = root
gid = root
auth users = admin, administreur
secrets file = /etc/rsync/rsyncd.secrets
relancer rsync
#rsync --daemon //ou #service rsync restart
Commandes coté client :
liste des repertoires rsync du server :
#rsync serveur::
sauve de facon recursive /home/public dans commun
#rsync -r /home/public serveur::commun
sauve le repertoire privé dans le repertoire admin apres saisie du mdp
et supprime du server les fichiers absent du client
#rsync -r –delete /home/prive admin@serveur::admin
Créer un repertoire /core pour le depot
Eventuellement monter un nouveau disque (virtuel) :
dans VM ajouter un vHDD SCSI de 10Go minimum (7Go de données)
créer la partition de montage
#fdisk /dev/sda
//voir les partitions
:q //quit fdisk
#df -h //voir l'espace disque restant
#fdisk /dev/sdb
:n #nouvelle part
#part primaire :e pour étendue...
:w #creer part
Monter la partition
#mkdir /core
#mkfs.ext3 /dev/sdb1 //ou #mke2fs -j /dev/sdb1
Rattacher le point de montage /core a /dev/sdb1
#mount /dev/sdb1 /core
#df -h /core
modifier /etc/fstab pour monter au demarrage
/dev/sdb1 /core ext3 defaults 1 2
Preparer le serveur de depot
Créer les repertoires de depot Hardy,security et updates dans /core
#mkdir -p /core/hardy /core/security /core/updates
installation du package debmirror
#apt-get install debmirror
créer le fichier script miroir.sh
#vi /miroir.sh
#!/bin/bash
clear
if [ $# = 0 ] ; then
echo -e «\n Usage /miroir.sh hardy security updates «
echo -e « \n Au moins un des trois parametres doit etre present »
exit 1
fi
DIST=hardy
DESTINATION= »/core/ »
for i in $* ; do
case $i in
security) echo -e "\n Miroir de security \n"
debmirror -v --cleanup \
--arch=i386 --nosource --method=rsync \
--host=fr.archive.ubuntu.com
--root=:ubuntu/ \
--dist=$DIST-security \
--section=main,restricted \
--debug \
--progress # décommenter pour déboguer
$DESTINATION/security
;;
updates) echo -e "\n Miroir de updates \n"
debmirror -v --cleanup \
--arch=i386 --nosource --method=rsync \
--host=fr.archive.ubuntu.com
--root=:ubuntu/ \
--dist=$DIST-updates \
--section=main,restricted \
# --getcontents \
--debug \
--progress # décommenter pour déboguer
$DESTINATION/updates
;;
hardy) echo -e "\n Miroir de hardy \n"
debmirror -v --cleanup \
--arch=i386 --nosource --method=rsync \
--host=fr.archive.ubuntu.com
--root=:ubuntu/ \
--dist=$DIST \
--section=main,restricted \
# --getcontents \
--debug \
--progress
$DESTINATION/hardy
;;
esac
done
rendre le script executable
#chmod 755 /miroir.sh
tester le script de synchronisation miroir
#/miroir.sh hardy updates security >> très long !!!!!!
On ne prend que main et restricted, universe etant trop volumineux
modifier le fichier /etc/apt/source.list et commenter les server wan
deb file:/core/hardy hardy main restricted
deb file:/core/updates hardy-updates main restricted
deb file:/core/security hardy-security main restricted
tester la config
#apt-get update
#apt-get dist-upgrade
installer apache 2
#apt-get install apache2
modifier /etc/apache2/sites-enabled\000-default en remplacant
/var/www par /core et /core/
relancer apache2
Installation du server DMZ – 1h
Installer la VM
nom : [srvdmz]
Activer le compte root
Parametrer le compte root
Effacer l'écran apres extinction de la console
configuration du reseau dans /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.3.2
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
gateway 192.168.254.2
Configurer le client de depot local (non validé)
dans /etc/apt/sources.list de cette maniere (commenter les multiverse) :
deb http://192.168.3.1/hardy hardy main restricted universe
deb http://192.168.3.1/updates hardy-updates main restricted universe
deb http://192.168.3.1/security hardy-security main restricted universe
mise a jour des packages
#apt-get update
#apt-get dist-upgrade
Création d'un serveur DNS - 1h (non validé)
http://doc.ubuntu-fr.org/bind9
Nom de domaine : [domaine].[local]
Adresse serveur : 192.168.3.1
fichiers concernés :
/etc/bind/named.conf
named.conf.local
named.conf.options
rndc.conf
/etc/resolv.conf
/etc/sysctl.conf
/etc/hosts
/var/cache/bind/db.[domain].[local]
rev.[domain].[local]
Installation de bind9
#apt-get install bind9
Configuration du fichier /etc/bind/named.conf.[local] :
zone "[domain].[local]" IN {
type master;
file "/var/cache/bind/db.[domaine].[local]";
allow-update { none; };
};
zone "3.168.192.in-addr.arpa" IN {
type master;
file "/var/cache/bind/rev.[domaine].[local]";
allow-update { none; };
};
Configuration de l'authentification
creer le fichier de gestion de clé /etc/bind/rndc.conf
key "rndc-key" {
algorithm hmac-md5
secret "[code-rndc]==";
#le code est dans rndc.key
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
ajouter la clé au début de /etc/bind/named.conf
key "rndc-key" {
algorithm hmac-md5
secret "[code-rndc]==";
};
controls {
inet 127.0.0.1 port 953
allow {127.0.0.1; } keys { "rndc-key"; };
};
ajouter le routage NAT dans /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
forward only;
forwarders {
192.168.254.2; //adresse de la gw NAT
};
auth'nxdomain no;
allow-recursion {localnets; };
listen-on-v6 { any; };
};
Changez le group d'appartenance pour les fichiers
#chgrp bind /var/cache/bind/*
verifier /etc/resolv.conf
search [domain].[local]
nameserver 192.168.3.1
nameserver 192.168.254.2
Fichiers de zones DNS
creer /var/cache/bind/db.[domain].[local]
$TTL 3h
@ IN SOA ns.[domain].[local]. root.[domain].local]. (
2008012701
8H
2H
1W
1D )
@ IN NS ns.[domain].local].
@ IN MX 10 [srvmail].[domain].local].
ns A 192.168.3.1
[srvlan] A 192.168.3.1
[srvdmz} A 192.168.3.2
creer /var/cache/bind/rev.[domain].[local]
$TTL 3h
@ IN SOA ns.[domain].[local]. root.[domain].[local]. (
2008012701
8H
2H
1W
1D )
@ IN NS ns.[domain].[local].
@ IN MX 10 [srvmail].[domain].[local].
$ORIGIN 3.168.192.in-addr.arpa.
1 IN PTR ns.[domain].[local].
1 IN PTR [srvmail].[domain].[local].
2 IN PTR [srvdmz].[domain].[local].
modifier /etc/hosts
127.0.0.1 localhost
127.0.1.1 srvlan.localdomain srvlan
192.168.3.1 ns.[domain].[local]
#garder les options ipv6
verifier /etc/default/bind9
RESOLVCONF=yes
redemarrer le server dns
#/etc/init.d/bind9 restart
Si vous avez un probleme, pour regen rndc-key :
# rndc-confgen
Vérifiez les fichiers de configuration
#named-checkconf (OK si rien n'est retourné)
#cd /var/cache/bind/
#named-checkzone -d [domain.local] db.[domain.local]
#named-checkzone -d [domain.local] rev.domain.local]
(sur le fichier rev.yourdomain.local on a toujours une erreur de type: ['primary.yourdomain.local' has no address records (A or AAAA)], mais cela fonctionne quand même. Si vous avez une solution, merci de faire suivre )
Démarrez une seconde console ALT+F2 et tapez
#tail -f /var/log/syslog
Revenez sur la première console et redémarrez le service bind9 ALT+F1
#service bind9 restart
Passez sur la seconde console et analysez les messages d'erreur s'il y en a.
-Si tout est OK passez sur la première console
#ping ns.[domain].[local]
Cela devrait vous retourner l'adresse 192.168.3.1
Si il y a une erreur, re-vérifiez les log du systeme, les scripts, …
Création d'un serveur DHCP – 1h (non validé)
http://doc.ubuntu-fr.org/dhcp3-server
Plage d'adresse : 192.168.3.150 à 200
Domaine : [domain].[local]
fichiers concernés :
/etc/dhcp3/dhcpd.conf
dhclient.conf
/etc/syslog.conf
Installation de dhcp3-server
#apt-get install dhcp3-server
Cela installera le paquet et le configurera, mais génerera également une erreur à l'activation. C'est normal nous allons corriger cela.
Editez le fichier /etc/dhcp3/dhcpd.conf
##### Option générale par défaut #####
### RÉSEAU ###
## Nom du serveur DHCP
server-name "ns.[domain].[local]";
## Mode autoritaire (autoritaire)
authoritative;
## Masque de sous-réseau
option subnet-mask 255.255.255.0;
### DOMAINE ###
## Nom du domaine
option domain-name "[domain].[local]";
## Adresse IP du serveur DNS
# a remplacer par l ip de votre serveur dns ou par celle de votre fai
option domain-name-servers 192.168.3.1;
## Type de mise à jour du DNS (aucune)
ddns-update-style none;
### TEMPS DE RENOUVÈLEMENT DES ADRESSES ###
## par défaut en s (1 h)
default-lease-time 3600;
## maximum (2 h)
max-lease-time 7200;
### Sécurité ###
## refus(deny)/autorise(allow) les clients inconnus (refuse client inconnu)
deny unknown-clients;
## Use this to send dhcp log messages to a different log file (you also
## have to hack syslog.conf to complete the redirection).
log-facility local7;
### PXE ###
## Permet le boot réseau pour TFTP
allow bootp;
allow booting;
##### RÉSEAUX #####
## déclaration sous réseau ADMIN 192.168.3.*
subnet 192.168.3.0 netmask 255.255.255.0 {
# Si vous voulez spécifier un domaine différent de celui par défaut :
option domain-name "[domain].[local]";
## Adresse de diffusion
option broadcast-address 192.168.3.255;
## routeur par défaut
option routers 192.168.3.1;
## Plage d'attribution d'adresse
# Ici débute à 3.150 jusqu'à 3.200
# La plage ne contient qu'1 adresse ce qui empêche l'attribution sauf au client dont celle-ci est fixée.
range 192.168.3.150 192.168.3.200;
## Option pxe nom du fichier servit.
# elilo.efi pour ia64; pxelinux.0 pour x86
# À placer à la racine du serveur TFTP.
# Le fichier peut être spécifié dans la section « host », il deviendra alors prioritaire sur celui-ci
filename "pxelinux.0";
# définit le serveur qui servira le fichier « pxelinux.0 »
next-server 192.168.2.1;
# évalue si l'adresse est déjà attribuée
ping-check = 1;
}
## Déclaration sous réseau NAT 192.168.254.*
subnet 192.168.254.0 netmask 255.255.255.0 {
option broadcast-address 192.168.254.255;
option routers 192.168.254.1;
range 192.168.2.2 192.168.254.2;
ping-check = 1;
filename "pxelinux.0";
next-server 192.168.2.1;
}
#A ajouter apres ajout d'une interface reseau supplémentaire
## Déclaration sous réseau DMZ 192.168.2.*
subnet 192.168.2.0 netmask 255.255.255.0 {
# option domain-name "[domain].[local]";
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
range 192.168.2.1 192.168.2.1;
ping-check = 1;
filename "pxelinux.0";
next-server 192.168.2.1;
}
##### Configuration des hôtes avec IP fixée ####
## hôte « SRVDMZ »
host srvdmz {
# adresse mac de la carte réseau !
# !!! À REMPLACER PAR CELLE DE LA MACHINE !!!
hardware ethernet [mac-addr-srvdmz];
# adresse attribué
fixed-address 192.168.3.2;
### PXE ###
# fichier spécifique à une machine
# filename "debian-installer/ia64/elilo.efi";
# definit le serveur qui servira le fichier pxelinux.0
# next-server 192.168.2.1;
}
-------------------------------------------------------
ddns-update-style none;
option domain-name "[domain].[local]";
option domain-name-servers 192.168.3.1;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.3.0 netmask 255.255.255.0 {
option routers 192.168.3.1;
option subnet-mask 255.255.255.0;
range 192.168.3.150 192.168.3.200;
}
subnet 192.168.254.0 netmask 255.255.255.0 {
option routers 192.168.254.2;
option subnet-mask 255.255.255.0;
}
Editez le fichier /etc/syslog.conf et ajoutez la ligne suivante sous les autres
local7.* -/var/log/dhcp.log
Relancez le service "sysklogd"
#service sysklogd restart
Cela affichera une erreur d'accès au fichier dhcpd.log. C'est normal
Vérification de la configuration
#netstat -rn | grep UG |awk '{print $8}'
#route -n
avec une VM Windows vous pouvez connecter une machine virtuelle, un Windows 2000 par exemple (plus rapide que XP et moins gourmand).
Configurez cette machine virtuelle pour accepter le DHCP et dans une console tapez
C:\>ipconfig /all
Normalement vous devriez recevoir une adresse IP entre 192.168.3.150 et 192.168.3.200
avec une VM Ubuntu Desktop
-Editez le fichier /etc/resolv.conf et ajouter
search [domain].[local]
nameserver 192.168.3.1
domainname [domain].[local]
Vérifiez le DNS par la même occasion en faisant un ping primary.yourdomain.local
Vérifiez pour finir le routage pour l'extérieur avec ping www.google.fr
Il est bon de ne pas s'énerver si une résolution de nom avec ping sur primary ou www.google.fr ne fonctionne pas. La première chose à faire est de connecter une console sur primary et d'utiliser la commande "tail -f /var/log/syslog" afin de voir les messages d'erreurs et les messages d'inscriptions. Il existe également des outils pour vérifier le bon fonctionnement d'un DNS et d'un DHCP "host -v primary.yourdomain.local" et "dig SOA yourdomain.local". Pour plus d'information sur ces commandes, Google est ton ami
Le nom du client doit être unique dans votre réseau, sinon vous aurez des conflits DNS
A ce stade, vous devriez pouvoir accéder au monde extérieur au départ de n'importe quelle machine de votre réseau. Vous devriez pouvoir utiliser la dénomination unique de chacune de vos machine pour résoudre une adresse servie par DNS "ping primary, ping [client name], …" Si tel n'est pas le cas, il y a probablement une explication dans les logs serveur ou client. Bon débugging
Inscription DHCP et DNS dynamique (non validé)
- Editez le fichier /etc/bind/named.conf.local et remplacez toutes les lignes:
allow-update { none; }; -> allow-update { 127.0.0.1; };
- Editez le fichier /etc/dhcp3/dhcpd.conf et ajoutez ou modifiez ces quelques lignes au début du fichier.
ddns-update-style interim;
ddns-updates on;
ignore client-updates;
update-static-leases on;
allow-unknow-clients;
- Ajoutez ces lignes à la fin du même fichier
zone hmn.lan. { primary 127.0.0.1; }
zone 3.168.192.in-addr.arpa. { primary 127.0.0.1; }
Vérification de la configuration
- Redémarrez les services DHCP et DNS
service bind9 restart
service dhcp3-server restart
- Sur le client Windows 2000
c:\>ipconfig /release
c:\>ipconfig /renew
#ping www.google.be
- Sur primary serveur vérifiez la présence des fichiers:
/var/cache/bind/db.yourdomain.local.jnl
/var/cache/bind/rev.yourdomain.local.jnl
- Sur le client Ubuntu Desktop
- Editez le fichier du client linux /etc/dhcp3/dhclient.conf et ajoutez cette ligne.
send host-name "[client name]";
- redemarrer le service
#sudo /etc/init.d/dhcdbd restart
Limiter le champ d'action du DNS au réseau local
Pour que votre DNS ne résolve que les adresses local à yourdomain.local vous devez encore réaliser ces quelques modifications
Éditez le fichier /etc/resolv.conf et supprimez la ligne de référence à l'adresse menant à l'extérieur. Vous ne devriez plus avoir que deux lignes dans votre fichier.
search hmn.lan
nameserver 192.168.3.1
Editez le fichier /etc/bind/named.conf et commentez toutes les lignes de la zone « . » attention, les commentaires sont précédés de « // » et non de « # ».
Editez le fichier /etc/bind/named.conf.options et adaptez le en fonction.
options {
directory "var/cache/bind";
forward only;
forwarders { 192.168.254.2; };
auth-nxdomain no;
allow-recursion { localnets; };
};
Editez enfin le fichier /etc/default/bind9
RESOLVCONF = no
Création d'un time serveur NTP
Redémarrez votre serveur et modifiez si nécessaire l'heure incluse dans le bios de votre vmware.
- Editez le fichier /etc/default/rcS
UTC=yes
- Installez ntp et sa documentation
#apt-get install ntp ntp-doc
Configuration du serveur NTP
- Editez le fichier /etc/ntp.conf
logfile /var/log/ntpd
driftfile /var/lib/ntp/drift
statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# Pour la Belgique
server ntp1.oma.be
server ntp2.oma.be
server 127.127.1.0
fudge 127.127.1.0 stratum 10
restrict default kod notrap nomodify nopeer noquery
restrict 127.0.0.1 nomodify
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap
Vous trouverez plus d'information sur ntp1.oma et ntp2.oma à cette adresse http://www.astro.oma.be/D1/TIME/description_fr.htm
- Stoppez le service
#service ntp stop
- Editez le fichier /etc/default/ntpdate et modifiez le
NTPSERVERS ="0.fr.pool.ntp.org"
- Pour vérifier une bonne synchronisation, vous pouvez exécuter cette commande.
ntpdate -dv 0.fr.pool.ntp.org
La sortie est relativement longue
- Relancez le serveur NTP
service ntp start
Coté client linux
- Editez le fichier /etc/default/ntpdate
NTPSERVERS="192.168.3.1"
Coté client Windows
- Pour WinXP la gestion de l'heure possède un onglet Temps Internet ou vous pouvez renseigner l'adresse 192.168.3.1
- Pour Win2K, il a le service Windows Time.
Changez le mode de démarrage du service sur auto
Dans une console:
net time /setsntp:192.168.3.1
net stop w32time
net start w32time
Création du serveur LDAP
- Installation du serveur LDAP et de quelques outils
#apt-get install slapd db4.2-util ldap-utils
- Répondez aux questions ncursus avec le password de root - Reconfigurez slapd avec dpkg-reconfigure
dpkg-reconfigure slapd
Pas de OpenLDAP
Le nom du domaine : yourdomain.local
Nom de votre organisation: yourdomain
Mot de passe de l'administrateur : [root password]
Module de base de données à utiliser : BDB
Faut-il supprimer la base de données à la purge du paquet ? NON
Faut-il déplacer l'ancienne base de données ? NON
Faut-il autoriser le protocole LDAPv2 ? NON
- Installez les schema LDAP inclus dans un paquet samba
#aptitude install samba-doc
- Décompression et copie dans la bonne directory
#gunzip -c /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz #> /etc/ldap/schema/samba.schema
- Dans une seconde console, cryptez le password de l'administrateur avec la commande slappasswd
#slappasswd
New password:
Re-enter new password:
{SSHA} ............ >>>> noter le hash
- Éditez le fichier /etc/ldap/slapd.conf
ajoutez cette ligne en dessous des autres include:
include /etc/ldap/schema/samba.schema
cherchez la ligne rootdn et supprimez le #
ajoutez juste en dessous de rootdn la ligne suivante
rootpw {SSHA} .......... >>> inscire le code
- Redémarrez le serveur LDAP. Normalement cela doit aller très rapidement:
invoke-rc.d slapd restart
Si vous trouvez une erreur vous pouvez en connaître les causes en utilisant la commande suivante.
#slapd -d 16383
Création du serveur SAMBA
- Installation du serveur SAMBA
#aptitude install samba smbclient smbfs
supprimez l'intégralitée du contenu du fichier /etc/samba/smb.conf
#> /etc/samba/smb.conf
réécrire dedans :
#======================= Global Settings =======================
[global]
workgroup = <Your DOMAIN name>
netbios name = primary
server string = Samba-LDAP PDC Server
domain master = Yes
local master = Yes
domain logons = Yes
os level = 40
#passwd program = /usr/sbin/smbldap-passwd ?u %u
ldap passwd sync = Yes
passdb backend = ldapsam:ldap://127.0.0.1/
ldap admin dn = cn=admin,dc=yourdomain,dc=local
ldap suffix = dc=yourdomain,dc=local
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Machines
add user script = /usr/sbin/smbldap-useradd -m "%u"
ldap delete dn = Yes
delete user script = /usr/sbin/smbldap-userdel "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
#delete group script = /usr/sbin/smbldap-groupdel "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
logon path = \\%L\profile\%U
logon drive = H:
logon home = \\%L\%U
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
case sensitive = No
default case = lower
preserve case = yes
short preserve case = Yes
#character set = iso8859-1
#domain admin group = @admin
dns proxy = No
wins support = Yes
hosts allow = 192.168.2. 127.
### A changer 192.168.2
winbind use default domain = Yes
nt acl support = Yes
msdfs root = Yes
hide files = /desktop.ini/ntuser.ini/NTUSER.*/
### FIN DE LA PARTIE GLOBALE #####
#======================= Share Settings =======================
[netlogon]
#Contient les éventuels scripts qui sont exécutés à chaque connexion d'un utilisateur (.bat)
path = /home/netlogon
writable = No
browseable = No
write list = Administrateur
[profile]
#Contient les profils windows de chaque utilisateur, ils sont créés automatiquement pour les nouveaux
path = /home/export/profile
browseable = No
writeable = Yes
profile acls = yes
create mask = 0700
directory mask = 0700
[homes]
#Les répertoires personnels linux sont aussi partagés
comment = Repertoire Personnel
browseable = No
writeable = Yes
[partage]
#Partage commun à tous les utilisateurs du domaine
comment = Repertoire commun
browseable = Yes
writeable = Yes
public = No
path = /home/partage
Création des partages SAMBA
Le fichier smb.conf défini quelques share SAMBA
- Créez les répertoires
mkdir -p /home/netlogon
mkdir -p /home/export/profile
mkdir -p /home/partage
- Installez les sécuritées
chmod a+w /home/export
chmod a+w /home/export/profile
chmod a+w /home/partage
Liaison SAMBA et LDAP
- Installez les smbldap-tools
apt-get install smbldap-tools
- Créez le fichier /etc/smbldap-tools/smbldap_bind.conf et copiez / modifiez ces lignes
slaveDN="cn=admin,dc=yourdomain,dc=local"
slavePw=[votre mot de passe en clair]
masterDN="cn=admin,dc=yourdomain,dc=local"
masterPw=[votre mot de passe en clair]
- Votre mot de passe étant en clair dans le fichier, il faut modifier la sécurité
chmod 600 /etc/smbldap-tools/smbldap_bind.conf
- Créez le fichier /etc/smbldap-tools/smbldap.conf et copiez / modifiez ces lignes
slaveLDAP="127.0.0.1"
slavePort="389"
masterLDAP="127.0.0.1"
masterPort="389"
ldapTLS="0"
verify="require"
suffix="dc=youdomaine,dc=local"
### A changer : yourdomain
usersdn="ou=Users,${suffix}"
computersdn="ou=Machines,${suffix}"
groupsdn="ou=Groups,${suffix}"
idmapdn="ou=Idmap,${suffix}"
sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"
scope="sub"
hash_encrypt="SSHA"
crypt_salt_format="%s"
userLoginShell="/bin/bash"
userHome="/home/%U"
userHomeDirectoryMode="700"
#Nom d'affichage - utiliser smbldap-useradd -c
userGecos="User"
defaultUserGid="513"
defaultComputerGid="515"
skeletonDir="/etc/skel"
#Les mots de passe expirent dans 10ans
defaultMaxPasswordAge="3650"
with_smbpasswd="0"
smbpasswd="/usr/bin/smbpasswd"
with_slappasswd="0"
slappasswd="/usr/sbin/slappasswd"
- Stopez le serveur SAMBA
service samba stop
- Ajoutez dans SAMBA le mot de passe de l'administrateur [root]
smbpasswd -w votremotdepasseroot
Setting stored password for "cn=admin,dc=olituks,dc=local" in secrets.tdb
- Redémarrez le serveur SAMBA
service samba start
Vérifiez l'installation
- Avec la commade net getlocalsid vous allez obtenir le SID du PDC SAMBA
net getlocalsid
SID for domain PRIMARY is: S-1-5-21-.......
----------------------------------------------------------
Peuplez le directory LDAP
smbldap-populate
smbldap-populate
Populating LDAP directory for domain olituks (S-1-5-21-1103990800-3677365298-610989769)
(using builtin directory structure)
entry dc=olituks,dc=local already exist.
adding new entry: ou=Users,dc=yourdomain,dc=local
adding new entry: ou=Groups,dc=yourdomain,dc=local
adding new entry: ou=Machines,dc=yourdomain,dc=local
adding new entry: ou=Idmap,dc=yourdomain,dc=local
adding new entry: uid=root,ou=Users,dc=yourdomain,dc=local
adding new entry: uid=nobody,ou=Users,dc=yourdomain,dc=local
adding new entry: cn=Domain Admins,ou=Groups,dc=yourdomain,dc=local
adding new entry: cn=Domain Users,ou=Groups,dc=yourdomain,dc=local
adding new entry: cn=Domain Guests,ou=Groups,dc=yourdomain,dc=local
adding new entry: cn=Domain Computers,ou=Groups,dc=yourdomain,dc=local
adding new entry: cn=Administrators,ou=Groups,dc=yourdomain,dc=local
adding new entry: cn=Account Operators,ou=Groups,dc=yourdomain,dc=local
adding new entry: cn=Print Operators,ou=Groups,dc=yourdomain,dc=local
adding new entry: cn=Backup Operators,ou=Groups,dc=yourdomain,dc=local
adding new entry: cn=Replicators,ou=Groups,dc=yourdomain,dc=local
adding new entry: cn=NextFreeUnixId,dc=yourdomain,dc=local
Please provide a password for the domain root:
Changing UNIX and samba passwords for root
New password:
Retype new password:
Cette commande crée: Les différentes OU (Organisation Unit) qui contiendront vos Machines, Users et Groups Deux UID : root et nobody qui seront dans OU = Users Plusieurs CN (Common Name): Les groupes qui seront dans OU = Groups
Test de LDAP
- Création du premier utilisateur test de LDAP
smbldap-useradd -a -c "Test Test" -m -P test
Changing UNIX and samba passwords for test
New password: test
Retype new password: test
-a : désigne un utilisateur
-c : Information Gecos : Le nom entier
-m : Créé le répertoire personnel
-P : création du mot de passefind / -type f | xargs grep "mot"
Pour plus d'aide smbldap-useradd -?
- Vérifiez que les utilisateurs test et root sont bien dans LDAP
smbldap-usershow test
dn: uid=test,ou=Users,dc=yourdomain,dc=local
objectClass: top,person,organizationalPerson,inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount
cn: test
sn: test
givenName: test
uid: test
uidNumber: 1000
gidNumber: 513
homeDirectory: /home/test
loginShell: /bin/bash
gecos: Test Test
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
displayName: Test Test
sambaSID: S-1-5-21-573247406-3271121105-2462534053-3000
sambaPrimaryGroupSID: S-1-5-21-573247406-3271121105-2462534053-513
sambaLMPassword: 01FC5A6BE7BC6929AAD3B435B51404EE
sambaAcctFlags: [u]
sambaNTPassword: 0CB6948805F797BF2A82807973B89537
sambaPwdLastSet: 1203761173
sambaPwdMustChange: 1519121173
userPassword: {SSHA}4AxHgHKTY3axTAMx02Zu22k4jeJVbGN3
smbldap-usershow root
dn: uid=root,ou=Users,dc=olituks,dc=local
cn: root
sn: root
objectClass: top,person,organizationalPerson,inetOrgPerson,sambaSamAccount,posixAccount,shadowAccount
gidNumber: 0
uid: root
uidNumber: 0
homeDirectory: /home/root
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPrimaryGroupSID: S-1-5-21-1103990800-3677365298-610989769-512
sambaSID: S-1-5-21-1103990800-3677365298-610989769-500
loginShell: /bin/false
gecos: Netbios Domain Administrator
sambaLMPassword: 69C840086777BE8372D82CC5E4DD778E
sambaAcctFlags: [u]
sambaNTPassword: 98748519A0FAAEC727B0A34CA66C3358
sambaPwdLastSet: 1202326380
sambaPwdMustChange: 1517686380
userPassword: {SSHA}..................
Modification du système d'authentification sur primary
- Installation des paquets nécessaires
apt-get install auth-client-config libpam-ldap libnss-ldap libpam-mount smbfs
- Répondez aux questions qui vous sont posées comme suit.
Should debconf manage LDAP configuration?: Yes
LDAP server Uniform Resource Identifier: ldapi://192.168.2.1/
Distinguished name of the search base: dc=yourdomain,dc=local
LDAP version to use: 3
Make local root Database admin: Yes
Does the LDAP database require login? No
LDAP account for root: cn=admin,dc=yourdomain,dc=local
LDAP root account password: [root password]
Ne pas convertir en xml .....
Étant donné qu'il n'y a pas de mots de passe dans ce fichier nous pouvons nous permettre de ne pas limiter l'accès uniquement à root et permettre ainsi à tous le monde de pouvoir voir l'annuaire
- Editez le fichier /etc/ldap.conf et modifiez le
base dc=yourdomain,dc=local
uri ldap://192.168.2.1/
rootbinddn cn=admin,dc=yourdomain,dc=local
bind_policy soft
pam_password md5
- Copiez ensuite le fichier /etc/ldap.conf dans /etc/ldap/ldap.conf
cp /etc/ldap.conf /etc/ldap/ldap.conf
- Éditez le fichier /etc/nsswitch.conf et modifiez le comme suit.
passwd: compat ldap
group: compat ldap
shadow: compat ldap
Il est préférable de garder une console en réserve avec un compte root activé car si ici il y a un problème, vous ne pourrez plus vous authentifier !!!!
- Éditez le fichier /etc/pam.d/common-pammount
auth optional pam_mount.so use_first_pass
session optional pam_mount.so use_first_pass
- Créez un nouveau fichier /etc/auth-client-config/profile.d/open_ldap et copié / collé la suite.
[open_ldap]
nss_passwd=passwd: compat ldap
nss_group=group: compat ldap
nss_shadow=shadow: compat ldap
pam_auth=auth sufficient pam_unix.so
auth required pam_group.so use_first_pass
auth required pam_mount.so use_first_pass
auth required pam_ldap.so use_first_pass
pam_account=account sufficient pam_unix.so
account required pam_ldap.so use_first_pass
account required pam_mount.so use_first_pass
pam_password=password sufficient pam_unix.so nullok obscure min=4 max=8 md5
password required pam_mount.so use_first_pass
password required pam_ldap.so use_first_pass
pam_session=session sufficient pam_unix.so
session optional pam_mkhomedir.so skel=/etc/skel/
session optional pam_mount.so use_first_pass
Il est important pour ce fichier de garder la même ventilation que celle introduite. Si tel n'est pas le cas, vous pourriez avoir des problèmes avec la commande qui activera l'authentification LDAP pour le client.
- Créez un backup du fichier nsswitch.conf
cp /etc/nsswitch.conf /etc/nsswitch.conf.bak
- Créez un backup des fichier de configuration de pam
cd /etc/pam.d/
mkdir pam.d.bak
cp * pam.d.bak/
- Activez l'authentification LDAP pour votre client
auth-client-config -a -p open_ldap
Si tout se passe bien avec cette commande, vous devriez pouvoir au prochain reboot vous connecter avec un login LDAP et ou local.
Ajout du client Windows
- Démarrez votre client Windows 2000
Ouvrez une session en local admin
Clickez droit sur My Computer -> Properties
Cochez la case DOMAIN NAME et insérer YOURDOMAIN
Introduisez le password pour root.
Attendez d'avoir le message de bien venue.
Redémarez.
Il est possible que juste après le premier démarrage de votre Windows2000 il ne vous permettent pas de vous connecter au DOMAIN. Il faut dans ce cas attendre une ou deux minutes le temps que le client retrouve ses jeunes avec le domain controleur SAMBA. Le message qui vous est indiqué, est qu'il ne trouve pas l'utilisateur ROOT.
- Connectez vous au logon avec le compte test que vous aviez créé lors de la configuration validation de LDAP. Cet utilisateur n'est pas connu de linux. Il se trouve configuré uniquement dans l'annulaire LDAP. Si la connexion fonctionne, c'est la preuve par 9 que tout et fonctionnel.
- Vérifiez les mapping automatique dans votre client Windows.
Vous devriez avoir un drive P:\
- Faite un logoff du client windows et passez sur le serveur primary
- Ouvrez la directory /home/export/profile/test vous devriez avoir des fichiers windows dans ce folder qui sont en réalité les fichiers du profil utilisateur test.
- Vous trouverez également une directory test dans la root de home qui est en réalité le mapping sur la directory P:\ du windows client. Mais également la directory home d'un logon sur linux. De cette manière, vous pouvez partager vos fichier privé (réservé à l'utilisateur test par exemple)
Configuration du client linux
Le client linux à ce stade doit être capable de se connecter à la session et d'avoir une configuration réseau fournie par le DHCP / DNS. Il doit être à jour et avoir un accès au monde extérieur. Si ce n'est pas le cas, allez voir plus haut ce qu'il faut faire pour que cela fonctionne.
Exécutez les même modifications du système d'authentification que celles exécutées sur le serveur PRIMARY avant d'ajouter celle-ci !
Installation des paquets nécessaires
apt-get install auth-client-config libpam-ldap libnss-ldap libpam-mount smbfs
- Répondez aux questions qui vous sont posées comme suit.
Should debconf manage LDAP configuration?: Yes
LDAP server Uniform Resource Identifier: ldapi://192.168.2.1/
Distinguished name of the search base: dc=yourdomain,dc=local
LDAP version to use: 3
Make local root Database admin: Yes
Does the LDAP database require login? No
LDAP account for root: cn=admin,dc=yourdomain,dc=local
LDAP root account password: [root password]
Ne pas convertir en xml .....
Étant donné qu'il n'y a pas de mots de passe dans ce fichier nous pouvons nous permettre de ne pas limiter l'accès uniquement à root et permettre ainsi à tous le monde de pouvoir voir l'annuaire
- Editez le fichier /etc/ldap.conf et modifiez le
base dc=yourdomain,dc=local
uri ldap://192.168.2.1/
rootbinddn cn=admin,dc=yourdomain,dc=local
bind_policy soft
pam_password md5
- Copiez ensuite le fichier /etc/ldap.conf dans /etc/ldap/ldap.conf
cp /etc/ldap.conf /etc/ldap/ldap.conf
- Éditez le fichier /etc/nsswitch.conf et modifiez le comme suit.
passwd: compat ldap
group: compat ldap
shadow: compat ldap
Il est préférable de garder une console en réserve avec un compte root activé car si ici il y a un problème, vous ne pourrez plus vous authentifier !!!!
- Éditez le fichier /etc/pam.d/common-pammount
auth optional pam_mount.so use_first_pass
session optional pam_mount.so use_first_pass
- Créez un nouveau fichier /etc/auth-client-config/profile.d/open_ldap et copié / collé la suite.
[open_ldap]
nss_passwd=passwd: compat ldap
nss_group=group: compat ldap
nss_shadow=shadow: compat ldap
pam_auth=auth sufficient pam_unix.so
auth required pam_group.so use_first_pass
auth required pam_mount.so use_first_pass
auth required pam_ldap.so use_first_pass
pam_account=account sufficient pam_unix.so
account required pam_ldap.so use_first_pass
account required pam_mount.so use_first_pass
pam_password=password sufficient pam_unix.so nullok obscure min=4 max=8 md5
password required pam_mount.so use_first_pass
password required pam_ldap.so use_first_pass
pam_session=session sufficient pam_unix.so
session optional pam_mkhomedir.so skel=/etc/skel/
session optional pam_mount.so use_first_pass
Il est important pour ce fichier de garder la même ventilation que celle introduite. Si tel n'est pas le cas, vous pourriez avoir des problèmes avec la commande qui activera l'authentification LDAP pour le client.
- Créez un backup du fichier nsswitch.conf
cp /etc/nsswitch.conf /etc/nsswitch.conf.bak
- Créez un backup des fichier de configuration de pam
cd /etc/pam.d/
mkdir pam.d.bak
cp * pam.d.bak/
- Activez l'authentification LDAP pour votre client
auth-client-config -a -p open_ldap
Si tout se passe bien avec cette commande, vous devriez pouvoir au prochain reboot vous connecter avec un login LDAP et ou local.
- Éditez le fichier /etc/pam.d/gdm et remplacez son contenu
#%PAM-1.0
auth required pam_mount.so
auth required pam_group.so use_first_pass
auth sufficient pam_ldap.so use_first_pass
auth required pam_unix.so use_first_pass
auth required pam_env.so
account sufficient pam_ldap.so
account sufficient pam_unix.so
password required pam_unix.so nullok obscure min=4 max=8 md5
session required pam_unix.so
session optional pam_mkhomedir.so skel=/etc/skel/
session optional pam_mount.so
- Éditez le fichier /etc/pam.d/gdm-autologin et remplacez son contenu (le contenu est le même que pour le fichier précédent)
#%PAM-1.0
auth required pam_mount.so
auth required pam_group.so use_first_pass
auth sufficient pam_ldap.so use_first_pass
auth required pam_unix.so use_first_pass
auth required pam_env.so
account sufficient pam_ldap.so
account sufficient pam_unix.so
password required pam_unix.so nullok obscure min=4 max=8 md5
session required pam_unix.so
session optional pam_mkhomedir.so skel=/etc/skel/
session optional pam_mount.so
Automount des directory partagées sur le client linux
- Editez le fichier /etc/security/pam_mount.conf et à la ligne 173 ajoutez ces lignes.
volume * smbfs 192.168.3.1 & /media/&' sur primary' uid=&,gid=&,dmask=777,fmask=777 - -
volume * smbfs IP_MonServeur profscommun /media/profscommun' sur MonServeur' uid=&,gid=&,dmask=777,fmask=777 - -
volume * smbfs IP_MonServeur classes /media/classes' sur MonServeur' uid=&,gid=&,dmask=777,fmask=777 - -
volume * smbfs IP_MonServeur public /media/public' sur sur MonServeur' uid=&,gid=&,dmask=777,fmask=777 - -
volume * smbfs IP_MonServeur install /media/install' sur sur MonServeur' uid=&,gid=&,dmask=777,fmask=777 - -
Utilisation de la carte son, USB, lecteur amovible, ...
- Editez le fichier /etc/security/group.conf et ajoutez ces lignes
*;*;*;Al00002400;floppy,audio,cdrom,video,plugdev,scanner
Les test avant le grand saut
- Utilisez la commande suivante pour lister le contenu de l'annuaire LDAP
getent passwd
Si vous voyez l'utilisateur test créé précédemment et connu uniquement de LDAP c'est gagné. Vous devriez être en mesure de vous authentifier. Si non, il y a un problème. Le mieux comme toujours est de regarder les logs et de vérifier les fichier de customisation. - redémarrez la machine et connectez vous avec l'utilisateur test de l'annuaire LDAP.
Cela devrait vous montrer dans GDM un petit panneau indiquant la création de la directory home pour votre nouvel utilisateur et vous donnez accès après quelques échanges réseau avec le serveur au bureau linux en tant que simple utilisateur.
Problèmes rencontrés pendant la configuration du server et des clients
Lors de mes tests en VMWARE Serveur j'ai constaté deux phénomènes très étranges.
Le premier étant sur le serveur primary, un blocage régulier au démarrage de bind oblige de redémarrer le serveur une ou deux fois avant de pouvoir l'utiliser.
Le second c'est avec le client linux. (l'étape ou vous devriez être arrivé maintenant). UDEV m'a créé une mauvaise règle dans /etc/udev/rules.d/70-persistent-net.rules. La règle n'était pas bonne car l'adresse MAC de la carte réseau virtuel avait changé, sans doute, suite à l'installation des vmware tools. Donc, au démarrage de la machine client linux, le nom de l'interface était passé à eth2 plus tôt que eth0. J'ai modifié le fichier 70-persistent-net.rules en indiquant à eth0 que l'adresse mac avait changé et tout est rentré dans l'ordre. Ce problème-ci était important, car il m'empêchait de me connecter à LDAP serveur, de joindre les adresses extérieures tout en me permettant de me connecter dans mon subnet et donc de voir le client windows et primary via uniquement leur adresse IP ! de quoi y perdre son latin quoi …
Là aussi, si vous avez des idées, je suis preneur.
Installation de Webmin sur primary
Ajoutez le dépôt suivant à vos sources de mises à jour puis installez le paquet webmin.
deb http://download.webmin.com/download/repository sarge contrib
Hors ligne