mirror of https://gitlab.com/hp3icc/emq-TE1.git
65 lines
2.0 KiB
Bash
65 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# Nombre del script
|
|
SCRIPT_NAME="n-manager.sh"
|
|
# Registra el inicio en /opt/curl.txt
|
|
echo "Inicio: $SCRIPT_NAME" >> /opt/curl.txt
|
|
# Verificar si es un VPS o máquina virtual
|
|
if systemd-detect-virt --quiet; then
|
|
echo "VPS no Instalado: $SCRIPT_NAME" >> /opt/curl.txt
|
|
exit 0 # Salir si es un VPS o máquina virtual
|
|
else
|
|
# Instalar NetworkManager si no está instalado
|
|
if ! dpkg -l | grep -q "network-manager"; then
|
|
sudo apt-get update -y && sudo apt-get install -y network-manager
|
|
fi
|
|
|
|
# Configurar NetworkManager para manejar las interfaces
|
|
if [ -f "/etc/NetworkManager/NetworkManager.conf" ]; then
|
|
sudo sed -i "s|^managed=.*|managed=true|g" /etc/NetworkManager/NetworkManager.conf
|
|
fi
|
|
|
|
# Verificar y reescribir el archivo /etc/network/interfaces si existe
|
|
if [ -f "/etc/network/interfaces" ]; then
|
|
sudo cat > /etc/network/interfaces <<- "EOF"
|
|
# interfaces(5) file used by ifup(8) and ifdown(8)
|
|
# Please note that this file is written to be used with NetworkManager
|
|
# See interfaces(5) for more examples.
|
|
|
|
auto lo
|
|
iface lo inet loopback
|
|
|
|
EOF
|
|
fi
|
|
sudo systemctl stop systemd-networkd-wait-online
|
|
sudo cat > /lib/systemd/system/systemd-networkd-wait-online.service <<- "EOF"
|
|
[Unit]
|
|
Description=Wait for NetworkManager to configure the network
|
|
Documentation=man:nm-online
|
|
DefaultDependencies=no
|
|
Before=network.target
|
|
After=NetworkManager.service
|
|
Wants=NetworkManager.service
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
ExecStart=/usr/bin/nm-online -s -q
|
|
RemainAfterExit=yes
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
|
|
EOF
|
|
# Detener y deshabilitar servicios de red previos (networking, dhcpcd)
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl stop networking
|
|
sudo systemctl disable networking
|
|
sudo systemctl stop dhcpcd
|
|
sudo systemctl disable dhcpcd
|
|
sudo systemctl start systemd-networkd-wait-online
|
|
|
|
# Habilitar y reiniciar NetworkManager
|
|
sudo systemctl enable NetworkManager
|
|
sudo systemctl restart NetworkManager
|
|
fi
|
|
# Registra el final en /opt/curl.txt
|
|
echo "Finalizado: $SCRIPT_NAME" >> /opt/curl.txt |