Update menu-ip

This commit is contained in:
Script Proyect by HP3ICC 2024-12-01 08:00:26 +00:00
parent dce56cb965
commit b0a67239a0
1 changed files with 48 additions and 41 deletions

View File

@ -1,12 +1,12 @@
#!/bin/bash
if dpkg -l | grep -q "network-manager"; then
# Verificar si es un VPS o máquina virtual
# Verificar si es un VPS o máquina virtual
if systemd-detect-virt --quiet; then
echo "El sistema está ejecutándose en una máquina virtual."
#exit 0
else
# menu-ip "server"
sudo cat > /bin/menu-ip <<- "EOF"
# menú-ip "server"
sudo cat > /bin/menu-ip <<- "EOF"
#!/bin/bash
# Función para convertir una máscara de subred en notación CIDR
@ -107,39 +107,46 @@ do
gateway=""
dns1=""
dns2=""
whiptail --title "Static / DHCP" --inputbox "Ingresa la IP estática para $device_name:" 10 60 2>/tmp/ip.txt
if [ $? -ne 0 ]; then
echo "Has elegido cancelar. Saliendo..."
break
fi
ip=$(cat /tmp/ip.txt)
whiptail --title "Static / DHCP" --inputbox "Ingresa la máscara de subred en formato de octetos para $device_name (ejemplo: 255.255.255.0):" 10 60 2>/tmp/mask.txt
if [ $? -ne 0 ]; then
echo "Has elegido cancelar. Saliendo..."
break
fi
mask=$(cat /tmp/mask.txt)
cidr=$(mask_to_cidr "$mask")
whiptail --title "Static / DHCP" --inputbox "Ingresa la puerta de enlace (gateway) para $device_name:" 10 60 2>/tmp/gateway.txt
if [ $? -ne 0 ]; then
echo "Has elegido cancelar. Saliendo..."
break
fi
gateway=$(cat /tmp/gateway.txt)
whiptail --title "Static / DHCP" --inputbox "Ingresa la dirección DNS primaria (dns1) para $device_name:" 10 60 2>/tmp/dns1.txt
if [ $? -ne 0 ]; then
echo "Has elegido cancelar. Saliendo..."
break
fi
dns1=$(cat /tmp/dns1.txt)
whiptail --title "Static / DHCP" --inputbox "Ingresa la dirección DNS secundaria (dns2) para $device_name:" 10 60 2>/tmp/dns2.txt
if [ $? -ne 0 ]; then
echo "Has elegido cancelar. Saliendo..."
break
fi
dns2=$(cat /tmp/dns2.txt)
# Configurar IP estática utilizando nmcli
# Solicitar IP estática
ip=$(whiptail --title "Static / DHCP" --inputbox "Ingresa la IP estática para $device_name:" 10 60 3>&1 1>&2 2>&3)
if [ $? -ne 0 ]; then
echo "Has elegido cancelar. Saliendo..."
break
fi
# Solicitar máscara de subred
mask=$(whiptail --title "Static / DHCP" --inputbox "Ingresa la máscara de subred en formato de octetos para $device_name (ejemplo: 255.255.255.0):" 10 60 3>&1 1>&2 2>&3)
if [ $? -ne 0 ]; then
echo "Has elegido cancelar. Saliendo..."
break
fi
# Solicitar puerta de enlace (gateway)
gateway=$(whiptail --title "Static / DHCP" --inputbox "Ingresa la puerta de enlace (gateway) para $device_name:" 10 60 3>&1 1>&2 2>&3)
if [ $? -ne 0 ]; then
echo "Has elegido cancelar. Saliendo..."
break
fi
# Solicitar DNS primario
dns1=$(whiptail --title "Static / DHCP" --inputbox "Ingresa la dirección DNS primaria (dns1) para $device_name:" 10 60 3>&1 1>&2 2>&3)
if [ $? -ne 0 ]; then
echo "Has elegido cancelar. Saliendo..."
break
fi
# Solicitar DNS secundario
dns2=$(whiptail --title "Static / DHCP" --inputbox "Ingresa la dirección DNS secundaria (dns2) para $device_name:" 10 60 3>&1 1>&2 2>&3)
if [ $? -ne 0 ]; then
echo "Has elegido cancelar. Saliendo..."
break
fi
# Convertir la máscara a CIDR
cidr=$(mask_to_cidr "$mask")
# Configurar la IP estática utilizando nmcli
sudo nmcli con mod "$device_name" ipv4.method manual ipv4.addresses "$ip/$cidr" ipv4.gateway "$gateway" ipv4.dns "$dns1 $dns2"
sudo nmcli con up "$device_name"
sudo systemctl stop NetworkManager
@ -162,12 +169,12 @@ do
done
exit 0
EOF
fi
fi
if [ -f "/bin/menu-ip" ]; then
sudo chmod +x /bin/menu-ip
ln -sf /bin/menu-ip /bin/MENU-IP
sudo chmod +x /bin/MENU*
sudo chmod +x /bin/menu-ip
ln -sf /bin/menu-ip /bin/MENU-IP
sudo chmod +x /bin/MENU*
fi