Exponer la API local dentro de WSL a dispositivos físicos y emuladores

Exponer la API local dentro de WSL a dispositivos físicos y emuladores

Estoy trabajando en una aplicación nativa de reacción desde una computadora con Windows 10. Instalé WSL, configuré mis necesidades de backend y puedo ver que mi API responde en localhost desde Windows, no hay problema en ese sentido.

Ahora me gustaría llamarlo desde mi aplicación móvil, tanto desde un emulador de Android que usa Android Studio como desde mi dispositivo Android físico (que usa Expo) conectado a la misma red local a través de wifi.

Usar Ngrok podría funcionar, exponiendo mi host local a una URL pública, pero eso no es lo que estoy buscando. Quiero que todo siga siendo local si es posible. El ipv4 local de mi pc es 10.0.0.8, pero no sale nada en esa dirección (ni desde la aplicación móvil ni desde mi navegador de escritorio, que funciona en localhost).

Mi Ubuntu dentro de WSL dice:

~$ cat /etc/hosts

# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateHosts = false
127.0.0.1       localhost
127.0.1.1       JB-PC.localdomain       JB-PC

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Mi ipconfig:

Carte Ethernet Ethernet :

   Suffixe DNS propre à la connexion. . . : Home
   Adresse IPv6 de liaison locale. . . . .: fe80::f04e:ae2b:40b9:3d82%6
   Adresse IPv4. . . . . . . . . . . . . .: 10.0.0.8
   Masque de sous-réseau. . . . . . . . . : 255.255.255.0
   Passerelle par défaut. . . . . . . . . : 10.0.0.138

Carte Ethernet vEthernet (WSL) :

   Suffixe DNS propre à la connexion. . . :
   Adresse IPv6 de liaison locale. . . . .: fe80::68c3:25c9:588a:a957%17
   Adresse IPv4. . . . . . . . . . . . . .: 172.20.32.1
   Masque de sous-réseau. . . . . . . . . : 255.255.240.0
   Passerelle par défaut. . . . . . . . . :

¿Qué dirección IP y qué puerto debo usar para acceder a la API desde el teléfono o los emuladores? Además, ¿hay algo más que deba hacer en mi Ubuntu para exponerlo y que sea utilizable?

información relacionada