skycoin / skywire-services

0 stars 4 forks source link

can't connect to address-resolver UDP - sudph transports not working (local deployment behind a router) #27

Open 0pcom opened 1 year ago

0pcom commented 1 year ago

I have a local deployment running here using the dmsg discovery from prod

https://conf.magnetosphere.net/

all the services are currently configured to use skycoin's dmsg-discovery

When I start a visor after generating a config that uses the above conf service, it cannot bind to the udp port of the address resolver

skywire-cli config gen -brx --autoconn -a http://conf.magnetosphere.net -n | sudo skywire-visor -n --loglvl debug

result

[2023-07-10T09:50:26.053147395-05:00] DEBUG [stun_client]: Initialized.
[2023-07-10T09:50:26.053215631-05:00] DEBUG [transport_manager]: Serving sudph network
[2023-07-10T09:50:26.053298862-05:00] DEBUG [transport_manager]: listening on network: sudph
[2023-07-10T09:50:26.053330524-05:00] DEBUG [sudph]: Initialized.
[2023-07-10T09:50:26.053361303-05:00] DEBUG [transports]: Initialized.
[2023-07-10T09:50:26.053685685-05:00] DEBUG [sudph]: Binding
[2023-07-10T09:50:26.056130769-05:00] DEBUG [ping]: Accepting sky ping conn...
[2023-07-10T09:50:26.055990456-05:00] DEBUG [ping]: Initialized.
[2023-07-10T09:50:26.057493521-05:00] DEBUG [visor]: Initialized.
[2023-07-10T09:50:26.066475619-05:00] DEBUG [visor]: Serving RPC client over dmsg. addr=02cf226af53dc6e507dc12a7a444b76d9aa7bfbd48b5f83a8124af76e14f78e39a:46
[2023-07-10T09:50:26.069940221-05:00] INFO [visor]: Serving hypervisor... addr=":8000" tls=false
[2023-07-10T09:50:26.069981454-05:00] INFO [visor]: Hypervisor UI: http://127.0.0.1:8000
[2023-07-10T09:50:26.070133301-05:00] DEBUG [hypervisor]: Initialized.
[2023-07-10T09:50:26.070160977-05:00] INFO [visor:startup]: Startup complete.
[2023-07-10T09:50:26.206200697-05:00] DEBUG httpClient.BindSUDPR [address_resolver]: SUDPH Local port: 45226
[2023-07-10T09:50:27.415902165-05:00] DEBUG dtm.establishTracker [dmsg_tracker_manager]: Dmsgtracker client Established. client_pk=02cf226af53dc6e507dc12a7a444b76d9aa7bfbd48b5f83a8124af76e14f78e39a
[2023-07-10T09:50:36.316189759-05:00] ERROR [sudph]: Failed to listen on port: handshake failed: timeout

When I use the skywire production deployment, the error is not present

skywire-cli config gen -brx --autoconn -n | sudo skywire-visor -n --loglvl debug

result

[2023-07-10T10:22:49.175832427-05:00] DEBUG [stun_client]: Initialized.
[2023-07-10T10:22:49.175915365-05:00] DEBUG [transport_manager]: Serving sudph network
[2023-07-10T10:22:49.175999743-05:00] DEBUG [transport_manager]: listening on network: sudph
[2023-07-10T10:22:49.176030485-05:00] DEBUG [sudph]: Initialized.
[2023-07-10T10:22:49.17607149-05:00] DEBUG [transports]: Initialized.
[2023-07-10T10:22:49.17793268-05:00] DEBUG [sudph]: Binding
[2023-07-10T10:22:49.178490364-05:00] DEBUG [ping]: Accepting sky ping conn...
[2023-07-10T10:22:49.178390666-05:00] DEBUG [ping]: Initialized.
[2023-07-10T10:22:49.178984659-05:00] DEBUG [visor]: Initialized.
[2023-07-10T10:22:49.181305173-05:00] DEBUG [visor]: Serving RPC client over dmsg. addr=02cf226af53dc6e507dc12a7a444b76d9aa7bfbd48b5f83a8124af76e14f78e39a:46
[2023-07-10T10:22:49.187794488-05:00] INFO [visor]: Serving hypervisor... addr=":8000" tls=false
[2023-07-10T10:22:49.187856674-05:00] INFO [visor]: Hypervisor UI: http://127.0.0.1:8000
[2023-07-10T10:22:49.188115722-05:00] DEBUG [hypervisor]: Initialized.
[2023-07-10T10:22:49.188154368-05:00] INFO [visor:startup]: Startup complete.
[2023-07-10T10:22:49.215817259-05:00] DEBUG httpClient.BindSUDPR [address_resolver]: SUDPH Local port: 56776
[2023-07-10T10:22:49.681638767-05:00] DEBUG [sudph]: Successfully bound sudph to port 56776
[2023-07-10T10:22:49.681715907-05:00] DEBUG [sudph]: listening on addr: [::]:56776

I will try running the address-resolver on a machine with a public ip address to confirm that it is an issue with the router or routers.

Whatever is determined on this issue should be reflected in the deployment documentation.