dnsTunneling: queries for some names and record types time out while Windows resolves them

Abierto
#41,884 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
cpp
Área
networking

Línea de trabajo

Start by tracing the WSL DNS tunneling path that serves requests at 10.255.255.254 and compare it with the mirrored loopback path to 127.0.0.1. The report provides reproducible DNS query cases and diagnostic results, but does not name source files or tests, so first locate the tunneling implementation and its existing DNS tests. Done means tunneled queries return answers for the reported names and record types without timing out.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

network wsl2
Windows Version

Microsoft Windows [Version 10.0.26200.9457]

WSL Version

2.7.3.0

Are you using WSL 1, WSL 2, or WSLC?
  • WSL 2
  • WSL 1
  • WSLC
Kernel Version

No response

Distro Version

Ubuntu-24.04

Other Software

Safing Portmaster 2.2.3
Docker Desktop 4.95.0 (242831)
Docker Engine 29.8.2
Visual Studio Code 1.141.0 (user setup)

Repro Steps
  1. On Windows, run a local DNS resolver bound to 127.0.0.1 and set it as the DNS server of the active adapter (here: Safing Portmaster, forwarding to Quad9 over DoT).
  2. Configure %UserProfile%\.wslconfig with networkingMode=mirrored and dnsTunneling=true, keep the WSL-generated /etc/resolv.conf (nameserver 10.255.255.254), and run wsl --shutdown.
  3. In the distro, query the tunnel and the Windows-side resolver for the same names:
    • dig A archive.ubuntu.com @10.255.255.254 +time=3 +tries=1
    • dig A archive.ubuntu.com @127.0.0.1 +time=3 +tries=1
    • dig AAAA awscli.amazonaws.com @10.255.255.254 +time=3 +tries=1
    • dig AAAA awscli.amazonaws.com @127.0.0.1 +time=3 +tries=1
  4. Resolve the same names through glibc with the default configuration: curl -sI https://awscli.amazonaws.com and sudo apt update.
  5. For comparison, resolve the same names on Windows: Resolve-DnsName archive.ubuntu.com -Type A -DnsOnly -NoHostsFile and Resolve-DnsName awscli.amazonaws.com -Type AAAA -DnsOnly -NoHostsFile.
Expected Behavior

The DNS tunnel at 10.255.255.254 returns the same answers as the Windows resolver, within a comparable time: A records for archive.ubuntu.com, and an empty NOERROR (NODATA) response for the AAAA query on awscli.amazonaws.com, which is a CNAME into a CloudFront distribution without IPv6. Tools that resolve through glibc (curl, ping, apt) complete normally, as they do on Windows and as they do inside WSL when /etc/resolv.conf points directly at 127.0.0.1.

Actual Behavior

The tunnel never replies to some queries, while the Windows resolver at 127.0.0.1 answers the same queries immediately:

  • dig A archive.ubuntu.com @10.255.255.254 fails with communications error to 10.255.255.254#53: timed out / no servers could be reached. The same query against 127.0.0.1 answers in under 300 ms.
  • dig AAAA awscli.amazonaws.com @10.255.255.254 never returns. The A query for the same name does resolve through the tunnel, and other names such as google.com resolve normally, so the failure depends on the name and the record type.
  • On Windows, Resolve-DnsName -DnsOnly -NoHostsFile resolves every affected name and record type without delay.

Inside the distro this breaks ordinary tools. curl https://awscli.amazonaws.com fails with curl: (28) Resolving timed out after 5000 milliseconds. ping awscli.amazonaws.com hangs before printing its PING header line. apt update stalls at Connecting to archive.ubuntu.com and Connecting to security.ubuntu.com. getent ahostsv4 awscli.amazonaws.com succeeds, because glibc with AI_ADDRCONFIG sends only the A query, which is misleading during diagnosis.

Connectivity is not affected. ICMP to the resolved CloudFront address succeeds, and curl --resolve awscli.amazonaws.com:443:<ip> completes the TCP connection, the full TLS 1.3 handshake and the HTTP request. Pausing Portmaster does not change the behaviour inside WSL.

Workarounds observed:

  • options no-aaaa in /etc/resolv.conf fixes awscli.amazonaws.com but not archive.ubuntu.com, so the bug is not limited to AAAA queries.
  • generateResolvConf = false with a static /etc/resolv.conf containing nameserver 127.0.0.1 fixes every affected name. The queries then reach the Windows resolver through mirrored loopback and return correct answers.
Diagnostic Logs

WSL DNS tunneling diagnostic report

Generated: 2026-10-12T16:33:55+00:00

Versions

WSL version
$ wsl.exe --version
WSL version: 2.7.3.0
Kernel version: 6.6.114.1-1
WSLg version: 1.0.73
MSRDC version: 1.2.6676
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26100.1-240331-1435.ge-release
Windows version: 10.0.26200.9457
Windows version
PS> [System.Environment]::OSVersion.VersionString; (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion
Microsoft Windows NT 10.0.26200.0
25H2
Portmaster version
PS> Get-CimInstance Win32_Process -Filter "Name LIKE 'portmaster%'" | ForEach-Object { '{0}  {1}' -f $_.Name, $(if ($_.ExecutablePath) { (Get-Item $_.ExecutablePath).VersionInfo.ProductVersion } else { 'path not accessible' }) }
portmaster.exe  2.2.3
portmaster-core.exe  path not accessible
Distro
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.4 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
Kernel
$ uname -a
Linux Heroselohim 6.6.114.1-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Mon Dec  1 20:46:23 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
glibc
$ bash -c ldd --version | head -1
ldd (Ubuntu GLIBC 2.39-0ubuntu8.8) 2.39
dig
$ dig -v
DiG 9.18.39-0ubuntu0.24.04.7-Ubuntu

WSL configuration

.wslconfig
$ cat /mnt/c/Users/Hexxxhim/.wslconfig
[wsl2]
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
memory=8GB
swap=2GB
processors=4
/etc/wsl.conf
$ cat /etc/wsl.conf
[boot]
systemd=true

[user]
default=heros

[network]
generateResolvConf = false

/etc/resolv.conf (link target)
$ ls -l /etc/resolv.conf
-rw-r--r-- 1 root root 21 Oct 12 16:01 /etc/resolv.conf
/etc/resolv.conf (content)
$ cat /etc/resolv.conf
nameserver 127.0.0.1
nsswitch hosts line
$ grep ^hosts /etc/nsswitch.conf
hosts:          files mdns4_minimal [NOTFOUND=return] dns

Network state (WSL)

Addresses
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether ea:47:3a:fc:c9:6a brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether e8:47:3a:fc:c9:6a brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 10:ff:e0:b1:be:c0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.51/24 brd 192.168.1.255 scope global noprefixroute eth2
       valid_lft forever preferred_lft forever
5: loopback0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:48:dc:38 brd ff:ff:ff:ff:ff:ff
6: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether ee:47:3a:fc:c9:6a brd ff:ff:ff:ff:ff:ff
IPv4 routes
$ ip route
default via 192.168.1.1 dev eth2 proto kernel metric 25
192.168.1.0/24 dev eth2 proto kernel scope link metric 281
192.168.1.1 dev eth2 proto kernel scope link metric 25
IPv6 routes
$ ip -6 route

DNS query matrix (dig +time=3 +tries=1)

Server Name Type Status Answers Query time (ms)
10.255.255.254 archive.ubuntu.com A TIMEOUT - -
10.255.255.254 archive.ubuntu.com AAAA TIMEOUT - -
10.255.255.254 security.ubuntu.com A TIMEOUT - -
10.255.255.254 security.ubuntu.com AAAA TIMEOUT - -
10.255.255.254 awscli.amazonaws.com A TIMEOUT - -
10.255.255.254 awscli.amazonaws.com AAAA TIMEOUT - -
10.255.255.254 ppa.launchpadcontent.net A TIMEOUT - -
10.255.255.254 ppa.launchpadcontent.net AAAA TIMEOUT - -
10.255.255.254 google.com A TIMEOUT - -
10.255.255.254 google.com AAAA TIMEOUT - -
127.0.0.1 archive.ubuntu.com A NOERROR 9 51
127.0.0.1 archive.ubuntu.com AAAA NOERROR 9 268
127.0.0.1 security.ubuntu.com A NOERROR 9 55
127.0.0.1 security.ubuntu.com AAAA NOERROR 9 485
127.0.0.1 awscli.amazonaws.com A NOERROR 4 80
127.0.0.1 awscli.amazonaws.com AAAA NOERROR 8 93
127.0.0.1 ppa.launchpadcontent.net A NOERROR 3 55
127.0.0.1 ppa.launchpadcontent.net AAAA NOERROR 3 55
127.0.0.1 google.com A NOERROR 1 51
127.0.0.1 google.com AAAA NOERROR 1 51
9.9.9.9 archive.ubuntu.com A NOERROR 9 4
9.9.9.9 archive.ubuntu.com AAAA NOERROR 9 4
9.9.9.9 security.ubuntu.com A NOERROR 9 0
9.9.9.9 security.ubuntu.com AAAA NOERROR 9 4
9.9.9.9 awscli.amazonaws.com A NOERROR 4 42
9.9.9.9 awscli.amazonaws.com AAAA NOERROR 8 8
9.9.9.9 ppa.launchpadcontent.net A NOERROR 3 8
9.9.9.9 ppa.launchpadcontent.net AAAA NOERROR 3 221
9.9.9.9 google.com A NOERROR 1 8
9.9.9.9 google.com AAAA NOERROR 1 4

Full dig output is in dig-raw.txt.

glibc resolution with the current resolv.conf

getent ahosts archive.ubuntu.com
$ bash -c time (timeout 15 getent ahosts archive.ubuntu.com | head -3)
91.189.92.23    STREAM archive.ubuntu.com
91.189.92.23    DGRAM
91.189.92.23    RAW

real    0m0.048s
user    0m0.001s
sys     0m0.001s
getent ahosts security.ubuntu.com
$ bash -c time (timeout 15 getent ahosts security.ubuntu.com | head -3)
91.189.91.82    STREAM security.ubuntu.com
91.189.91.82    DGRAM
91.189.91.82    RAW

real    0m0.054s
user    0m0.002s
sys     0m0.001s
getent ahosts awscli.amazonaws.com
$ bash -c time (timeout 15 getent ahosts awscli.amazonaws.com | head -3)
65.8.207.77     STREAM awscli.amazonaws.com
65.8.207.77     DGRAM
65.8.207.77     RAW

real    0m0.053s
user    0m0.002s
sys     0m0.000s
getent ahosts ppa.launchpadcontent.net
$ bash -c time (timeout 15 getent ahosts ppa.launchpadcontent.net | head -3)
185.125.189.187 STREAM ppa.launchpadcontent.net
185.125.189.187 DGRAM
185.125.189.187 RAW

real    0m0.053s
user    0m0.002s
sys     0m0.000s
getent ahosts google.com
$ bash -c time (timeout 15 getent ahosts google.com | head -3)
142.251.129.174 STREAM google.com
142.251.129.174 DGRAM
142.251.129.174 RAW

real    0m0.052s
user    0m0.002s
sys     0m0.000s

Connectivity with DNS bypassed

ICMP to 65.8.207.77
$ ping -c 2 -W 3 65.8.207.77
PING 65.8.207.77 (65.8.207.77) 56(84) bytes of data.
64 bytes from 65.8.207.77: icmp_seq=1 ttl=250 time=5.00 ms
64 bytes from 65.8.207.77: icmp_seq=2 ttl=250 time=5.03 ms

--- 65.8.207.77 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 5.003/5.017/5.032/0.014 ms
HTTPS to awscli.amazonaws.com via 65.8.207.77
$ curl -sS -o /dev/null -w HTTP %{http_code}, connect %{time_connect}s, TLS %{time_appconnect}s\n --connect-timeout 5 --resolve awscli.amazonaws.com:443:65.8.207.77 https://awscli.amazonaws.com
HTTP 301, connect 0.004644s, TLS 0.014425s

Windows-side DNS

DNS servers per adapter
PS> Get-DnsClientServerAddress -AddressFamily IPv4 | Format-Table -AutoSize InterfaceAlias, InterfaceIndex, ServerAddresses | Out-String -Width 200

InterfaceAlias                 InterfaceIndex ServerAddresses
--------------                 -------------- ---------------
Ethernet                                   11 {127.0.0.1}
WiFi                                       19 {9.9.9.9, 149.112.112.112}
WiFi 2                                     10 {}
WiFi 5                                     13 {}
Bluetooth Network Connection 2             17 {}
Loopback Pseudo-Interface 1                 1 {}
vEthernet (Default Switch)                 34 {}



Active adapters
PS> Get-NetAdapter | Where-Object Status -eq 'Up' | Format-Table -AutoSize Name, InterfaceDescription, ifIndex, MtuSize | Out-String -Width 200

Name                       InterfaceDescription                       ifIndex MtuSize
----                       --------------------                       ------- -------
vEthernet (FSE HostVnic)   Hyper-V Virtual Ethernet Container Adapter      46    1500
Ethernet                   Realtek PCIe 2.5GbE Family Controller           11    1500
vEthernet (Default Switch) Hyper-V Virtual Ethernet Adapter                34    1500



NRPT policy
PS> Get-DnsClientNrptPolicy | Format-List | Out-String -Width 200

Resolve-DnsName archive.ubuntu.com A
PS> Measure-Command { $script:r = Resolve-DnsName archive.ubuntu.com -Type A -DnsOnly -NoHostsFile -ErrorAction SilentlyContinue } | ForEach-Object { 'Elapsed: {0:N0} ms' -f $_.TotalMilliseconds }; $script:r | Where-Object Section -eq 'Answer' | Format-Table -AutoSize Name, Type, TTL, IPAddress, NameHost | Out-String -Width 200
Elapsed: 155 ms

Name               Type TTL IPAddress      NameHost
----               ---- --- ---------      --------
archive.ubuntu.com    A  17 91.189.92.23
archive.ubuntu.com    A  17 91.189.91.83
archive.ubuntu.com    A  17 91.189.91.81
archive.ubuntu.com    A  17 91.189.92.22
archive.ubuntu.com    A  17 185.125.190.83
archive.ubuntu.com    A  17 91.189.92.24
archive.ubuntu.com    A  17 91.189.91.82
archive.ubuntu.com    A  17 185.125.190.81
archive.ubuntu.com    A  17 185.125.190.82



Resolve-DnsName archive.ubuntu.com AAAA
PS> Measure-Command { $script:r = Resolve-DnsName archive.ubuntu.com -Type AAAA -DnsOnly -NoHostsFile -ErrorAction SilentlyContinue } | ForEach-Object { 'Elapsed: {0:N0} ms' -f $_.TotalMilliseconds }; $script:r | Where-Object Section -eq 'Answer' | Format-Table -AutoSize Name, Type, TTL, IPAddress, NameHost | Out-String -Width 200
Elapsed: 142 ms

Name               Type TTL IPAddress            NameHost
----               ---- --- ---------            --------
archive.ubuntu.com AAAA  17 2a06:bc80:0:1000::16
archive.ubuntu.com AAAA  17 2620:2d:4000:1::103
archive.ubuntu.com AAAA  17 2620:2d:4000:1::102
archive.ubuntu.com AAAA  17 2620:2d:4002:1::101
archive.ubuntu.com AAAA  17 2620:2d:4002:1::103
archive.ubuntu.com AAAA  17 2a06:bc80:0:1000::17
archive.ubuntu.com AAAA  17 2620:2d:4000:1::101
archive.ubuntu.com AAAA  17 2a06:bc80:0:1000::18
archive.ubuntu.com AAAA  17 2620:2d:4002:1::102



Resolve-DnsName security.ubuntu.com A
PS> Measure-Command { $script:r = Resolve-DnsName security.ubuntu.com -Type A -DnsOnly -NoHostsFile -ErrorAction SilentlyContinue } | ForEach-Object { 'Elapsed: {0:N0} ms' -f $_.TotalMilliseconds }; $script:r | Where-Object Section -eq 'Answer' | Format-Table -AutoSize Name, Type, TTL, IPAddress, NameHost | Out-String -Width 200
Elapsed: 133 ms

Name                Type TTL IPAddress      NameHost
----                ---- --- ---------      --------
security.ubuntu.com    A  17 91.189.91.82
security.ubuntu.com    A  17 91.189.92.22
security.ubuntu.com    A  17 91.189.92.23
security.ubuntu.com    A  17 91.189.91.83
security.ubuntu.com    A  17 185.125.190.81
security.ubuntu.com    A  17 185.125.190.83
security.ubuntu.com    A  17 185.125.190.82
security.ubuntu.com    A  17 91.189.91.81
security.ubuntu.com    A  17 91.189.92.24



Resolve-DnsName security.ubuntu.com AAAA
PS> Measure-Command { $script:r = Resolve-DnsName security.ubuntu.com -Type AAAA -DnsOnly -NoHostsFile -ErrorAction SilentlyContinue } | ForEach-Object { 'Elapsed: {0:N0} ms' -f $_.TotalMilliseconds }; $script:r | Where-Object Section -eq 'Answer' | Format-Table -AutoSize Name, Type, TTL, IPAddress, NameHost | Out-String -Width 200
Elapsed: 137 ms

Name                Type TTL IPAddress            NameHost
----                ---- --- ---------            --------
security.ubuntu.com AAAA  17 2620:2d:4000:1::102
security.ubuntu.com AAAA  17 2620:2d:4002:1::101
security.ubuntu.com AAAA  17 2620:2d:4000:1::103
security.ubuntu.com AAAA  17 2620:2d:4002:1::103
security.ubuntu.com AAAA  17 2a06:bc80:0:1000::17
security.ubuntu.com AAAA  17 2a06:bc80:0:1000::16
security.ubuntu.com AAAA  17 2a06:bc80:0:1000::18
security.ubuntu.com AAAA  17 2620:2d:4002:1::102
security.ubuntu.com AAAA  17 2620:2d:4000:1::101



Resolve-DnsName awscli.amazonaws.com A
PS> Measure-Command { $script:r = Resolve-DnsName awscli.amazonaws.com -Type A -DnsOnly -NoHostsFile -ErrorAction SilentlyContinue } | ForEach-Object { 'Elapsed: {0:N0} ms' -f $_.TotalMilliseconds }; $script:r | Where-Object Section -eq 'Answer' | Format-Table -AutoSize Name, Type, TTL, IPAddress, NameHost | Out-String -Width 200
Elapsed: 140 ms

Name                 Type TTL IPAddress    NameHost
----                 ---- --- ---------    --------
awscli.amazonaws.com    A  17 65.8.207.77
awscli.amazonaws.com    A  17 65.8.207.113
awscli.amazonaws.com    A  17 65.8.207.39
awscli.amazonaws.com    A  17 65.8.207.37



Resolve-DnsName awscli.amazonaws.com AAAA
PS> Measure-Command { $script:r = Resolve-DnsName awscli.amazonaws.com -Type AAAA -DnsOnly -NoHostsFile -ErrorAction SilentlyContinue } | ForEach-Object { 'Elapsed: {0:N0} ms' -f $_.TotalMilliseconds }; $script:r | Where-Object Section -eq 'Answer' | Format-Table -AutoSize Name, Type, TTL, IPAddress, NameHost | Out-String -Width 200
Elapsed: 143 ms

Name                 Type TTL IPAddress                             NameHost
----                 ---- --- ---------                             --------
awscli.amazonaws.com AAAA  17 2600:9000:20bb:da00:16:c7b7:ba40:93a1
awscli.amazonaws.com AAAA  17 2600:9000:20bb:5200:16:c7b7:ba40:93a1
awscli.amazonaws.com AAAA  17 2600:9000:20bb:1000:16:c7b7:ba40:93a1
awscli.amazonaws.com AAAA  17 2600:9000:20bb:9400:16:c7b7:ba40:93a1
awscli.amazonaws.com AAAA  17 2600:9000:20bb:6a00:16:c7b7:ba40:93a1
awscli.amazonaws.com AAAA  17 2600:9000:20bb:7e00:16:c7b7:ba40:93a1
awscli.amazonaws.com AAAA  17 2600:9000:20bb:8c00:16:c7b7:ba40:93a1
awscli.amazonaws.com AAAA  17 2600:9000:20bb:dc00:16:c7b7:ba40:93a1



Resolve-DnsName ppa.launchpadcontent.net A
PS> Measure-Command { $script:r = Resolve-DnsName ppa.launchpadcontent.net -Type A -DnsOnly -NoHostsFile -ErrorAction SilentlyContinue } | ForEach-Object { 'Elapsed: {0:N0} ms' -f $_.TotalMilliseconds }; $script:r | Where-Object Section -eq 'Answer' | Format-Table -AutoSize Name, Type, TTL, IPAddress, NameHost | Out-String -Width 200
Elapsed: 139 ms

Name                     Type TTL IPAddress       NameHost
----                     ---- --- ---------       --------
ppa.launchpadcontent.net    A  17 185.125.189.187
ppa.launchpadcontent.net    A  17 185.125.189.188
ppa.launchpadcontent.net    A  17 185.125.189.186



Resolve-DnsName ppa.launchpadcontent.net AAAA
PS> Measure-Command { $script:r = Resolve-DnsName ppa.launchpadcontent.net -Type AAAA -DnsOnly -NoHostsFile -ErrorAction SilentlyContinue } | ForEach-Object { 'Elapsed: {0:N0} ms' -f $_.TotalMilliseconds }; $script:r | Where-Object Section -eq 'Answer' | Format-Table -AutoSize Name, Type, TTL, IPAddress, NameHost | Out-String -Width 200
Elapsed: 142 ms

Name                     Type TTL IPAddress              NameHost
----                     ---- --- ---------              --------
ppa.launchpadcontent.net AAAA  17 2620:2d:4000:1009::15f
ppa.launchpadcontent.net AAAA  17 2620:2d:4000:1009::12c
ppa.launchpadcontent.net AAAA  17 2620:2d:4000:1009::1ed



Resolve-DnsName google.com A
PS> Measure-Command { $script:r = Resolve-DnsName google.com -Type A -DnsOnly -NoHostsFile -ErrorAction SilentlyContinue } | ForEach-Object { 'Elapsed: {0:N0} ms' -f $_.TotalMilliseconds }; $script:r | Where-Object Section -eq 'Answer' | Format-Table -AutoSize Name, Type, TTL, IPAddress, NameHost | Out-String -Width 200
Elapsed: 145 ms

Name       Type TTL IPAddress       NameHost
----       ---- --- ---------       --------
google.com    A  17 142.251.129.174



Resolve-DnsName google.com AAAA
PS> Measure-Command { $script:r = Resolve-DnsName google.com -Type AAAA -DnsOnly -NoHostsFile -ErrorAction SilentlyContinue } | ForEach-Object { 'Elapsed: {0:N0} ms' -f $_.TotalMilliseconds }; $script:r | Where-Object Section -eq 'Answer' | Format-Table -AutoSize Name, Type, TTL, IPAddress, NameHost | Out-String -Width 200
Elapsed: 134 ms

Name       Type TTL IPAddress               NameHost
----       ---- --- ---------               --------
google.com AAAA  17 2800:3f0:4002:817::200e



Lenguaje dominante
C++
Estrellas
34.3k
Forks
1.9k
Merge medio
1 d 13 h
PR fusionados (30 d)
166

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/WSL

Todos los issues de microsoft/WSL

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.