-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcontrolpc.sh
264 lines (185 loc) · 7.9 KB
/
controlpc.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
#!/bin/bash
parametro=$1
# Si el parametro es "offwan" bloqueamos el trafico general y habilitamos la red local
if [ "$parametro" = "offwan" ]; then
# Reseteamos las politicas y las establecemos nuevas
sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t nat -Z
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -t mangle -Z
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
# Bloquemos trafico general y permitimos solo local
sudo iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
sudo iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
sudo iptables -A OUTPUT -j DROP
sudo iptables -A INPUT -j DROP
echo "Tráfico de internet (WAN) bloqueado, solo se permite tráfico via LAN"
echo "Fin de la operacion $parametro"
exit
# Si se pasa el parámetro "offlan", bloqueamos todo el tráfico LAN
elif [ "$parametro" = "offlan" ]; then
# Reseteamos las politicas y las establecemos nuevas
sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t nat -Z
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -t mangle -Z
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
# Bloquemos trafico general
sudo iptables -A OUTPUT -j DROP
sudo iptables -A INPUT -j DROP
echo "Fin de la operacion $parametro"
exit
# Si el parametro es "onlan" habilitamos la red local
elif [ "$parametro" = "onlan" ]; then
# Reseteamos las politicas y las establecemos nuevas
sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t nat -Z
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -t mangle -Z
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
# Bloquemos trafico general y permitimos solo local
sudo iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
sudo iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
sudo iptables -A OUTPUT -j DROP
sudo iptables -A INPUT -j DROP
echo "Tráfico de internet (WAN) bloqueado, solo se permite tráfico via LAN"
echo "Fin de la operacion $parametro"
exit
# Si se pasa el parámetro "onlanwan", permitimos todo el tráfico
elif [ "$parametro" = "onlanwan" ]; then
# Reseteo de politicas se permite todo
sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t nat -Z
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -t mangle -Z
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
echo "Se permite todo el tráfico de internet y lan"
echo "Fin de la operacion $parametro"
exit
# Si se pasa el parámetro "moncpu", monitoreamos cpu y guardamos en fichero
elif [ "$parametro" = "moncpu" ]; then
# Monitoreamos cpu
echo "**** Monitoreando cpu ******* "
sudo mkdir -p /home/vboxuser/Escritorio/monitoreo
sudo top -b -n 50 >/home/vboxuser/Escritorio/monitoreo/uso_cpu.txt
echo "Fin de la operacion $parametro"
exit
# Si se pasa el parámetro "monred", monitoreamos la red y guardamos en fichero
elif [ "$parametro" = "monred" ]; then
# Monitoreamos red
echo "**** Monitoreando interfaz de red ******* "
sudo mkdir -p /home/vboxuser/Escritorio/monitoreo
sudo vnstat -5 >/home/vboxuser/Escritorio/monitoreo/uso_red.txt
echo "Fin de la operacion $parametro"
exit
# Si se pasa el parámetro "copiaingenieria", realizamos copia de seguridad de ingeniaria a simulador
elif [ "$parametro" = "copiaingenieria" ]; then
# Montamos la unidad que apunta a simulador
sudo mount -t cifs //192.168.0.156/Shared /home/vboxuser/Escritorio/simulador -o username=vboxuser,password=Ubuntu22,rw
echo "Unidad simulador montada."
# Directorio de origen
rutaOrigen="/home/vboxuser/Escritorio/monitoreo/"
echo "leo el origen"
# Directorio de destino
rutaDestino="/home/vboxuser/Escritorio/simulador"
echo "leo destino"
# Nombre del fichero adicionando hora+minuto+dia+mes+año
nombreFichero="copiaseguridad_$(date +%H%M%d%m%Y).tar.gz"
# Create the compressed backup in a tar.gz file
sudo tar -czvf "$rutaDestino/$nombreFichero" -C "$rutaOrigen" .
echo "El respaldo se ha creado correctamente en: $rutaDestino/$nombreFichero"
echo "Fin de la operacion $parametro"
exit
# Si se pasa el parámetro "copiasimulador", realizamos copia de seguridad de simulador a ingeniería
elif [ "$parametro" = "copiasimulador" ]; then
# Montamos la unidad que apunta a ingeniería
sudo mount -t cifs //192.168.0.155/Shared /home/vboxuser/Escritorio/ingenieria -o username=vboxuser,password=Ubuntu22
echo "Unidad ingenieria montada."
# Directorio de origen
rutaOrigen="/home/vboxuser/Escritorio/monitoreo/"
echo "leo el origen"
# Directorio de destino
rutaDestino="/home/vboxuser/Escritorio/ingenieria"
echo "leo destino"
# Nombre del fichero adicionando hora+minuto+dia+mes+año
nombreFichero="copiaseguridad_$(date +%H%M%d%m%Y).tar.gz"
# Creamos copia de seguridad comprimida
sudo tar -czvf "$rutaDestino/$nombreFichero" -C "$rutaOrigen" .
echo "El respaldo se ha creado correctamente en: $rutaDestino/$nombreFichero"
echo "Fin de la operacion $parametro"
exit
# Si se pasa el parámetro "descargar" descargamos el fichero de pista
elif [ "$parametro" = "descargar" ]; then
URL="https://autogestion.metrotel.com.ar/speedtest/archivo100MB.zip"
rutaDestino="/home/vboxuser/Escritorio/monitoreo/descarga_datos.zip"
# Descarga el archivo utilizando el comando "wget"
sudo wget "$URL" -O "$rutaDestino"
echo "descarga realizada en: $rutaDestino"
echo "Fin de la operacion $parametro"
exit
# Si se pasa el parámetro "mail" enviamos el mail con la info
elif [ "$parametro" = "mail" ]; then
horaFecha=$(date +'%d-%m-%Y')
# Variable email del remitente
remite="alberto@sauberofimatica.com"
# Variable email del destinatario
destino="alberdsp@gmail.com"
# Variable email asunto
asunto="Datos de resultado de las pruebas"
# Variable email cuerpo
cuerpo="Adjuntamos la información relevante a las pruebas de hoy $horafecha."
# Ruta al archivo adjunto
archivo_adjunto="/home/vboxuser/Escritorio/monitoreo/uso_red.txt"
# Comando para enviar el correo electrónico con el archivo adjunto
echo "$cuerpo" | mutt -s "$asunto" -a "$archivo_adjunto" -- "$destino" <<< $(echo -e "From: $remite\n")
#echo -e "From: $remite\n$cuerpo" | mutt -s "$asunto" -a "$archivo_adjunto" -- "$destino"
echo "Correo enviado correctamente."
echo "Fin de la operacion $parametro"
exit
# Si el parámetro no corresponde con ninguna instrucción
else
echo "no se reconoce $parametro como un comando válido, por favor revise los comandos válidos:"
echo "ejecute el script controlpc.sh seguido del parametro sin - ni comillas "
echo " ejemplo: ./controlpc.sh offwan "
echo "lista de parametros admitidos: "
echo "-------------------------------"
echo "parámetro offwan ,bloquea el tráfico general y habilita la red local"
echo "parámetro offlan ,eliminamos la regla que permite tráfico LAN "
echo "parámetro onlanwan ,permitimos todo el tráfico lan y wan"
echo "parámetro onlan ,habilitamos solo la red local"
echo "parámetro moncpu ,monitorea la cpu y guarda en fichero"
echo "parámetro monred ,monitorea la lan y guarda en fichero"
echo "parámetro descargar ,realiza la descarga de fichero"
echo "parámetro copiasimulador ,realizamos copia de seguridad de PC simulador"
echo "parámetro copiaingeniaria ,realizamos copia de seguridad de PC simulador"
echo "parámetro mail ,realizamos el envio de mail a los operadores de pista"
# Fin del scritp
fi