Clash: [Pregunta] El papel del respaldo en dns

Creado en 17 abr. 2020  ·  6Comentarios  ·  Fuente: Dreamacro/clash

Por ejemplo, configure así en la configuración

dns:
  enable: true
  listen: :53
  enhanced-mode: redir-host
  nameserver:
    - 223.5.5.5
  fallback:
    - 8.8.8.8

Mi pregunta es ¿qué hace el respaldo?

Leí este artículo: El impacto de la contaminación del DNS en Clash (para Windows)

El artículo decía que las solicitudes concurrentes se realizan desde el DNS en el servidor de nombres y el respaldo, y el resultado de la primera respuesta en el servidor de nombres se selecciona como punto de referencia. Utilice GEOIP para determinar el área de esta IP. Si pertenece al país (CN) o una dirección reservada, responderá directamente al cliente. En el caso, el resultado en la reserva se responde al cliente.

Pero el artículo también decía que cuando se considera que la IP contaminada requiere un proxy, Clash todavía puede funcionar normalmente en este momento. Esto se debe a que Clash no envía esta dirección IP al servidor proxy, sino que envía directamente el host al servidor proxy. La resolución de DNS se realiza en el servidor proxy, para que la solicitud pueda obtener una dirección IP más adecuada y un mejor uso de los recursos de la CDN.

Estoy muy desconcertado de que, dado que el servidor de nombres puede determinar directamente la IP contaminada, la IP contaminada enviará directamente el host al servidor proxy y el servidor proxy resolverá la IP correcta y compatible con CDN. ¿No es necesario un respaldo?

Sé que debo estar pensando algo mal, estoy aquí para pedir consejo, no te rías de mí

question

Comentario más útil

La IP contaminada no se puede juzgar, pero cuando el GeoIP devuelto por el primer DNS no es CN, se tomará el valor del DNS alternativo. Dado que el GeoIP contaminado está en el extranjero, el choque puede prevenir la contaminación de este nivel. Por supuesto, la premisa es Configure el DNS en sentido ascendente del grupo de respaldo (como DNS libre de contaminación [extinción básica expuesta en la pared], a través de puertos no estándar, DNS sobre TLS / HTTPS).
Puede consultar: https://github.com/Dreamacro/clash/issues/621#issuecomment -614702773

En cuanto a la wiki de cfw, incluso si está contaminada, significa que si la regla de coincidencia de conexión actual da como resultado un proxy, el conflicto cambiará la conexión iniciada por la IP a su nombre de host original y la enviará al nodo remoto, por lo que incluso si el cliente / Browser obtiene la IP contaminada y no afectará la conexión final, porque la IP contaminada se descartó y se volvió a aplicar con el nombre de host original cuando se envió al proxy remoto a través de Choque, que se redirige El origen del nombre del modo de host.
Otra referencia: Hablar sobre el comportamiento de resolución de DNS en entorno proxy | Blog de Sukka

Todos 6 comentarios

El dns incorporado es para resolver el problema de resolución de dns del proxy transparente, no es necesario abrirlo para uso normal

La IP contaminada no se puede juzgar, pero cuando el GeoIP devuelto por el primer DNS no es CN, se tomará el valor del DNS alternativo. Dado que el GeoIP contaminado está en el extranjero, el choque puede prevenir la contaminación de este nivel. Por supuesto, la premisa es Configure el DNS en sentido ascendente del grupo de respaldo (como DNS libre de contaminación [extinción básica expuesta en la pared], a través de puertos no estándar, DNS sobre TLS / HTTPS).
Puede consultar: https://github.com/Dreamacro/clash/issues/621#issuecomment -614702773

En cuanto a la wiki de cfw, incluso si está contaminada, significa que si la regla de coincidencia de conexión actual da como resultado un proxy, el conflicto cambiará la conexión iniciada por la IP a su nombre de host original y la enviará al nodo remoto, por lo que incluso si el cliente / Browser obtiene la IP contaminada y no afectará la conexión final, porque la IP contaminada se descartó y se volvió a aplicar con el nombre de host original cuando se envió al proxy remoto a través de Choque, que se redirige El origen del nombre del modo de host.
Otra referencia: Hablar sobre el comportamiento de resolución de DNS en entorno proxy | Blog de Sukka

  • nameserver el servidor en no está fallback no es necesario configurar
  • Si las reglas coinciden con Proxy , simplemente no usan la IP resuelta y envían el nombre de dominio directamente al servidor proxy, lo que resuelve el problema de CDN.
  • Si la regla coincide con DIRECT , iniciará directamente una conexión a la IP resuelta

.

  • Cuando se utiliza el proxy Socks5 / Http (s), el sistema no necesita saber la dirección IP de destino para conectarse, simplemente envíe la solicitud de nombre de dominio al servidor proxy.
  • Cuando se usa un proxy transparente, debido a que es una implementación estándar de TCP / IP, el paquete que obtiene Clash no contiene información de nombre de dominio, por lo que Clash debe usar la función DNS incorporada para realizar una asignación de nombre de dominio IP <->, de modo que Clash pueda enviar el sistema El DST-IP en el paquete TCP / UDP se restaura al nombre de dominio y la regla coincide

.
¿Mi comprensión debería ser correcta? @Dreamacro
ps: La documentación de Clash realmente no es muy detallada, verifique la información en todas partes ...

  • nameserver el servidor en no está fallback no es necesario configurar
  • Si las reglas coinciden con Proxy , simplemente no usan la IP resuelta y envían el nombre de dominio directamente al servidor proxy, lo que resuelve el problema de CDN.
  • Si la regla coincide con DIRECT , iniciará directamente una conexión a la IP resuelta

.

  • Cuando se utiliza el proxy Socks5 / Http (s), el sistema no necesita saber la dirección IP de destino para conectarse, simplemente envíe la solicitud de nombre de dominio al servidor proxy.
  • Cuando se usa un proxy transparente, debido a que es una implementación estándar de TCP / IP, el paquete que obtiene Clash no contiene información de nombre de dominio, por lo que Clash debe usar la función DNS incorporada para realizar una asignación de nombre de dominio IP <->, de modo que Clash pueda enviar el sistema El DST-IP en el paquete TCP / UDP se restaura al nombre de dominio y la regla coincide

.
¿Mi comprensión debería ser correcta? @Dreamacro
ps: La documentación de Clash realmente no es muy detallada, verifique la información en todas partes ...

Disculpe, si no se usa como un proxy transparente, sino solo como un cliente, ¿el uso de redir-host tendrá una resolución más que el modo de ip falso (asumiendo que incluso hay un nombre de dominio proxy), o todos son iguales?

@ akw5454521
El modo de ip falsa en realidad no implica la resolución de dns. Después de que Choque recibe la solicitud de dns, envía directamente la ip reservada al usuario y establece una conexión directamente al servidor remoto a través de socks5 a través del nombre de dominio en la solicitud de dns, y luego vuelve a través de la ip reservada El usuario establece la conexión real
El modo redir-host necesita ser analizado, y el resultado analizado es significativo solo cuando coincide con la regla de conexión directa (establece directamente una conexión). No importa si el resultado analizado del nombre de dominio que necesita ser proxy es falso, porque este paso es el mismo que el de la IP falsa anterior El propósito a alcanzar es el mismo, solo que el usuario y choque establecer la correspondencia entre el nombre de dominio y la IP La solicitud al servidor remoto es el nombre de dominio en lugar de la IP resuelta.

En cuanto al problema de la velocidad, fake-ip el mayor tiempo posible

Me gustaría preguntar, si en el modo de redir-host, si GeoIP determina que no es CN, se retirará, y si cumple con las condiciones de proxy al mismo tiempo, entonces el host se enviará directamente al control remoto para su análisis, es decir, si la IP recibida por el cliente No importa si es cierto (porque si se juzga que el agente tiene que resolverse desde el extremo remoto), entonces me gustaría preguntar cuál es el significado del grupo de respaldo, es mejor usar la contaminación en el servidor de nombres directamente, de todos modos, debe resolverse desde el extremo remoto.
(Ps: personalmente creo que solo cuando un nombre de dominio está contaminado y se determina que no es un proxy, la alternativa realmente funcionará)

Además, puede haber un retraso muy alto al solicitar los dns en el respaldo (como tls: //dns.google, etc. ), por lo que el cliente espera demasiado, ¿verdad?

¿Fue útil esta página
0 / 5 - 0 calificaciones