-
Notifications
You must be signed in to change notification settings - Fork 7
/
configred.sh
executable file
·66 lines (55 loc) · 2 KB
/
configred.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash
source funciones.sh
compruebaRoot
if [ $# -ne 6 ]; then
echo-r "[AVISO] Este script espera 6 argumentos"
echo "{ interfaz dirRed ip puerta netMask dns }"
echo "Ejemplo de uso:"
echo " $0 eth0 192.168.1.0 192.168.1.13 192.168.1.1 255.255.255.0 '9.9.9.9 8.8.8.8'"
exit
fi
interfaz=$1
red=$2
ip=$3
puerta=$4
netmask=$5
dns=$6
echo "Bienvenido al configurador de red automático"
echo "Las interfaces detectadas son las siguientes"
ip a | grep "^[0-9]:" | awk -F: '{ print $2 }'
echo -e "\nLos datos introducidos son los siguientes:"
echo " - Interfaz: $interfaz"
echo " - Dirección de red: $red"
echo " - IP de la máquina: $ip"
echo " - Puerta de enlace: $puerta"
echo " - Máscara: $netmask"
echo " - Servdores DNS: $dns"
echo
read -p "La información es correcta?[S/n] " res
[[ "$res" =~ [Nn] ]] && exit
echo "Hacemos copia de seguirdad (el fichero será interfaces2)"
cp /etc/network/interfaces /etc/network/interfaces2
ficheroInterfaces="/etc/network/interfaces"
interfichero=$(ip a | grep $interfaz | awk -F: '{ print $2 }')
# Comprobamos si la interfaz introducida ya existe en el fichero, para no duplicarla
if ! [[ "$interfichero" =~ $interfaz ]]; then
echo "auto $interfaz" >> $ficheroInterfaces
echo "iface $interfaz inet static" >> $ficheroInterfaces
echo "address $ip" >> $ficheroInterfaces
echo "netmask $netmask" >> $ficheroInterfaces
echo "network $red" >> $ficheroInterfaces
echo "gateway $puerta" >> $ficheroInterfaces
echo "dns-nameservers $dns" >> $ficheroInterfaces
else
sed -i 's/dhcp/static/g' $ficheroInterfaces
echo "address $ip" >> $ficheroInterfaces
echo "netmask $netmask" >> $ficheroInterfaces
echo "network $red" >> $ficheroInterfaces
echo "gateway $puerta" >> $ficheroInterfaces
echo "dns-nameservers $dns" >> $ficheroInterfaces
fi
echo "Configuración acabada"
echo "Recuerde modificar el los ficheros hosts y resolv.conf si fuera necesario"
if service networking restart; then
echo "se ha reiniciado la tarjeta de red"
fi