ivpn / desktop-app

Official IVPN Desktop app
https://www.ivpn.net/apps/
GNU General Public License v3.0
322 stars 49 forks source link

(Linux) Protected resolv.conf file causes error #329

Open jordan-ivpn opened 7 months ago

jordan-ivpn commented 7 months ago

Bug report

Describe your environment

Describe the problem

A report when /etc/resolv.conf is protected (ie. chattr +i /etc/resolv.conf):

I'm trying to enforce a global DNS resolver on all connections by routing all requests through Unbound listening on 127.0.0.1@53 In order to prevent overwriting by various programs (such as dhcpcd, NetworkManager, or IVPN) of the DNS nameserver, /etc/resolv.conf is write-protected (attribute +i).

This isn't an issue with systemd-resolved as a stub, because it makes /etc/resolv.conf a symlink, and ignores all writes (while returning a success message), while enforcing global DNS settings through an overarching service.

Unbound can't do that, and doesn't symlink anything. It needs /etc/resolv.conf to point programs to its sink.

Most programs get on well with this. However, IVPN refuses to establish the connection if it can't set DNS (message: Error: failed to connect: connection error: failed to set DNS: DNS error: failed to change DNS configuration: exit status 1).

IVPN should ignore this and get on with the connection. At least alert the user to the fact that DNS can't be set, and give an option to connect without setting DNS. After all, using IVPN CLI on Linux is an advanced feature, and it's likely that some users might want to try non-standard or advanced network configs.

[Try Custom DNS?]

It still fails due to failure to set custom DNS. Error: failed to connect: connection error: failed to set DNS: DNS error: failed to change DNS configuration: exit status 1

--

Thanks.