Clash: [Question] Le rôle du repli dans le DNS

Créé le 17 avr. 2020  ·  6Commentaires  ·  Source: Dreamacro/clash

Par exemple, configurez comme ceci dans la configuration

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

Ma question est: que fait le repli?

J'ai lu cet article: L'impact de la pollution DNS sur Clash (pour Windows)

L'article indique que les requêtes simultanées sont effectuées à partir du DNS dans le serveur de noms et de secours, et que le premier résultat de la réponse dans le serveur de noms est sélectionné comme référence. Utilisez GEOIP pour déterminer la zone de cette adresse IP. Si elle appartient au pays (CN) ou à une adresse réservée, elle répondra directement au client Dans le cas, le résultat du repli est répondu au client

Mais l'article indique également que lorsque l'IP polluée est jugée comme nécessitant un proxy, Clash peut toujours fonctionner normalement à ce moment. En effet, Clash n'envoie pas réellement cette adresse IP au serveur proxy, mais envoie directement l'hôte au serveur proxy. La résolution DNS est effectuée dans le serveur proxy, afin que la requête puisse obtenir une adresse IP plus appropriée et mieux utiliser les ressources CDN.

Je suis très étonné que, puisque le serveur de noms peut déterminer directement l'adresse IP polluée, l'adresse IP polluée enverra directement l'hôte au serveur proxy et le serveur proxy résoudra l'adresse IP correcte et compatible CDN, n'est-il pas nécessaire de recourir à une solution de secours?

Je sais que je dois penser à quelque chose de mal, je suis ici pour demander conseil, ne riez pas de moi

question

Commentaire le plus utile

L'IP polluée ne peut pas être jugée, mais lorsque le GeoIP renvoyé par le premier DNS n'est pas CN, la valeur du DNS de secours sera prise. Étant donné que le GeoIP pollué est entièrement à l'étranger, un conflit peut empêcher la pollution de ce niveau. Définissez le DNS en amont du groupe de secours (tel que DNS sans pollution [extinction de base exposée dans le mur], via des ports non standard, DNS sur TLS / HTTPS).
Vous pouvez vous référer à: https://github.com/Dreamacro/clash/issues/621#issuecomment -614702773

Quant au wiki cfw, même s'il est contaminé, cela signifie que si la règle de correspondance de connexion actuelle aboutit à un proxy, le conflit changera la connexion initiée par l'IP à son nom d'hôte d'origine et l'envoyera au nœud distant, donc même si le client / Le navigateur obtient l'adresse IP polluée et cela n'affectera pas la connexion finale, car l'adresse IP polluée a été rejetée lorsqu'elle est envoyée au proxy distant via un conflit et le nom d'hôte d'origine est réappliqué, ce qui est redir- L'origine du nom du mode hôte.
Référence supplémentaire: Parler du comportement de résolution DNS dans un environnement proxy | Blog de Sukka

Tous les 6 commentaires

Le DNS intégré est de résoudre le problème de résolution DNS du proxy transparent, il n'est pas nécessaire de l'ouvrir pour une utilisation normale

L'IP polluée ne peut pas être jugée, mais lorsque le GeoIP renvoyé par le premier DNS n'est pas CN, la valeur du DNS de secours sera prise. Étant donné que le GeoIP pollué est entièrement à l'étranger, un conflit peut empêcher la pollution de ce niveau. Définissez le DNS en amont du groupe de secours (tel que DNS sans pollution [extinction de base exposée dans le mur], via des ports non standard, DNS sur TLS / HTTPS).
Vous pouvez vous référer à: https://github.com/Dreamacro/clash/issues/621#issuecomment -614702773

Quant au wiki cfw, même s'il est contaminé, cela signifie que si la règle de correspondance de connexion actuelle aboutit à un proxy, le conflit changera la connexion initiée par l'IP à son nom d'hôte d'origine et l'envoyera au nœud distant, donc même si le client / Le navigateur obtient l'adresse IP polluée et cela n'affectera pas la connexion finale, car l'adresse IP polluée a été rejetée lorsqu'elle est envoyée au proxy distant via un conflit et le nom d'hôte d'origine est réappliqué, ce qui est redir- L'origine du nom du mode hôte.
Référence supplémentaire: Parler du comportement de résolution DNS dans un environnement proxy | Blog de Sukka

  • nameserver le serveur de pas pollué (comme un serveur DNS fallback n'est pas nécessaire de définir
  • Si les règles correspondent à Proxy , elles n'utilisent tout simplement pas l'adresse IP résolue et envoient le nom de domaine directement au serveur proxy, ce qui résout le problème du CDN.
  • Si la règle correspond à DIRECT , elle initiera directement une connexion à l'adresse IP résolue

.

  • Lors de l'utilisation du proxy Socks5 / Http (s), le système n'a pas besoin de connaître l'adresse IP cible pour se connecter, il suffit simplement de lancer la demande de nom de domaine au serveur proxy.
  • Lors de l'utilisation d'un proxy transparent, car il s'agit d'une implémentation TCP / IP standard, le package reçu par Clash ne contient pas d'informations sur le nom de domaine, donc Clash doit utiliser la fonction DNS intégrée pour effectuer un mappage de nom de domaine IP <->, afin que Clash puisse envoyer le système Le DST-IP dans le paquet TCP / UDP est restauré dans le nom de domaine et la règle est mise en correspondance

.
Ma compréhension devrait être correcte? @Dreamacro
ps: La documentation de Clash n'est vraiment pas très détaillée, vérifiez les informations partout ...

  • nameserver le serveur de pas pollué (comme un serveur DNS fallback n'est pas nécessaire de définir
  • Si les règles correspondent à Proxy , elles n'utilisent tout simplement pas l'adresse IP résolue et envoient le nom de domaine directement au serveur proxy, ce qui résout le problème du CDN.
  • Si la règle correspond à DIRECT , elle initiera directement une connexion à l'adresse IP résolue

.

  • Lors de l'utilisation du proxy Socks5 / Http (s), le système n'a pas besoin de connaître l'adresse IP cible pour se connecter, il suffit simplement de lancer la demande de nom de domaine au serveur proxy.
  • Lors de l'utilisation d'un proxy transparent, car il s'agit d'une implémentation TCP / IP standard, le package reçu par Clash ne contient pas d'informations sur le nom de domaine, donc Clash doit utiliser la fonction DNS intégrée pour effectuer un mappage de nom de domaine IP <->, afin que Clash puisse envoyer le système Le DST-IP dans le paquet TCP / UDP est restauré dans le nom de domaine et la règle est mise en correspondance

.
Ma compréhension devrait être correcte? @Dreamacro
ps: La documentation de Clash n'est vraiment pas très détaillée, vérifiez les informations partout ...

Excusez-moi, s'il n'est pas utilisé comme proxy transparent, mais uniquement comme client, l'utilisation de redir-host aura-t-elle une résolution de plus que le mode faux ip (en supposant qu'il existe un nom de domaine proxy), ou tout le monde est-il pareil?

@ akw5454521
Le mode faux-ip n'implique pas réellement de résolution DNS. Une fois que le conflit reçoit la requête DNS, il envoie directement l'adresse IP réservée à l'utilisateur et établit une connexion au serveur distant directement via socks5 via le nom de domaine dans la requête DNS, puis retourne via l'adresse IP réservée et L'utilisateur établit la connexion réelle
Le mode redir-host doit être analysé et le résultat analysé n'a de sens que s'il correspond à la règle de connexion directe (établit directement une connexion). Peu importe si le résultat analysé du nom de domaine qui doit être proxy est faux, car cette étape est la même que la fausse adresse IP ci-dessus Le but à atteindre est le même, juste pour l'utilisateur et le clash pour établir la correspondance entre le nom de domaine et l'IP.La demande au serveur distant est le nom de domaine au lieu de l'IP résolue.

En ce qui concerne le problème de la vitesse, fake-ip aussi longtemps que possible

Je voudrais demander, si en mode redir-host, si GeoIP détermine qu'il n'est pas CN, il va se replier, et s'il remplit les conditions de proxy en même temps, alors l'hôte sera envoyé directement à la télécommande pour analyse, c'est-à-dire si l'IP reçue par le client Peu importe si c'est vrai (car s'il est déterminé que l'agent doit être résolu à partir de l'extrémité distante), alors je veux demander quelle est la signification du groupe de secours, il est préférable d'utiliser la pollution directement dans le serveur de noms, de toute façon, elle doit être résolue à partir de l'extrémité distante.
(Ps: personnellement, je pense que ce n'est que lorsqu'un nom de domaine est contaminé et qu'il est déterminé qu'il ne s'agit pas d'un proxy, le secours fonctionnera vraiment)

De plus, il peut y avoir un délai très élevé lors de la demande du DNS dans la solution de secours (comme

Cette page vous a été utile?
0 / 5 - 0 notes