|
| 1 | +#!/bin/bash |
| 2 | +## dieses Skript dient zur statischen IPv4-Konfiguration der debian-vm |
| 3 | +# Aktuelles Datum im Format JJJJMMTT_HHMMSS |
| 4 | +CURRENT_DATE=$(date +"%Y%m%d_%H%M%S") |
| 5 | + |
| 6 | +# Netzwerkeinstellungen |
| 7 | +NETMASK="255.0.0.0" |
| 8 | +GATEWAY="10.16.1.245" |
| 9 | +DNS_SERVER="10.16.1.253" |
| 10 | +INTERFACE_NAME="enp0s3" |
| 11 | + |
| 12 | +# Benutzereingabe für Raumnummer und PC-Nummer |
| 13 | +display() { |
| 14 | +echo "####################################" |
| 15 | +echo " Virtualbox - Network Setup" |
| 16 | +echo "####################################" |
| 17 | +echo |
| 18 | +} |
| 19 | + |
| 20 | +clear |
| 21 | +display |
| 22 | +read -p "Geben Sie die Raumnummer ein: " RAUM_NUMMER |
| 23 | +read -p "Geben Sie die PC-Nummer ein: " PC_NUMMER |
| 24 | + |
| 25 | +# Überprüfen, ob die Eingaben numerisch sind |
| 26 | +if ! [[ "$RAUM_NUMMER" =~ ^[0-9]+$ ]] || ! [[ "$PC_NUMMER" =~ ^[0-9]+$ ]]; then |
| 27 | + echo "Fehler: Raumnummer und PC-Nummer müssen numerisch sein." |
| 28 | + exit 1 |
| 29 | +fi |
| 30 | + |
| 31 | +# IP-Adresse erstellen (192.168.raumnummer.pcnummer + 200) |
| 32 | +IP_ADDRESS="10.16.$RAUM_NUMMER.$((PC_NUMMER + 200))" |
| 33 | + |
| 34 | +# Netzwerkkonfiguration sichern |
| 35 | +cp /etc/network/interfaces "/etc/network/interfaces_$CURRENT_DATE.backup" |
| 36 | + |
| 37 | +# resolv.conf sichern |
| 38 | +cp /etc/resolv.conf "/etc/resolv.conf_$CURRENT_DATE.backup" |
| 39 | + |
| 40 | +# Netzwerkkonfiguration aktualisieren |
| 41 | +cat <<EOL > /etc/network/interfaces |
| 42 | +# Loopback-Schnittstelle |
| 43 | +auto lo |
| 44 | +iface lo inet loopback |
| 45 | +
|
| 46 | +# Die primäre Netzwerkschnittstelle |
| 47 | +auto $INTERFACE_NAME |
| 48 | +iface $INTERFACE_NAME inet static |
| 49 | + address $IP_ADDRESS |
| 50 | + netmask $NETMASK |
| 51 | + gateway $GATEWAY |
| 52 | +EOL |
| 53 | + |
| 54 | +# DNS-Konfiguration aktualisieren oder hinzufügen |
| 55 | +if grep -q "nameserver" /etc/resolv.conf; then |
| 56 | + cp /etc/resolv.conf "/etc/resolv.conf_$CURRENT_DATE.backup" |
| 57 | + sed -i "s/nameserver.*/nameserver $DNS_SERVER/" /etc/resolv.conf |
| 58 | +else |
| 59 | + echo "nameserver $DNS_SERVER" >> /etc/resolv.conf |
| 60 | +fi |
| 61 | + |
| 62 | +# Netzwerkschnittstelle neu starten |
| 63 | +systemctl restart networking |
| 64 | + |
| 65 | + |
| 66 | +clear |
| 67 | +display |
| 68 | +echo "Statische Netzwerkkonfiguration für IPv4 wurde aktualisiert. Backups erstellt: /etc/network/interfaces_$CURRENT_DATE.backup und /etc/resolv.conf_$CURRENT_DATE.backup" |
0 commit comments