doh-client icon indicating copy to clipboard operation
doh-client copied to clipboard

Fails on network outage when Address unreachable

Open EntityinArray opened this issue 1 year ago • 2 comments

Thank you for this amazing project! doh-client fails to keep running under Address unreachable network outage

OS: Arch Linux

here's journalctl -eu doh-client

сен 11 14:31:33 okcomputer systemd[1]: Started DNS-over-HTTPS Client.
сен 11 14:31:33 okcomputer doh-client[901]: 2023/09/11 14:31:33 Get "https://1.1.1.1/dns-query?ct=application/dns-message&dns=AAABAAABAAAAAAABBnJlbGF5>
сен 11 14:31:33 okcomputer doh-client[901]: 2023/09/11 14:31:33 Get "https://1.1.1.1/dns-query?ct=application/dns-message&dns=AAABAAABAAAAAAABBnJlbGF5>
сен 11 14:31:33 okcomputer doh-client[901]: 2023/09/11 14:31:33 Get "https://1.1.1.1/dns-query?ct=application/dns-message&dns=AAABAAABAAAAAAABBnJlbGF5>
сен 11 14:31:33 okcomputer doh-client[901]: 2023/09/11 14:31:33 Get "https://1.1.1.1/dns-query?ct=application/dns-message&dns=AAABAAABAAAAAAABBnJlbGF5>
сен 11 14:31:36 okcomputer doh-client[901]: 2023/09/11 14:31:36 Get "https://1.1.1.1/dns-query?ct=application/dns-message&dns=AAABAAABAAAAAAABBHBpbmcJ>
сен 11 14:31:36 okcomputer doh-client[901]: 2023/09/11 14:31:36 Get "https://1.1.1.1/dns-query?ct=application/dns-message&dns=AAABAAABAAAAAAABBHBpbmcJ>
сен 11 14:31:36 okcomputer systemd[1]: Stopping DNS-over-HTTPS Client...
сен 11 14:31:36 okcomputer systemd[1]: doh-client.service: Deactivated successfully.
сен 11 14:31:36 okcomputer systemd[1]: Stopped DNS-over-HTTPS Client.
сен 11 14:31:36 okcomputer systemd[1]: Started DNS-over-HTTPS Client.
сен 11 14:31:36 okcomputer systemd[1]: Stopping DNS-over-HTTPS Client...
сен 11 14:31:36 okcomputer systemd[1]: doh-client.service: Deactivated successfully.
сен 11 14:31:36 okcomputer systemd[1]: Stopped DNS-over-HTTPS Client.
сен 11 14:31:36 okcomputer systemd[1]: Started DNS-over-HTTPS Client.
сен 11 14:31:36 okcomputer systemd[1]: Stopping DNS-over-HTTPS Client...
сен 11 14:31:36 okcomputer systemd[1]: doh-client.service: Deactivated successfully.
сен 11 14:31:36 okcomputer systemd[1]: Stopped DNS-over-HTTPS Client.
сен 11 14:31:36 okcomputer systemd[1]: Started DNS-over-HTTPS Client.
сен 11 14:31:41 okcomputer systemd[1]: Stopping DNS-over-HTTPS Client...
сен 11 14:31:41 okcomputer systemd[1]: doh-client.service: Deactivated successfully.
сен 11 14:31:41 okcomputer systemd[1]: Stopped DNS-over-HTTPS Client.
сен 11 14:31:41 okcomputer systemd[1]: Started DNS-over-HTTPS Client.
сен 11 14:31:41 okcomputer systemd[1]: Stopping DNS-over-HTTPS Client...
сен 11 14:31:41 okcomputer systemd[1]: doh-client.service: Deactivated successfully.
сен 11 14:31:41 okcomputer systemd[1]: Stopped DNS-over-HTTPS Client.
сен 11 14:31:41 okcomputer systemd[1]: doh-client.service: Start request repeated too quickly.
сен 11 14:31:41 okcomputer systemd[1]: doh-client.service: Failed with result 'start-limit-hit'.
сен 11 14:31:41 okcomputer systemd[1]: Failed to start DNS-over-HTTPS Client.
# Here I restart it manually and it starts working fine
сен 11 19:08:26 okcomputer systemd[1]: Started DNS-over-HTTPS Client.

Tell me if any additional info is needed, thanks

EntityinArray avatar Sep 11 '23 16:09 EntityinArray

This should be the intent behavior. There is an option --retries, where is tells the service how many retries to connect to the remote server. If it cannot connect, it exits. If systemd has to restart the service too many times, it deactivates it. We can add an option to not exit.

LinkTed avatar Sep 17 '23 16:09 LinkTed

Hi, yes i managed to workaround this by doing this override to the doh-client.service to force systemd to restart it endlessly

[Unit]
StartLimitIntervalSec=0
RestartSec=1

Having an option to set --retries -1 for endless retries could be useful

EntityinArray avatar Sep 19 '23 08:09 EntityinArray