Hable sobre la operación de visualización adicional de multi-dial (tutorial adicional para multi-dial)

Mi último artículo sobre el tutorial multidial en la red del campus ha llegado a más de 1000 en toda la red, ¡gracias por su apoyo! Este es un complemento del tutorial anterior. Incluye principalmente: el uso de scripts para realizar el inicio de sesión automático en la red, los cambios de luz indicadora LED y el envío de mensajes de recordatorio cuando cambia el enlace.

1. Preparación

Este tutorial utiliza un enrutador (firmware OpenWrt) para marcación múltiple. Las siguientes operaciones se basan en el tutorial anterior "¿Qué puedo hacer para salvarte a ti, mi red de campus: marcación múltiple de una sola línea para la optimización de la red del campus" .

2. Inicio de sesión automático en la red del campus

Después de desconectar la red o reiniciar el enrutador, la mayoría de las redes del campus requerirán iniciar sesión nuevamente. En este momento, es más problemático configurar las reglas de mwan3 y luego iniciar sesión. Aquí tomamos la red del campus como ejemplo para presentar cómo realizar el inicio de sesión automático.

2.1 Obtener solicitud de inicio de sesión

2.1.1 Solicitudes de captura con registros de red

Iniciar sesión es enviar una solicitud de inicio de sesión al servidor, pero no sabemos cómo se ve la solicitud ahora, así que primero use el registro de red del navegador o la captura de paquetes de software para obtener la solicitud.

Abra la página de inicio de sesión en el navegador, presione F12 para abrir la consola, cambie a la pestaña "Red", marque "Guardar registros", vuelva a la página web para iniciar sesión y busque el inicio de sesión (con palabras como inicio de sesión) relacionado solicitudes en la consola, puede encontrar la dirección solicitada.
paso de captura

2.1.2 Análisis de solicitudes de inicio de sesión

Tome la autenticación Dr aquí como ejemplo. Esta solicitud es una solicitud de obtención. El "?" en la solicitud va seguido de parámetros separados por "&". Por ejemplo, "DDDDD" es un número de cuenta. Es posible que deba cambiar algunos parámetros cuando inicie sesión más tarde. Asegúrese de comprender el significado de estos parámetros, ¡no cambie los parámetros inciertos al azar!

2.1.3 Enviar solicitud de inicio de sesión con curl

curl es una herramienta de línea de comandos que se utiliza para solicitar servidores web.

OpenWrt install curl, ingrese en la terminal curl +”刚刚复制的地址”:

# 注:地址不一样,用自己刚刚复制的地址
curl "http://10.0.1.5/drcom/login?callback=dr1003&DDDDD=帐号&upass=密码&0
MKKey=123456"

Presione Enter para ejecutar, si no hay ningún accidente, ha iniciado sesión correctamente, lo que se puede determinar de acuerdo con la respuesta a la solicitud y la situación de la red.

2.2 Iniciar sesión automáticamente cuando la red está desconectada

Una vez que obtenga la dirección de solicitud, puede enviar una solicitud de inicio de sesión en un lugar adecuado.Aquí tomamos el caso de la desconexión de la red como ejemplo.

2.2.1 Encuentre un lugar para escribir un script de inicio de sesión

El uso de la notificación (notificar) de mwan3 puede ejecutar secuencias de comandos fácilmente cuando la red está conectada o desconectada, por lo que no es necesario escribir secuencias de comandos activadas por tiempo. El uso de la notificación es el siguiente:

Notificación de mwan3 (notificar)

En pocas palabras, este script se activará cuando la red se conecte o desconecte, y se pasarán varias variables de entorno para que las use el script. Entonces, lo que tenemos que hacer es usar curl para especificar la información de la interfaz entrante para lograr el inicio de sesión de la interfaz especificada.

2.2.2 Especificar la interfaz para enviar la solicitud

Curl puede especificar qué interfaz usar para enviar la solicitud, simplemente agregue el parámetro "interfaz" al comando para especificar la interfaz, y la variable de entorno se usa aquí ${DEVICE}:

# 注:地址不一样,用自己刚刚复制的地址
curl --interface ${DEVICE} "http://10.0.1.5/drcom/login?callback=dr1003&DDDDD=帐号&upass=密码&0MKKey=123456"

2.2.3 Guión de formulario

Agregue la condición de juicio y el guión de formación para el comando "traducir" eval:

if [ $ACTION == disconnected ] && [ -n "$DEVICE" ]; then
	logger -p warn -t mwan3-notify "Auto login on $DEVICE..." # 记录日志
	eval "curl --interface ${DEVICE} \"http://10.0.1.5/drcom/login?callback=dr1003&DDDDD=帐号&upass=密码&0MKKey=123456\"" # curl指定接口发送请求
fi

Haga clic en Guardar, reinicie el servicio mwan3 o reinicie el enrutador para ver si puede iniciar sesión automáticamente cuando la red está desconectada.

3. Gestión LED

Si su enrutador tiene un indicador LED, puede usar el script anterior para controlar el estado del LED por cierto. Hay 5 disparadores para las luces indicadoras personalizadas de OpenWrt:

Página de configuración de LED

Aquí, tome "la luz indicadora monitorea la actividad de la red cuando la red está conectada y siempre está encendida cuando la red no está conectada" como ejemplo. El script se puede escribir así:

if [ $ACTION == connected ] || [ $ACTION == disconnected ]; then
    case $INTERFACE in
        vwan0) led="system.led_internet" # 待修改:事件是在vwan0发生的,对应LED(看下一段讲解)
        ;;
        vwan1) led="system.cfg048bba" # 待修改
        ;;
        vwan2) led="system.cfg058bba" # 待修改
        ;;
        *)  logger -p warn -t mwan3-notify "There is no LED for $INTERFACE !"
            exit
        ;;
    esac
    if [ $ACTION == connected ]; then
        eval "uci set ${led}.trigger='netdev'"
        eval "uci set ${led}.dev='${DEVICE}'"
        eval "uci add_list ${led}.mode='tx'"
        uci commit
        /etc/init.d/led restart
    elif [ $ACTION == disconnected ]; then
        eval "uci del ${led}.dev"
        eval "uci del ${led}.mode"
        eval "uci set ${led}.trigger='default-on'"
        uci commit
        /etc/init.d/led restart
		fi
fi

El lugar que se modificará se ha marcado arriba, vwanx es el nombre de la interfaz virtual, y el led se puede ver haciendo clic en el registro de cambio en la parte superior derecha después de modificar la configuración del sistema-LED:

registro de cambios de configuración

Cuatro, recordatorio de cambio de enlace ntfy

De la misma manera, también puede enviar mensajes de notificación a teléfonos móviles y otros dispositivos cuando esté conectado a Internet o desconectado de Internet. Aquí usamos ntfy, que es un servicio pub-sub gratuito y de código abierto basado en HTTP. Puede consultar su uso detallado en el sitio web oficial ( https://ntfy.sh/ ).

mensaje ntfy

ntfy casi no requiere configuración y puede usarse simplemente suscribiéndose y definiendo mensajes.

4.1 Suscripción a temas

Primero, suscríbase al tema en el teléfono móvil u otros dispositivos. El nombre del tema debe tener un alto grado de distinción:

tema de suscripción ntfy

4.2 Enviar solicitud de publicación en script

Todavía en el lugar donde está escrito el script arriba, agregue y modifique el siguiente script de notificación de red:

if [ $ACTION == disconnected ]; then
	eval "curl -H \"Tags: warning\" -H \"Title:$INTERFACE disconnected\" -d \"OpenWrt\" ntfy.sh/TODO" # 将末尾的TODO改成你订阅的主题名称
fi

4.3 Solicitud de prueba

Si alguna interfaz se desconecta de la red, el teléfono móvil recibirá un mensaje de recordatorio:

mensaje de recordatorio

V. Resumen

Este tutorial es un tutorial complementario a mi tutorial anterior "Qué puede salvarlo, la red de mi campus: marcación múltiple de una sola línea para la optimización de la red del campus", que implica principalmente la configuración automática de secuencias de comandos del complemento de marcación múltiple OpenWrt mwan3. Debido a las diferencias en las redes y equipos del campus, este artículo solo da algunos ejemplos, que pueden ampliarse según las ideas. Al mismo tiempo, si tienes alguna duda o sugerencia, puedes ponerla en el área de comentarios, ¡gracias!

Supongo que te gusta

Origin blog.csdn.net/m0_59496782/article/details/128275861
Recomendado
Clasificación