diff --git a/README.md b/README.md index ceee7e5..c4e2c81 100644 --- a/README.md +++ b/README.md @@ -119,6 +119,8 @@ glider v0.6.7 usage: config file path -dns string dns forwarder server listen address + -dnsalwaystcp + always use tcp to query upstream dns servers no matter there is a forwarder or not -dnsmaxttl int maximum TTL value for entries in the CACHE(seconds) (default 1800) -dnsminttl int diff --git a/conf.go b/conf.go index 5929f9d..c3f855d 100644 --- a/conf.go +++ b/conf.go @@ -50,8 +50,8 @@ func confInit() { flag.StringVar(&conf.RulesDir, "rules-dir", "", "rule file folder") flag.StringVar(&conf.DNS, "dns", "", "dns forwarder server listen address") - flag.BoolVar(&conf.DNSConfig.AlwaysTCP, "dnsalwaystcp", false, "always use tcp to query upstream dns servers no matter there's a forwarder or not") flag.StringSliceUniqVar(&conf.DNSConfig.Servers, "dnsserver", []string{"8.8.8.8:53"}, "remote dns server") + flag.BoolVar(&conf.DNSConfig.AlwaysTCP, "dnsalwaystcp", false, "always use tcp to query upstream dns servers no matter there is a forwarder or not") flag.IntVar(&conf.DNSConfig.Timeout, "dnstimeout", 3, "timeout value used in multiple dnsservers switch(seconds)") flag.IntVar(&conf.DNSConfig.MaxTTL, "dnsmaxttl", 1800, "maximum TTL value for entries in the CACHE(seconds)") flag.IntVar(&conf.DNSConfig.MinTTL, "dnsminttl", 0, "minimum TTL value for entries in the CACHE(seconds)") diff --git a/config/glider.conf.example b/config/glider.conf.example index ae20836..701d33e 100644 --- a/config/glider.conf.example +++ b/config/glider.conf.example @@ -128,15 +128,25 @@ checkduration=30 # Setup a dns forwarding server dns=:53 + # global remote dns server (you can specify different dns server in rule file) dnsserver=8.8.8.8:53 dnsserver=1.1.1.1:53 + +# By default, when glider received udp dns request and there's no forwarder specified, +# it will use udp to query upstream dns servers, otherwise, use tcp; +# you can set dnsalwaystcp=true to always use tcp no matter there is a forwarder or not. +# dnsalwaystcp=false + # timeout value used in multiple dnsservers switch(seconds) dnstimeout=3 + # maximum TTL value for entries in the CACHE(seconds) dnsmaxttl=1800 + # minimum TTL value for entries in the CACHE(seconds) dnsminttl=0 + # custom records dnsrecord=www.example.com/1.2.3.4 dnsrecord=www.example.com/2606:2800:220:1:248:1893:25c8:1946