net: Script para asignar IP dinámicas (wireless y wired)
This commit is contained in:
parent
d0c83ca9a1
commit
ff212a2540
|
@ -0,0 +1,69 @@
|
|||
#!/bin/sh
|
||||
|
||||
## Script para asignar ip dinámicamente usando sdhcp para establecer conexión a internet
|
||||
## Dependencias sdhcp, wpa_supplicant, dzen2
|
||||
|
||||
if ! command -v sdhcp wpa_supplicant dzen2; then
|
||||
printf '%b\n' "Dependencias no satisfechas. Dependencias necesarias:\n\tsdhcp, wpa_supplicant, dzen2"
|
||||
fi
|
||||
|
||||
|
||||
ayuda(){
|
||||
cat << EOF
|
||||
Uso: $(basename "$0") [interface]
|
||||
Ejemplo: $(basename "$0") eth0
|
||||
Ejemplo: $(basename "$0") wlan0
|
||||
EOF
|
||||
}
|
||||
|
||||
admin() {
|
||||
if command -v sudo >/dev/null && sudo -l | grep -q -e ' ALL$' -e xbps-install; then
|
||||
echo sudo
|
||||
elif command -v doas >/dev/null && [ -f /etc/doas.conf ]; then
|
||||
echo doas
|
||||
elif [ "$(id -u)" != 0 ]; then
|
||||
echo su
|
||||
fi
|
||||
}
|
||||
|
||||
msg() {
|
||||
dzen2 -p 5 -fn 'JetBrains Mono:size=8:style=bold' -ta 5 \
|
||||
-w 260 -x 1100 -y 25
|
||||
}
|
||||
|
||||
SUDO=$(admin)
|
||||
|
||||
case $1 in
|
||||
eth0)
|
||||
read -r state < /sys/class/net/"$1"/operstate
|
||||
if [ "$state" = "down" ]; then
|
||||
"$SUDO" ip link set "$1" up
|
||||
"$SUDO" sdhcp "$1"
|
||||
printf '%s\n' "Ethernet activado" | msg
|
||||
elif [ "$state" = "up" ]; then
|
||||
"$SUDO" kill "$(pgrep --list-full sdhcp | awk '/eth0/ {print $1}')"
|
||||
"$SUDO" ip link set eth0 down
|
||||
printf '%s\n' "Ethernet desactivado" | msg
|
||||
fi
|
||||
;;
|
||||
wlan0)
|
||||
read -r state < /sys/class/net/"$1"/operstate
|
||||
if [ "$(pgrep wpa_supplicant)" ]; then
|
||||
"$SUDO" pkill -f wpa_supplicant
|
||||
"$SUDO" ip link set wlan0 down
|
||||
"$SUDO" kill "$(pgrep --list-full sdhcp | awk '/wlan0/ {print $1}')"
|
||||
printf '%s\n' "Wifi desactivado" | msg
|
||||
elif [ "$state" = "down" ]; then
|
||||
echo Activando interfaz
|
||||
"$SUDO" ip link set "$1" up
|
||||
echo Iniciando wpa_supplicant...
|
||||
"$SUDO" wpa_supplicant -B -D wext -c /etc/wpa_supplicant/wpa_supplicant-wlan0.conf -i "$1"
|
||||
# "$SUDO" wpa_supplicant -B -D nl80211,wext -c /etc/wpa_supplicant/wpa_supplicant-wlan0.conf -i "$1"
|
||||
echo Asignando ip dinámica...
|
||||
printf '%s\n' "Activando wifi..." | msg
|
||||
"$SUDO" sdhcp "$1"
|
||||
fi
|
||||
;;
|
||||
--help|-h|*)
|
||||
ayuda
|
||||
esac
|
Loading…
Reference in New Issue