52 lines
1.5 KiB
Bash
52 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
# Vérifier si le script est exécuté avec les privilèges root
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "Ce script doit être exécuté en tant que root"
|
|
exit 1
|
|
fi
|
|
|
|
# Demander à l'utilisateur d'entrer les informations réseau
|
|
read -p "Entrez l'adresse IP (ex: 192.168.1.100/24): " ip_address
|
|
read -p "Entrez la passerelle (gateway) (ex: 192.168.1.1): " gateway
|
|
read -p "Entrez les serveurs DNS, séparés par des espaces (ex: 8.8.8.8 8.8.4.4): " dns_servers
|
|
|
|
# Chemin du fichier Netplan par défaut (à adapter si nécessaire)
|
|
default_netplan_file="/etc/netplan/*.yaml"
|
|
|
|
# Renommer le fichier Netplan par défaut
|
|
if ls $default_netplan_file 1> /dev/null 2>&1; then
|
|
mv /etc/netplan/*.yaml /etc/netplan/01-netcfg-backup.yaml
|
|
echo "Le fichier Netplan par défaut a été renommé en 01-netcfg-backup.yaml"
|
|
else
|
|
echo "Aucun fichier Netplan par défaut trouvé, un nouveau sera créé."
|
|
fi
|
|
|
|
# Créer le nouveau fichier Netplan
|
|
new_netplan_file="/etc/netplan/50-home-config.yaml"
|
|
|
|
cat <<EOL > $new_netplan_file
|
|
network:
|
|
version: 2
|
|
renderer: networkd
|
|
ethernets:
|
|
eth0:
|
|
dhcp4: no
|
|
addresses:
|
|
- $ip_address
|
|
gateway4: $gateway
|
|
nameservers:
|
|
addresses:
|
|
- $(echo $dns_servers | sed 's/ /\\n - /g')
|
|
EOL
|
|
|
|
# Afficher le contenu du nouveau fichier Netplan
|
|
echo "Le fichier Netplan suivant a été créé : $new_netplan_file"
|
|
cat $new_netplan_file
|
|
|
|
# Appliquer la configuration Netplan
|
|
echo "Application de la nouvelle configuration Netplan..."
|
|
sudo netplan apply
|
|
|
|
echo "Configuration appliquée avec succès."
|