Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DNS servers lack IPv6 support, DNS recursion fails causing connection timeouts. #212682

Open
bert128 opened this issue May 14, 2024 · 0 comments
Open
Assignees

Comments

@bert128
Copy link

bert128 commented May 14, 2024

Does this issue occur when all extensions are disabled?: No, the functionality used does not exist.

  • VS Code Version: 1.89.1
  • OS Version: MacOS 14.4.1

Steps to Reproduce:

  1. Open a remote location via SSH to a host that only has IPv6 connectivity, including IPv6 DNS resolution
  2. Connection hangs for several minutes
  3. Debugging shows the host is attempting to resolve Host "update.code.visualstudio.com", which hangs

What's happening is DNS resolution proceeds through several CNAME records:

$ host update.code.visualstudio.com.
update.code.visualstudio.com is an alias for vscode-update-g6gcb6ggdthkctd9.z01.azurefd.net.
vscode-update-g6gcb6ggdthkctd9.z01.azurefd.net is an alias for star-azurefd-prod.trafficmanager.net.
star-azurefd-prod.trafficmanager.net is an alias for shed.dual-low.part-0031.t-0009.t-msedge.net.
shed.dual-low.part-0031.t-0009.t-msedge.net is an alias for part-0031.t-0009.t-msedge.net.
part-0031.t-0009.t-msedge.net has address 13.107.213.59
part-0031.t-0009.t-msedge.net has address 13.107.246.59
part-0031.t-0009.t-msedge.net has IPv6 address 2620:1ec:46::59
part-0031.t-0009.t-msedge.net has IPv6 address 2620:1ec:bdf::59

The DNS servers for visualstudio.net have IPv6, as do the DNS servers for azurefd.net so DNS resolution is successful up to this point. However the DNS servers for "trafficmanager.net" and "t-msedge.net" do not have IPv6, so DNS resolution fails at this point unless your DNS resolver has legacy connectivity.

Examples:

$ host -t NS t-msedge.net
t-msedge.net name server ns2.t-msedge.net.
t-msedge.net name server ns1.t-msedge.net.
t-msedge.net name server ns4.t-msedge.net.
t-msedge.net name server ns3.t-msedge.net.
$ host ns2.t-msedge.net.
ns2.t-msedge.net has address 13.107.246.2
$ host ns4.t-msedge.net.
ns4.t-msedge.net has address 13.107.213.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants