Re: [qubes-users] problem with running mullvad in proxyvm (DNS weirdness and autostart question)?

2016-06-21 Thread Chris Laprise



On 06/21/2016 03:04 PM, Chris Laprise wrote:



On 06/21/2016 02:09 AM, Jane Jok wrote:

Hello!

So, long story short, I've successfully configured a debian-based 
ProxyVM to run Mullvad's GUI client (I know one can use "vanilla 
OpenVPN" to connect to mullvad, I still prefer their GUI thing and 
decided to give it a try)


In a word, as long as one does not select "block internet access on 
connection failure" everything works.


Hi,

Keep in mind that a Qubes proxy vm implies different conditions for 
blocking than a regular desktop architecture, so the Mullvad client 
may not get this right. Its best to setup Qubes-specific blocking 
instead (which is more effective anyway)...




However, there is a persistent DNS leak from any AppVM connected to 
the MullvadProxyVM (as detected by ipleak.net)


Also, if I take the "block connection if tunnel breaks" suggestion 
from here https://www.qubes-os.org/doc/vpn/

(that is, add
|iptables -I FORWARD -o eth0 -j DROP iptables -I FORWARD -i eth0 -j 
DROP to my iptables in the MullvadProxyVM) No connected AppVM can 
resolve hostnames (direct IP works tho) I have, however, figured out 
a sort-a-kinda solution. The solution I have found so far is to edit 
resolv.conf in AppVM to something external (like say Google's DNS, 
8.8.8.8) As long as AppVM's resolv.conf has 8.8.8.8 (or any other 
external nameserver) in it, everything works like a charm without any 
DNS leaks. However, it the resolv.conf in AppVMs is not very 
persistent, and even if |||/rw/config/rc.local| is modified to adjust 
resolv.conf, certain events (like changing netvms) trigger 
restoration of "old" resolv.conf So, my first question is: 1) is 
there a way to prevent reset of manually edited resolv.conf, 
particularly in case when you change AppVM's netvm ? |


|Past advice on setting up a vpn vm revolved around these 3 steps:
1. Update resolv.conf (hard-coded IPs or from openvpn DHCP)
2. Run the /usr/lib/qubes/qubes-setup-dnat-to-ns script
3. Add the eth0 forward-blocking you mentioned to 
qubes-firewall-user-script


The first two basically worked, but had the side-effect of making the 
local vpn vm commands use the tunnel's dns. That might prevent the vpn 
from successfully restarting, or maybe create a different kind of leak 
if local commands inadvertently tried to access the net.


That's why qubes-vpn-handler.sh exists. It accepts dns addresses and 
fixes the dns dnat issue without changing resolv.conf. It shouldn't be 
too hard to integrate with the GUI client if it uses openvpn or 
similar; you just need to run it as the up-script.


OTOH, if the side-effects I mentioned above seem trivial to you, then 
you can use #2 to get dns working.



Also, don't mean to imply that #3 doesn't work. All three do work 
together to route DNS and stop leaks.



Chris



--
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To post to this group, send email to qubes-users@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/56ab626e-b04f-93fd-c703-dfa41c20de72%40openmailbox.org.
For more options, visit https://groups.google.com/d/optout.


[qubes-users] problem with running mullvad in proxyvm (DNS weirdness and autostart question)?

2016-06-21 Thread Jane Jok
Hello!

So, long story short, I've successfully configured a debian-based ProxyVM 
to run Mullvad's GUI client (I know one can use "vanilla OpenVPN" to 
connect to mullvad, I still prefer their GUI thing and decided to give it a 
try)

In a word, as long as one does not select "block internet access on 
connection failure" everything works.

However, there is a persistent DNS leak from any AppVM connected to the 
MullvadProxyVM (as detected by ipleak.net)

Also, if I take the "block connection if tunnel breaks" suggestion from 
here https://www.qubes-os.org/doc/vpn/ 
(that is, add

iptables -I FORWARD -o eth0 -j DROP
iptables -I FORWARD -i eth0 -j DROP
to my iptables in the MullvadProxyVM)

No connected AppVM can resolve hostnames (direct IP works tho)

I have, however, figured out a sort-a-kinda solution.

The solution I have found so far is to edit resolv.conf in AppVM to something 
external (like say Google's DNS, 8.8.8.8)

As long as AppVM's resolv.conf has 8.8.8.8 (or any other external nameserver) 
in it, everything works like a charm without any DNS leaks.

However, it the resolv.conf in AppVMs is not very persistent, and even if 
/rw/config/rc.local is modified to adjust resolv.conf, certain events (like 
changing netvms) trigger restoration of "old" resolv.conf

So, my first question is:

1) is there a way to prevent reset of manually edited resolv.conf, particularly 
in case when you change AppVM's netvm ?


My second question is 

2) is there is a way to automatically start a particular GUI application 
whenever a given VM starts ?

 


-- 
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To post to this group, send email to qubes-users@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/99bbe4f2-c35a-43e7-902e-7904b1134170%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.