Clash: [Pertanyaan] Peran fallback di dns

Dibuat pada 17 Apr 2020  ·  6Komentar  ·  Sumber: Dreamacro/clash

Misalnya, konfigurasikan seperti ini di konfigurasi

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

Pertanyaan saya adalah apa yang dilakukan fallback?

Saya membaca artikel ini: Dampak polusi DNS di Clash (untuk Windows)

Artikel tersebut mengatakan bahwa permintaan bersamaan dibuat dari DNS di nameserver dan fallback, dan hasil respons pertama di nameserver dipilih sebagai tolok ukur. Gunakan GEOIP untuk menentukan area IP ini. Jika itu milik negara (CN) atau alamat yang dicadangkan, itu akan langsung merespons klien. Dalam kasus ini, hasil di fallback ditanggapi ke klien

Namun artikel tersebut juga menyebutkan bahwa ketika IP yang tercemar dinilai membutuhkan proxy, Clash masih dapat bekerja secara normal saat ini.Hal ini karena Clash sebenarnya tidak mengirimkan alamat IP ini ke server proxy, melainkan langsung mengirimkan host tersebut ke server proxy. Resolusi DNS dilakukan di server proxy, sehingga permintaan dapat memperoleh alamat IP yang lebih sesuai dan penggunaan sumber daya CDN yang lebih baik.

Saya sangat bingung karena nameserver dapat langsung menentukan IP yang tercemar, IP yang tercemar akan langsung mengirim host ke server proxy, dan server proxy akan menyelesaikan IP yang benar dan ramah CDN, bukankah perlu untuk fallback?

Saya tahu saya pasti sedang memikirkan sesuatu yang salah, saya di sini untuk meminta nasihat, jangan menertawakan saya ...

question

Komentar yang paling membantu

IP yang tercemar tidak dapat dinilai, tetapi jika GeoIP yang dikembalikan oleh DNS pertama bukan CN, nilai DNS cadangan akan diambil. Karena GeoIP yang tercemar ada di luar negeri, bentrokan dapat mencegah polusi dari tingkat ini. Tentu saja, premisnya adalah untuk Setel DNS upstream dari grup fallback (seperti DNS bebas polusi [kepunahan dasar terekspos di dinding], melalui port non-standar, DNS melalui TLS / HTTPS)
Anda dapat merujuk ke: https://github.com/Dreamacro/clash/issues/621#issuecomment -614702773

Sedangkan untuk wiki cfw, meskipun terkontaminasi, itu berarti bahwa jika aturan pencocokan koneksi saat ini menghasilkan proxy, bentrokan akan mengubah koneksi yang diprakarsai oleh IP ke nama host aslinya dan mengirimkannya ke node jarak jauh, begitu juga klien / Browser mendapatkan IP yang tercemar dan itu tidak akan mempengaruhi koneksi akhir, karena IP yang tercemar telah dibuang dan diterapkan kembali dengan nama host asli ketika dikirim ke proxy jarak jauh melalui bentrokan, yaitu redir- Asal nama mode host.
Juga referensi: Berbicara tentang perilaku resolusi DNS di lingkungan proxy | Blog Sukka

Semua 6 komentar

Dns bawaan adalah untuk menyelesaikan masalah resolusi dns dari proxy transparan, tidak perlu membukanya untuk penggunaan normal

IP yang tercemar tidak dapat dinilai, tetapi jika GeoIP yang dikembalikan oleh DNS pertama bukan CN, nilai DNS cadangan akan diambil. Karena GeoIP yang tercemar ada di luar negeri, bentrokan dapat mencegah polusi dari tingkat ini. Tentu saja, premisnya adalah untuk Setel DNS upstream dari grup fallback (seperti DNS bebas polusi [kepunahan dasar terekspos di dinding], melalui port non-standar, DNS melalui TLS / HTTPS)
Anda dapat merujuk ke: https://github.com/Dreamacro/clash/issues/621#issuecomment -614702773

Sedangkan untuk wiki cfw, meskipun terkontaminasi, itu berarti bahwa jika aturan pencocokan koneksi saat ini menghasilkan proxy, bentrokan akan mengubah koneksi yang diprakarsai oleh IP ke nama host aslinya dan mengirimkannya ke node jarak jauh, begitu juga klien / Browser mendapatkan IP yang tercemar dan itu tidak akan mempengaruhi koneksi akhir, karena IP yang tercemar telah dibuang dan diterapkan kembali dengan nama host asli ketika dikirim ke proxy jarak jauh melalui bentrokan, yaitu redir- Asal nama mode host.
Juga referensi: Berbicara tentang perilaku resolusi DNS di lingkungan proxy | Blog Sukka

  • nameserver server di tidak tercemar (seperti server DNS bebas polusi yang dibuat secara lokal) fallback tidak perlu disetel
  • Jika aturannya cocok dengan Proxy , itu tidak akan menggunakan IP yang diselesaikan, dan akan mengirim nama domain langsung ke server proxy, yang akan menyelesaikan masalah CDN
  • Jika aturan cocok dengan DIRECT , itu akan langsung memulai koneksi ke IP yang diselesaikan

.

  • Saat menggunakan proxy Socks5 / Http (s), sistem tidak perlu mengetahui alamat IP target untuk terhubung, cukup lemparkan permintaan nama domain ke server proxy.
  • Saat menggunakan proxy transparan, karena ini adalah implementasi standar TCP / IP, paket yang diterima oleh Clash tidak berisi informasi nama domain, jadi Clash harus menggunakan fungsi DNS bawaan untuk melakukan pemetaan nama domain <-> IP, sehingga Clash dapat mengirim sistem DST-IP dalam paket TCP / UDP dikembalikan ke nama domain dan aturannya cocok

.
Pemahaman saya harus benar, bukan? @Dreamacro
ps: Dokumentasi Clash sebenarnya tidak terlalu detail, periksa informasinya di mana-mana ...

  • nameserver server di tidak tercemar (seperti server DNS bebas polusi yang dibuat secara lokal) fallback tidak perlu disetel
  • Jika aturannya cocok dengan Proxy , itu tidak akan menggunakan IP yang diselesaikan, dan akan mengirim nama domain langsung ke server proxy, yang akan menyelesaikan masalah CDN
  • Jika aturan cocok dengan DIRECT , itu akan langsung memulai koneksi ke IP yang diselesaikan

.

  • Saat menggunakan proxy Socks5 / Http (s), sistem tidak perlu mengetahui alamat IP target untuk terhubung, cukup lemparkan permintaan nama domain ke server proxy.
  • Saat menggunakan proxy transparan, karena ini adalah implementasi standar TCP / IP, paket yang diterima oleh Clash tidak berisi informasi nama domain, jadi Clash harus menggunakan fungsi DNS bawaan untuk melakukan pemetaan nama domain <-> IP, sehingga Clash dapat mengirim sistem DST-IP dalam paket TCP / UDP dikembalikan ke nama domain dan aturannya cocok

.
Pemahaman saya harus benar, bukan? @Dreamacro
ps: Dokumentasi Clash sebenarnya tidak terlalu detail, periksa informasinya di mana-mana ...

Permisi, jika tidak digunakan sebagai proxy transparan, tetapi hanya sebagai klien, apakah penggunaan redir-host memiliki resolusi satu kali lebih banyak daripada mode ip palsu (dengan asumsi ada nama domain proxy), atau apakah semua orang sama?

@bayu_joo
Modus ip palsu sebenarnya tidak melibatkan resolusi dns. Setelah bentrokan menerima permintaan dns, ia secara langsung mengirimkan ip yang dicadangkan ke pengguna, dan membuat sambungan langsung ke server jauh melalui socks5 melalui nama domain di permintaan dns, dan kemudian kembali melalui ip yang dicadangkan dan Pengguna membuat koneksi yang sebenarnya
Mode redir-host perlu diurai, dan hasil parsing hanya berarti jika cocok dengan aturan koneksi langsung (langsung membuat koneksi). Tidak masalah jika hasil parsing dari nama domain yang perlu di-proxy adalah palsu, karena langkah ini sama dengan fake-ip di atas Tujuan yang ingin dicapai adalah sama, hanya untuk pengguna dan bentrok untuk membangun korespondensi antara nama domain dan IP. Permintaan ke server jauh adalah nama domain, bukan IP yang diselesaikan

Sedangkan untuk masalah kecepatan, palsu-ip selama mungkin

Saya ingin bertanya, jika dalam mode redir-host, jika GeoIP menentukan bahwa itu bukan CN, ia akan mundur, dan jika memenuhi kondisi proxy pada saat yang sama, maka host akan langsung dikirim ke remote untuk dianalisis, yaitu apakah IP diterima oleh klien Tidak masalah jika itu benar (karena jika ditentukan bahwa agen harus diselesaikan dari ujung jarak jauh), maka saya ingin bertanya apa arti grup fallback, lebih baik menggunakan polusi di nameserver langsung, bagaimanapun, itu harus diselesaikan dari ujung jarak jauh.
(Mz: Saya pribadi berpikir bahwa hanya ketika nama domain terkontaminasi dan ditentukan bahwa itu bukan proxy, fallback akan benar-benar berfungsi)

Selain itu, mungkin ada penundaan yang sangat tinggi saat meminta dns di fallback (seperti tls: //dns.google, dll. ), Jadi klien menunggu terlalu lama, bukan?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat