Synology configura el acceso de resolución de nombres de dominio en modo IPv6 de red pública

1.Descripción ambiental

Acceso a Internet: módem óptico Telecom + enrutador tplink (enviado por Telecom)
Synology: DSM 7.1.1-42962 Actualización 2
Proveedor de servicios de nombres de dominio: Tencent Cloud

2. Configuración óptica del gato

2.1 Obtener la contraseña de superusuario de Guangmao

Marque Telecom 10000

2.2 Modificar el módem óptico al modo puente

levemente

3.Configuración del enrutador

3.1 Acceso telefónico a Internet del enrutador

Inicie sesión en el enrutador TP-LINK como administrador (la dirección de la página de inicio de sesión general es http://192.168.1.1);
ingrese: Configuración de enrutamiento -> Configuración de Internet, seleccione "Acceso telefónico a Internet de banda ancha" como método de acceso a Internet , complete la cuenta de banda ancha y la contraseña previamente registradas y haga clic en el botón "Conectar"
Por favor agregue la descripción de la imagen.

3.2 Habilitar la compatibilidad con IPv6 del enrutador

Haga clic en Configuración "IPv6" - Seleccione "Función" y "Tipo de conexión de puerto WAN" como se muestra a continuación - Marque "Enlace de acceso telefónico IPv4 múltiple" - Haga clic en "Enlace" - Si la configuración es correcta, se mostrará el cuadro negro Información relacionada .
Por favor agregue la descripción de la imagen.
Nota: No todos los enrutadores admiten IPv6. Si el enrutador no lo admite, deberá reemplazarlo con un enrutador compatible.

4. Configuración de Synology IPv6

4.1 Ver la dirección IPv6 de Synology

"Panel de control" - "Red" - "Interfaz de red" - seleccione "LAN 1 (en línea)", haga clic en "Editar" - "IPv6" - confirme: si desea obtenerlo "automáticamente".
Por favor agregue la descripción de la imagen.
Por favor agregue la descripción de la imagen.

4.2 Probar la conectividad

Abra la ventana cmd y haga ping a la dirección IPv6 de Synology.
Por ejemplo, el formato de dirección que se ve en la interfaz de Synology es: 240e:aaa:eee:1111::1000/128.
Al hacer ping, elimine "/128" y haga ping directamente: 240e: aaa:eee :1111::1000
Por favor agregue la descripción de la imagen.
En este punto, se pueden lograr las siguientes funciones:
1. Dentro del alcance de la intranet, use la dirección IPv6 para acceder a Synology;
2. Dentro del alcance de la intranet, software como "DS File" y "DS video" en el teléfono móvil pueden usar IPv6 Cómo iniciar sesión
Por favor agregue la descripción de la imagen.

5. Resolución de nombres de dominio de Tencent Cloud

5.1 Solicitar un nombre de dominio

Pasos de solicitud omitidos

5.2 Crear clave API

Inicie sesión: Tencent Cloud-Key Console
Registre la información de ID y Token.
Por favor agregue la descripción de la imagen.

5.3 Resolución de nombres de dominio

Inicie sesión en: Tencent Cloud - Domain Name Console , haga clic en "Agregar registro"
Por favor agregue la descripción de la imagen.
y seleccione "AAAA" como tipo de registro. Este formato apunta a una dirección IPv6:

Por favor agregue la descripción de la imagen.
Por favor agregue la descripción de la imagen.

1. El registro de host se puede personalizar: suponga que el nombre de dominio aplicado es abc123.xyz, agregue www aquí y luego la dirección resuelta es: www.abc123.xyz
2. Ingrese la dirección IPv6 de Synology NAS.

![Agregue una descripción de la imagen](https://img-blog.csdnimg.cn/1968509fab884d338101500545b2f8a5.png
Haga clic en "Iniciar análisis" en el cuadro rojo
Por favor agregue la descripción de la imagen.
. En este momento, deberíamos poder acceder a nuestro nombre de dominio directamente. NAS.

6 Configuraciones de DDNS de Synology: no se requieren configuraciones

"Panel de control" - "Acceso externo" - "DDNS" - haga clic en "Agregar"
Por favor agregue la descripción de la imagen.
Nota especial: el modo IPv6 no necesita configurar este elemento en Synology. Como puede ver en la imagen de arriba, la interfaz DDNS en Synology Solo direcciones externas tienen direcciones IPv4, no hay opciones de IPv6. Entonces la configuración aquí es inútil para el acceso ipv6.

7 Utilice un script para sincronizar periódicamente la dirección IPV6 del NAS con Tencent Cloud DNS

El contenido aquí se refiere al artículo del blogger "FlySkyIce": "Uso de un script de shell para implementar Tencent Cloud DNSPod para realizar la dirección ipv6 de resolución dinámica de nombres de dominio DDNS", ¡me gustaría expresar mi más profundo agradecimiento!
Dirección del artículo: https://blog.csdn.net/weixin_43978546/article/details/113222378

El texto completo del guión es el siguiente:

#!/usr/bin/bash    
dnspod_ddnsipv6_id="API_KEY_ID" #【API_id】将引号内容修改为获取的API的ID
dnspod_ddnsipv6_token="API_KEY_TOKEN" #【API_token】将引号内容修改为获取的API的token
dnspod_ddnsipv6_ttl="600" # 【ttl时间】解析记录在 DNS 服务器缓存的生存时间,默认600(s/秒)
dnspod_ddnsipv6_domain='替换自己所购买的域名' #【已注册域名】引号里改成自己注册的域名
dnspod_ddnsipv6_subdomain='替换为想要的名字' #【二级域名】将引号内容修改为自己想要的名字,需要符合域名规范,附常用的规范
local_net="eth0" # 【网络适配器】 默认为eth0,如果你的公网ipv6地址不在eth0上,需要修改为对应的网络适配器
# 常用的规范【二级域名】
# 【www】 常见主机记录,将域名解析为 www.test.com
# 【@】   直接解析主域名 test.com
# 【*】   泛解析,匹配其他所有域名 *.test.com

# 举例
# 在腾讯云注册域名,登陆DNSPOD,在【我的账号】的【账号中心】中,有【密钥管理】
# 点击创建密钥即可创建一个API
# 如果你在腾讯云注册域名叫【test.com】
# 那么【dnspod_ddnsipv6_domain】后面就填【test.com】
# 然后根据常用的规范/自己想要的名字在【dnspod_ddnsipv6_subdomain】填入自己需要的名字
# 现假设为【file】,那么在【dnspod_ddnsipv6_subdomain】填入:"file",你的访问地址为【file.test.com】
if [ "$dnspod_ddnsipv6_record" = "@" ]
then
  dnspod_ddnsipv6_name=$dnspod_ddnsipv6_domain
else
  dnspod_ddnsipv6_name=$dnspod_ddnsipv6_subdomain.$dnspod_ddnsipv6_domain
fi

die () {
    
    
    echo "Error: unable to find [public IPv6 address], please use the 'ip addr' command or query the network panel of the system to check the network card, and fill in the name of the network card with the IPv6 address in the 'local_net' position in the command file." >&2
    echo "IP地址提取错误: 在指定的网络适配器上[$local_net]找不到<公网IPv6地址>(不是fe80开头),请使用'ip addr'命令或在系统的网络面板查询有公网IP的网络适配器,然后在脚本的[local_net]中用填写网络适配器的名称。" >&2
    exit
}

ipv6_list=`ip addr show $local_net | grep "inet6.*global" | awk '{print $2}' | awk -F"/" '{print $1}'` || die

for ipv6 in ${ipv6_list[@]}
do
    if [[ "$ipv6" =~ ^fe80.* ]]
    then
        continue
    else
        echo select IP: $ipv6 >&1
        break
    fi
done

if [ "$ipv6" == "" ] || [[ "$ipv6" =~ ^fe80.* ]]
then
    die
fi

dns_server_info=`nslookup -query=AAAA $dnspod_ddnsipv6_name 2>&1`

dns_server_ipv6=`echo "$dns_server_info" | grep 'address ' | awk '{print $NF}'`
if [ "$dns_server_ipv6" = "" ]
then
    dns_server_ipv6=`echo "$dns_server_info" | grep 'Address: ' | awk '{print $NF}'`
fi
    
if [ "$?" -eq "0" ]
then
    echo "DNS server IP: $dns_server_ipv6" >&1

    if [ "$ipv6" = "$dns_server_ipv6" ]
    then
        echo "The address is the same as the DNS server." >&1
    fi
    unset dnspod_ddnsipv6_record_id
else
    dnspod_ddnsipv6_record_id="1"   
fi

send_request() {
    
    
    local type="$1"
    local data="login_token=$dnspod_ddnsipv6_id,$dnspod_ddnsipv6_token&domain=$dnspod_ddnsipv6_domain&sub_domain=$dnspod_ddnsipv6_subdomain$2"
    return_info=`curl -X POST "https://dnsapi.cn/$type" -d "$data" 2> /dev/null`
}

query_recordid() {
    
    
    send_request "Record.List" ""
}

update_record() {
    
    
    send_request "Record.Modify" "&record_type=AAAA&record_line=默认&ttl=$dnspod_ddnsipv6_ttl&value=$ipv6&record_id=$dnspod_ddnsipv6_record_id"
}

add_record() {
    
    
    send_request "Record.Create" "&record_type=AAAA&record_line=默认&ttl=$dnspod_ddnsipv6_ttl&value=$ipv6"
}

if [ "$dnspod_ddnsipv6_record_id" = "" ]
then
    echo "seem exists, try update." >&1
    query_recordid
    code=`echo $return_info  | awk -F \"code\":\" '{print $2}' | awk -F \",\"message\" '{print $1}'`
    echo "return code $code" >&1
    if [ "$code" = "1" ]
    then
        dnspod_ddnsipv6_record_id=`echo $return_info | awk -F \"records\":.{
     
     \"id\":\" '{print $2}' | awk -F \",\"ttl\" '{print $1}'`
        update_record
        echo "update sucessful" >&1
    else
        echo "error code return, domain not exists, try add." >&1
        add_record
        echo "add sucessful." >&1
    fi
else
    echo "domain not exists, try add."
    add_record
    echo "add sucessful" >&1
fi

7.1 Cómo utilizar secuencias de comandos

Según su situación real, modifique las líneas 2 a 7 del script, asigne un nombre al archivo dnspod.sh y luego cargue el script en el directorio /volume2/homes/admin u otros directorios a través de Synology "File Station".
Utilice la herramienta ssh para acceder mediante ssh al sistema backend de Synology, ingrese el directorio donde se encuentra el script y ejecute el siguiente comando:

sed -i 's/\r//g' dnspod.sh
bash dnspod.sh

Resultados de la ejecución:
Por favor agregue la descripción de la imagen.
compruebe si hay algún error al ejecutar el script.
Si no se informa ningún error, el script sincronizará inmediatamente la dirección IPv6 actual con el "valor de registro" en la interfaz de resolución de nombres de dominio de Tencent Cloud.
Si el "valor de registro" no se ha modificado o se agrega un nuevo registro, significa que la configuración del script es incorrecta y se devolverá la modificación.
Por favor agregue la descripción de la imagen.
Script de verificación: puede modificar manualmente el "valor de registro" en la página web de Tencent Cloud, la dirección IPv6 aquí y luego volver a ejecutar el script dnspod.sh para confirmar si la dirección aquí se cambió correctamente.

Ejecutar script regularmente

Synology - Panel de control - Programación de tareas - Haga clic en "Nuevo" - Tarea programada - Script definido por el usuario
Haga clic en "Programar" en la ventana emergente - Establezca la frecuencia de ejecución del script
y haga clic en "Configuración de tareas" - —Script definido por el usuario, copiar en el siguiente comando:

bash /volume2/homes/admin/dnspod.sh

Este artículo termina.

Supongo que te gusta

Origin blog.csdn.net/m0_37862262/article/details/128194439
Recomendado
Clasificación