Menanyakan DNS melalui TCP menerusi pemajuan tempatan SSH
Majukan port TCP tempatan tanpa keistimewaan ke pelayan DNS jauh dan minta DNS over TCP secara eksplisit dengan dig.
Pemajuan tempatan OpenSSH membawa TCP. DNS juga boleh menggunakan TCP, asalkan alat pertanyaan dan perkhidmatan DNS jauh menggunakan pengangkutan itu.
Untuk pelayan DNS yang boleh dicapai dari hos SSH, buka pemajuan yang mendengar pada loopback sahaja:
ssh -N -L 127.0.0.1:1053:dns.internal:53 [email protected]
Kemudian hantar pertanyaan TCP DNS eksplisit dari mesin tempatan:
dig +tcp @127.0.0.1 -p 1053 app.internal A
Gantikan pelayan DNS, hos SSH dan nama yang ditanya dengan nilai yang dimaksudkan. Bahagian pelayan SSH mesti dapat mencapai dns.internal:53, dan dasar pemajuan mesti membenarkannya.
Port tempatan berada di atas julat port istimewa. Pertanyaan ke port tempatan 1053 tidak memerlukan pengikatan port DNS sistem 53.
Ini tidak mengubah hala pertanyaan UDP DNS biasa secara automatik. Paip bait UDP-ke-TCP mentah tidak mencukupi kerana DNS over TCP menambah medan panjang dan pembingkaian aliran. Integrasi dengan penyelesai sistem memerlukan pemaju DNS yang sesuai atau konfigurasi TCP yang disokong secara eksplisit.
Akhirnya, memperoleh alamat melalui laluan ini tidak menghalakan sambungan web seterusnya melalui SSH. Pencarian DNS dan pengangkutan ke destinasi kekal sebagai pilihan berasingan.