Anyone knows how can I change the DNS for the clients? Currently they are using OpenDNS by default. I need to use my internal DNS server.
It uses what is in here ???
nano /etc/resolv.conf
Currently, the Outline clients for different platforms behave differently. The Windows client uses the server's default DNS configuration, which is often controlled by /etc/resolv.conf. The clients for other operating systems use a hardcoded public DNS resolver (currently OpenDNS or Dyn Internet Guide).
Can we just edit the code before it install/compile?
Does Outline use DNSCrypt?
FYI @jedisct1, @bitbeans, @KOLANICH & @CHEF-KOCH
@KerstinMaur It doesn't seem to.
By the way, I end up with NAT iptables rules to redirect all DNS request
Maybe 1.1.1.1 would be an option too?
Thanks for checking @jedisct1, @NanoG6 & @CHEF-KOCH 馃槝
Solve it by
iptables -t nat -A OUTPUT -p tcp --dport 53 -j DNAT --to $custom_dns_ip:53;
iptables -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to $custom_dns_ip:53;
iptables -t nat -A POSTROUTING -j MASQUERADE
It means:
1) Any local user contacting out world to port tcp 53 send to $custom_dns_ip at port 53.
2) Same as 1 but for udp
3) Set the source information on the outgoing packet as coming from us.
Thanks, @hd-deman! 馃槝
@NanoG6 Thanks for trying Outline! I think this one would be better in the client issue tracker:
https://github.com/Jigsaw-Code/outline-client/issues
@hd-deman, could you tell me how to change the setting, please? Your solution works but I could not change it by using the same command. And I want to give it 2 DNS addresses, it that possible?
Just to confirm, if I want to use Cloudflare DNS (1.1.1.1), I just need to do this?
iptables -t nat -A OUTPUT -p tcp --dport 53 -j DNAT --to 1.1.1.1:53;
iptables -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to 1.1.1.1:53;
iptables -t nat -A POSTROUTING -j MASQUERADE
EDIT: After restarting the server, having disconnected and re-connected the client, on https://www.dnsleaktest.com/ the DNS is still from OpenDNS :(
@hd-deman I see what you did there, glad it works for you but we'd rather make this setting explicit in the client vs. having the server silently rewrite queries.
@pascalandy iptables is one of the hardest problems in computer science :-)
@hd-deman I see what you did there, glad it works for you but we'd rather make this setting explicit in the client vs. having the server silently rewrite queries.
@pascalandy
iptablesis one of the hardest problems in computer science :-)
Then you should've let user decide what DNS server they want to use, DNS clearly plays a big part in privacy.
The presented solutions are inoperative
Docker rewrites firewall chain
Does the community have a ready-made solution? As I understand it, developers will not add the feature - custom DNS. Thanks!
Most helpful comment
Solve it by
It means:
1) Any local user contacting out world to port tcp 53 send to $custom_dns_ip at port 53.
2) Same as 1 but for udp
3) Set the source information on the outgoing packet as coming from us.