192.168.56.101 server
192.168.56.102 client01
192.168.56.103 client02
192.168.56.104 client03
192.168.56.105 client04
192.168.56.106 client05
192.168.56.107 client06
192.168.56.108 client07
192.168.56.109 client08
192.168.56.110 client09
192.168.56.111 client10
192.168.56.112 client11
192.168.56.113 client12
192.168.56.114 client13
192.168.56.116 client14
192.168.56.117 client15
192.168.56.118 client16
192.168.56.119 client17
192.168.56.121 client19
192.168.56.122 client20
MACHINE_LISTE=machines
IF=enp0s3
DOMAINE_IP="ubo.local"
machines
and param
. Mettre les fichiers dans le dossier ase20
.set_network.sh
. Ce fichier est utilisé comme le script de configuration.verify_network.sh
. Ce fichier est utilisé plus tard pour vérifier la configuration.$ ./set_network.sh [nom_machine]
machines
param
et machines
sudo ./set_network server
set_network
, on n'a qu'un paramètre d'entrée.machines
ifconfig
(voir étape 2)./etc/netplan/01-network-manager-all.yaml
(voir étape 3)./etc/hosts
(voir étape 4)./etc/hostname
et la commande hostname
(voir étape 5).param
.machines
.
Cependant, dans la pratique, la liste est beaucoup plus longue.
ifconfig
$ ifconfig
$ ifconfig interface_reseau adresse_ip
param
(variable IF
)cut
dans le script ci-dessous :
ip=$( grep server machines | cut -d ' ' -f 1 )
echo $ip
$ip
et le nom de l'interface réseau trouvé dans le fichier param
pour modifier l'adresse IP.
ifconfig
.
Voici un example du résultat attendu :
grep
et cut
pour obtenir l'addresse IP.
*-network-manager-all.yaml
)
exist()
, replace_line()
, et add_line()
et modifier le fichier /etc/netplan/01-network-manager-all.yaml
afin d'avoir la configuration ci-dessous.
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
[nom de l'interface réseau]:
dhcp4: no
addresses: [adresse IP de la machine avec le nom donné comme le paramètre d'entrée du script/24]
gateway4: 192.168.56.100
$ sudo netplan apply
.
Si le fichier 01-network-manager-all.yaml
n'est pas bien configuré, il y aura des erreurs." "
/etc/hosts
.
Le fichier est utilisé sous tous les systèmes d’exploitations lors de l’accès à Internet, ce fichier est consulté avant l’accès au server DNS.
/etc/hosts
.
On spécifie l'adresse IP, le nom complet ([nom d'hôte].[nom de domaine]) et éventuellement un alias.
127.0.0.1 localhost
192.168.56.101 server.ubo.local server
192.168.56.102 client01.ubo.local client01
...
for
:
IFS=$'\n' # make newlines the only separator
for a in $( cat file_name )
do
echo "$a"
done
/etc/hosts
IFS=$'\n'
.
Pourquoi nous avons besoin de cette ligne pour lire le fichier file_name
ligne par ligne avec la boucle "for".
hostname [nom_de_machine].[nom_de_domaine]
/etc/hostname
echo [nom_de_machine].[nom_de_domaine] > /etc/hostname
server
et un client
.
N'oublier pas de bien configurer le réseau (Virtual Box) et le dossier partagé de la 2eme VM.
set_network
dans les 2 VMs
$ set_network server
$ set_network client01
ping
$ ping client01
$ ping server
verify_network [nom_machine]
ping
set_network.sh
& verify_network.sh
verify_network.sh