From b0a67239a0f8081748b0553dc2e5a0db9598654b Mon Sep 17 00:00:00 2001 From: Script Proyect by HP3ICC Date: Sun, 1 Dec 2024 08:00:26 +0000 Subject: [PATCH] Update menu-ip --- menu/menu-ip | 89 ++++++++++++++++++++++++++++------------------------ 1 file changed, 48 insertions(+), 41 deletions(-) diff --git a/menu/menu-ip b/menu/menu-ip index 4debd38..ad71e97 100644 --- a/menu/menu-ip +++ b/menu/menu-ip @@ -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" + else + # 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* -fi \ No newline at end of file + sudo chmod +x /bin/menu-ip + ln -sf /bin/menu-ip /bin/MENU-IP + sudo chmod +x /bin/MENU* +fi