Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Używam serwera dnscrypt-proxy w roli lokalnego serwera, który szyfruje zapytania DNS. Nie wiem jak go powiązać z usługą Opendns tak aby te zapytania przesyłał najpierw do OpenDNS. Samodzielnie obie usługi sprawdzają się b. zarzutu. Aby usługa serwera opendns działała należy skorzystać z jej DNS-ów:
nameserver 208.67.222.222 nameserver 208.67.220.220
Obecnie włączyłen dnscrypt więc mój plik /etc/resolv.conf wygląda tak:
nameserver 127.0.0.1
Pytanie brzmi: czy chcąc stworzyć duet z opendns-em mogę/muszę dopisać do niego także dedykowane dns-y opendns?
Ostatnio edytowany przez mark (2020-09-20 18:45:03)
Offline
Skonfiguruj sobie upstream'owy serwer DNS w dnscrypt-proxy. OpenDNS jest wspierany[1], choć pod nazwą cisco.
[1]: https://dnscrypt.info/public-servers/
Offline
Dzięki za odpowiedź. Właśnie na konfiguracjii poległem, o nią pytałem więc jeżeli możesz się wiedzą podzielić będę wdzięczny. Proszę! 😃
Ostatnio edytowany przez mark (2020-09-10 12:53:59)
Offline
morfik napisał(-a):
W pliku /etc/dnscrypt-proxy/dnscrypt-proxy.toml ustaw sobie server_names na cisco.
Tak o to chodziło! Pytanie czy pozostawić pozostałe dedykowane serwery i dopisać "cisco". Ja na razie tamte usunąłem, zawsze można wrócić. Zrobiłem test na stronie dnsleaktest.com
208.69.35.76 m61.ams.opendns.com. Cisco OpenDNS, LLC Amsterdam, Netherlands
i proxy mam z dns-u cisco. Dlaczego jednakże test Opendns kończy "Oops"?
https://welcome.opendns.com/oops/
Offline
Nie używam OpenDNS. Ja jadę na DoH z CloudFlare i do tego mam własny DoH (wbudowany w dnscrypt-proxy), by przechwytywał zapytania z FF w celu włączenia szyfrowanego SNI. Także nie wiem co tam ci dolega ale na twoim miejscu bym sie zainteresował CloudFlare, bo jest lepsiejszy od OpenDNS. xD
Ostatnio edytowany przez morfik (2020-09-10 18:01:55)
Offline
OK spróbuję. Powiedz jak sprawdzasz aktywność CloudFlare, czy ma swoją stronkę jak opendns czy robimy w terminalu?
Jeszcze pytanie związane z dnscrypt. Skonfigurowałem dnsmasq ale wcześniej miałem też Unbound. Oba dysponują cache buforujące zapytania dns więc z jednego mogę zrezygnować. Co Twoim zdaniem sprawdza się lepiej: unbound czy dnsmasq?
dnsmasq niby działa:
$ dig onet.pl @127.0.0.1 ; <<>> DiG 9.16.6 <<>> onet.pl @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35504 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;onet.pl. IN A ;; ANSWER SECTION: onet.pl. 1321 IN A 213.180.141.140 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: czw wrz 10 18:23:11 CEST 2020 ;; MSG SIZE rcvd: 52
ale systemctl mówi co innego:
systemctl status dnsmasq ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor p> Active: failed
Nie rozumiem.
Ostatnio edytowany przez mark (2020-09-10 18:42:14)
Offline
Tu masz test[1].
Dnscrypt-proxy ma cache, dnsmasq też, ja sobie wyłączyłem cache w dnscrypt-proxy i jadę na cache z dnsmasq.
Nie używałem unbound.
Jak nie rozumiesz, to zobacz logi. :]
[1]: https://www.cloudflare.com/ssl/encrypted-sni/
Offline
Czy wystarczy ustawienie ClouFlare w dnscrypt-proxy i zmiana w /etc/resolv.conf na:
nameserver 1.1.1.1. nameserver 1.0.0.1
?
ClouFlare nie musi istnieć jako usługa systemctl?
Offline
Plik /etc/resolv.conf ma wskazywać albo na adres, na którym nasłuchuje dnscrypt-proxy, albo na dnsmasq, w zależności od tego czy korzystasz z dnscrypt-proxy bezpośrednio czy z pośrednikiem. U mnie wskazuje na:
$ cat /etc/resolv.conf nameserver 127.0.0.1 options trust-ad
Na tym adresie nasłuchuje dnsmasq:
# netstat -napletu | grep -i dnsmasq tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 0 54989 3362/dnsmasq tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 0 54987 3362/dnsmasq tcp6 0 0 ::1:53 :::* LISTEN 0 54991 3362/dnsmasq udp 0 0 127.0.0.1:53 0.0.0.0:* 0 54988 3362/dnsmasq udp 0 0 192.168.122.1:53 0.0.0.0:* 0 54986 3362/dnsmasq udp 0 0 0.0.0.0:67 0.0.0.0:* 0 54983 3362/dnsmasq udp6 0 0 ::1:53 :::* 0 54990 3362/dnsmasq
W konfiguracji dnsmasq w /etc/dnsmasq.conf mam rozdział zapytań DNS w zależności od domen, np.:
server=127.0.2.1#53 server=/mhouse/192.168.1.1#53
więc jak zapytanie DNS ma domenę mhouse (moja sieć domowa), to te zapytania lecą do domowego routera WiFi. Wszystkie inne lecą na 127.0.2.1, a na tym adresie nasłuchuje:
# netstat -napletu | grep -i dnscrypt tcp 0 0 127.0.2.1:53 0.0.0.0:* LISTEN 0 53183 3346/dnscrypt-proxy tcp 0 0 127.0.0.1:3000 0.0.0.0:* LISTEN 0 53187 3346/dnscrypt-proxy udp 0 0 127.0.2.1:53 0.0.0.0:* 0 53182 3346/dnscrypt-proxy
Więc dnscrypt-proxy odbiera te zapytania DNS i przesyła je pod co co ma w konfiguracji w pliku /etc/dnscrypt-proxy/dnscrypt-proxy.toml :
server_names = ['cloudflare']
I tak to działa.
Offline
Uwiązłem z usługą dnsmasq. Proszę pomóż mi to rozkminić. Jestem w Arch-u a raczej jego forku Endeavour ale zgłaszam problem na Forum Debiana, z sympatii do tego systemu i z wiarą w moc jego ekspertów. To tak tytułem wstepu.
Podaję wyniki z terminala ponieważ logów mój system nie wyprodukował.
# systemctl status dnsmasq ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor p> Active: failed (Result: exit-code) since Fri 2020-09-11 16:20:31 CEST; 28m> Docs: man:dnsmasq(8) Process: 4530 ExecStartPre=/usr/bin/dnsmasq --test (code=exited, status=0/S> Process: 4531 ExecStart=/usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --> Main PID: 4531 (code=exited, status=2) wrz 11 16:20:31 marek-x751lx systemd[1]: dnsmasq.service: Scheduled restart job> wrz 11 16:20:31 marek-x751lx systemd[1]: Stopped dnsmasq - A lightweight DHCP a> wrz 11 16:20:31 marek-x751lx systemd[1]: dnsmasq.service: Start request repeate> wrz 11 16:20:31 marek-x751lx systemd[1]: dnsmasq.service: Failed with result 'e> wrz 11 16:20:31 marek-x751lx systemd[1]: Failed to start dnsmasq - A lightweigh>
Jak widać nieaktywny.
$ cat /etc/resolv.conf # Generated by NetworkManager nameserver 127.0.0.1
Tak jak u Ciebie.
# netstat -napletu | grep -i dnsmasq # netstat -napletu | grep -i dnscrypt
Oba polecenia nie zwracają wyniku. Netstat wchodzi w archu w skład pakietu net-tools. Zainstalowany!
$ cat /etc/dnsmasq.conf server=127.0.2.1#5300 #server=/pool.ntp.org/208.67.222.222 domain-needed bogus-priv no-resolv interface=bond0 listen-address=127.0.0.1 bind-interfaces no-dhcp-interface=bond0 no-hosts cache-size=10000 min-cache-ttl=600 max-cache-ttl=3600 dns-forward-max=500 no-negcache
Ten wykrzaczony server należał do Opendns. Za Twoją sugestią zmieniłem na CloudFlare tak, że temat zaczął się powoli mijać z nagłówkiem postu. Nie znam IP servera CloudFlare więc nie wiem co podać.
Offline
mark napisał(-a):
Kod:
wrz 11 16:20:31 marek-x751lx systemd[1]: dnsmasq.service: Scheduled restart job> wrz 11 16:20:31 marek-x751lx systemd[1]: Stopped dnsmasq - A lightweight DHCP a> wrz 11 16:20:31 marek-x751lx systemd[1]: dnsmasq.service: Start request repeate> wrz 11 16:20:31 marek-x751lx systemd[1]: dnsmasq.service: Failed with result 'e> wrz 11 16:20:31 marek-x751lx systemd[1]: Failed to start dnsmasq - A lightweigh>Jak widać nieaktywny.
No przecie widać, że masz błędy ale komunikaty ci ucieło. Tu masz moje:
# systemctl status dnsmasq --no-pager -l ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/etc/systemd/system/dnsmasq.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-09-11 09:43:59 CEST; 8h ago Process: 3347 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS) Process: 3352 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=0/SUCCESS) Process: 3363 ExecStartPost=/etc/init.d/dnsmasq systemd-start-resolvconf (code=exited, status=0/SUCCESS) Main PID: 3362 (dnsmasq) Tasks: 1 (limit: 1024) Memory: 2.9M CGroup: /system.slice/dnsmasq.service └─3362 /usr/sbin/dnsmasq -x /run/dnsmasq/dnsmasq.pid -u dnsmasq -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service Sep 11 09:43:58 morfikownia dnsmasq[3347]: dnsmasq: syntax check OK. Sep 11 09:43:59 morfikownia dnsmasq[3362]: started, version 2.82 cachesize 10000 Sep 11 09:43:59 morfikownia dnsmasq[3362]: compile time options: IPv6 GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile Sep 11 09:43:59 morfikownia dnsmasq-dhcp[3362]: DHCP, IP range 192.168.122.2 -- 192.168.122.254, lease time 12h Sep 11 09:43:59 morfikownia dnsmasq-dhcp[3362]: DHCP, sockets bound exclusively to interface virbr0 Sep 11 09:43:59 morfikownia dnsmasq[3362]: using only locally-known addresses for domain lh Sep 11 09:43:59 morfikownia dnsmasq[3362]: using nameserver 192.168.1.1#53 for domain mhouse Sep 11 09:43:59 morfikownia dnsmasq[3362]: using nameserver 127.0.2.1#53 Sep 11 09:43:59 morfikownia dnsmasq[3362]: read /etc/hosts - 14 addresses Sep 11 09:43:59 morfikownia systemd[1]: Started dnsmasq.service.
mark napisał(-a):
Kod:
$ cat /etc/resolv.conf # Generated by NetworkManager nameserver 127.0.0.1Tak jak u Ciebie.
Nie tak jak u mnie, u ciebie generuje to NetworkManager i musisz go oduczyć ruszania pliku /etc/resolv.conf , bo prędzej czy później on ci go może przepisać na coś innego. Nie wiem jak się konfiguruje NM, więc musisz sobie sam poszukać.
mark napisał(-a):
Kod:
# netstat -napletu | grep -i dnsmasq # netstat -napletu | grep -i dnscryptOba polecenia nie zwracają wyniku. Netstat wchodzi w archu w skład pakietu net-tools. Zainstalowany!
Pewnie dnscrypt-proxy jest na soketach systemd więc poszukaj za "1" albo portem 53. A dnsmasq nie działa więc procesu brak.
mark napisał(-a):
Kod:
$ cat /etc/dnsmasq.conf server=127.0.2.1#5300 #server=/pool.ntp.org/208.67.222.222 domain-needed bogus-priv no-resolv interface=bond0 listen-address=127.0.0.1 bind-interfaces no-dhcp-interface=bond0 no-hosts cache-size=10000 min-cache-ttl=600 max-cache-ttl=3600 dns-forward-max=500 no-negcache
Mi ta konfiguracja działa i dnsmasq startuje na niej. Pokaż log dnsmasq, bez tego to nic nie da rady powiedzieć:
# journalctl -b -u dnsmasq.service --no-pager -l
mark napisał(-a):
Ten wykrzaczony server należał do Opendns. Za Twoją sugestią zmieniłem na CloudFlare tak, że temat zaczął się powoli mijać z nagłówkiem postu. Nie znam IP servera CloudFlare więc nie wiem co podać.
IP cloudflare to 1.1.1.1 i 1.0.0.1 .
Offline
systemctl status dnsmasq --no-pager -l ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Fri 2020-09-11 17:18:39 CEST; 3h 4min ago Docs: man:dnsmasq(8) Process: 5465 ExecStartPre=/usr/bin/dnsmasq --test (code=exited, status=0/SUCCESS) Process: 5466 ExecStart=/usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --pid-file (code=exited, status=2) Main PID: 5466 (code=exited, status=2) wrz 11 17:18:39 marek-x751lx systemd[1]: dnsmasq.service: Scheduled restart job, restart counter is at 5. wrz 11 17:18:39 marek-x751lx systemd[1]: Stopped dnsmasq - A lightweight DHCP and caching DNS server. wrz 11 17:18:39 marek-x751lx systemd[1]: dnsmasq.service: Start request repeated too quickly. wrz 11 17:18:39 marek-x751lx systemd[1]: dnsmasq.service: Failed with result 'exit-code'. wrz 11 17:18:39 marek-x751lx systemd[1]: Failed to start dnsmasq - A lightweight DHCP and caching DNS server.
Jak dla mnie te komunikaty są nieczytelne (status=2).
NetworkManager i musisz go oduczyć ruszania pliku /etc/resolv.conf , bo prędzej czy później on ci go może przepisać na coś innego. Nie wiem jak się konfiguruje NM, więc musisz sobie sam poszukać.
Może w ten sposób?
chattr +i /etc/resolv.conf
log dnsmasq
#journalctl -b -u dnsmasq.service --no-pager -l -- Logs begin at Thu 2020-09-03 21:10:04 CEST, end at Fri 2020-09-11 20:12:21 CEST. -- wrz 11 16:06:35 marek-x751lx systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server... wrz 11 16:06:35 marek-x751lx dnsmasq[537]: dnsmasq: składnia sprawdzona, jest prawidłowa. wrz 11 16:06:35 marek-x751lx dnsmasq[555]: dnsmasq: nie udało się otworzyć gniazda 127.0.0.1: Adres jest już w użyciu wrz 11 16:06:35 marek-x751lx dnsmasq[555]: nie udało się otworzyć gniazda 127.0.0.1: Adres jest już w użyciu wrz 11 16:06:35 marek-x751lx dnsmasq[555]: BŁĄD: nie udało się uruchomić dnsmasq-a wrz 11 16:06:35 marek-x751lx systemd[1]: dnsmasq.service: Main process exited, code=exited, status=2/INVALIDARGUMENT wrz 11 16:06:35 marek-x751lx systemd[1]: dnsmasq.service: Failed with result 'exit-code'.
Jeszcze to:
netstat -tulpn | grep 53 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN - tcp6 0 0 ::1:53 :::* LISTEN - udp 0 0 127.0.0.1:53 0.0.0.0:* - udp 0 0 224.0.0.251:5353 0.0.0.0:* 1486/chromium --typ udp 0 0 224.0.0.251:5353 0.0.0.0:* 1486/chromium --typ udp 0 0 224.0.0.251:5353 0.0.0.0:* 1456/chromium udp 0 0 0.0.0.0:5353 0.0.0.0:* - udp6 0 0 ::1:53 :::* - udp6 0 0 :::5353 :::*
lsof -i -P -n | grep LISTEN systemd 1 root 58u IPv4 21074 0t0 TCP 127.0.0.1:53 (LISTEN) systemd 1 root 60u IPv6 21080 0t0 TCP [::1]:53 (LISTEN) dnscrypt- 630 dnscrypt-proxy 10u IPv4 21074 0t0 TCP 127.0.0.1:53 (LISTEN) dnscrypt- 630 dnscrypt-proxy 12u IPv6 21080 0t0 TCP [::1]:53 (LISTEN) systemd-r 2009 systemd-resolve 12u IPv4 57276 0t0 TCP *:5355 (LISTEN) systemd-r 2009 systemd-resolve 14u IPv6 57279 0t0 TCP *:5355 (LISTEN)
Wygląda na to, że systemd blokuje port 53. Zastosowałem wskazówki z tej stroki https://jonamiki.com/2020/01/29/dnsmasq-failed-to-c … ready-in-use/
bezskutecznie.
Ostatnio edytowany przez mark (2020-09-11 21:41:00)
Offline
No to jasne wszystko. Dnscrypt-proxy jest na soketach systemd, jest odpalany na domyślnym adresie 127.0.0.1 i porcie 53 tcp, przez co dnsmasq nie może skorzystać z tego adresu i portu. Mój dnscrypt-proxy jest na 127.0.2.1 a dnsmasq jest na 127.0.0.1 i dlatego u mnie działa bez problemu. Więc albo zmień adres dnscrypt-proxy albo dnsmasq i ustaw adres dnsmasq w /etc/resolv.conf.
Offline
morfik napisał(-a):
No to jasne wszystko. Dnscrypt-proxy jest na soketach systemd, jest odpalany na domyślnym adresie 127.0.0.1 i porcie 53 tcp, przez co dnsmasq nie może skorzystać z tego adresu i portu. Mój dnscrypt-proxy jest na 127.0.2.1 a dnsmasq jest na 127.0.0.1 i dlatego u mnie działa bez problemu. Więc albo zmień adres dnscrypt-proxy albo dnsmasq i ustaw adres dnsmasq w /etc/resolv.conf.
Zastosowałem się do Twoich wskazań i niczego nie zmieniło. W dalszym ciągu dnsmasq się nie uruchamia. Ten problem z niestartującym dnsmasq często przewija się w rekordach przeglądarki i jest to zazwyczaj, jak i Ty zauważyłeś, blokujący się przez podwójne wywołanie port 53. Na logikę Twoje parametry powinny załatwić problem jednak nie tym razem.
A może zmienić po prostu port dla IP dnsmasq na np. 5300 lub inny?
Jeszcze zapytam o ustawienie DoH servera w pliku dnscrypt-proxy.toml. Czy odhaszyć listen_addresses?
# Global settings # Local DoH server # listen_addresses = ['127.0.0.1:3000']
Offline
# netstat -tulpn | grep 53 tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 330/systemd-resolve tcp 0 0 127.0.2.1:53 0.0.0.0:* LISTEN 455/dnscrypt-proxy tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1/init tcp6 0 0 :::5355 :::* LISTEN 330/systemd-resolve tcp6 0 0 ::1:53 :::* LISTEN 1/init udp 0 0 127.0.2.1:53 0.0.0.0:* 455/dnscrypt-proxy udp 0 0 127.0.0.1:53 0.0.0.0:* 1/init udp 0 0 224.0.0.251:5353 0.0.0.0:* 1292/chromium --typ udp 0 0 224.0.0.251:5353 0.0.0.0:* 1262/chromium udp 0 0 0.0.0.0:5353 0.0.0.0:* 451/avahi-daemon: r udp 0 0 0.0.0.0:5355 0.0.0.0:* 330/systemd-resolve udp6 0 0 ::1:53 :::* 1/init udp6 0 0 :::5353 :::* 451/avahi-daemon: r udp6 0 0 :::5355 :::* 330/systemd-resolve
lsof -i -P -n | grep LISTEN systemd 1 root 59u IPv4 20517 0t0 TCP 127.0.0.1:53 (LISTEN) systemd 1 root 61u IPv6 18847 0t0 TCP [::1]:53 (LISTEN) systemd-r 330 systemd-resolve 12u IPv4 22092 0t0 TCP *:5355 (LISTEN) systemd-r 330 systemd-resolve 14u IPv6 22095 0t0 TCP *:5355 (LISTEN) dnscrypt- 455 dnscrypt-proxy 11u IPv4 26960 0t0 TCP 127.0.2.1:53 (LISTEN) dnscrypt- 455 dnscrypt-proxy 12u IPv4 20517 0t0 TCP 127.0.0.1:53 (LISTEN) dnscrypt- 455 dnscrypt-proxy 14u IPv6 18847 0t0 TCP [::1]:53 (LISTEN)
Tu w drugim logu widać, że dnscrypt-proxy występuje podwójnie na porcie 53
journalctl -b -u dnsmasq.service --no-pager -l -- Logs begin at Thu 2020-09-03 21:10:04 CEST, end at Sat 2020-09-12 20:37:21 CEST. -- wrz 12 20:36:26 marek-x751lx systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server... wrz 12 20:36:27 marek-x751lx dnsmasq[518]: dnsmasq: składnia sprawdzona, jest prawidłowa. wrz 12 20:36:27 marek-x751lx dnsmasq[529]: dnsmasq: nie udało się otworzyć gniazda 127.0.0.1: Adres jest już w użyciu wrz 12 20:36:27 marek-x751lx dnsmasq[529]: nie udało się otworzyć gniazda 127.0.0.1: Adres jest już w użyciu wrz 12 20:36:27 marek-x751lx dnsmasq[529]: BŁĄD: nie udało się uruchomić dnsmasq-a wrz 12 20:36:27 marek-x751lx systemd[1]: dnsmasq.service: Main process exited, code=exited, status=2/INVALIDARGUMENT wrz 12 20:36:27 marek-x751lx systemd[1]: dnsmasq.service: Failed with result 'exit-code'. wrz 12 20:36:27 marek-x751lx systemd[1]: Failed to start dnsmasq - A lightweight DHCP and caching DNS server.
tu z kolei status=2/INVALIDARGUMENT
$ cat /etc/systemd/system/sockets.target.wants/dnscrypt-proxy.socket [Unit] Description=DNSCrypt-proxy socket Documentation=https://github.com/jedisct1/dnscrypt-proxy/wiki Before=nss-lookup.target Wants=nss-lookup.target network-online.target [Socket] ListenStream=127.0.0.1:53 ListenDatagram=127.0.0.1:53 ListenStream=[::1]:53 ListenDatagram=[::1]:53 NoDelay=true DeferAcceptSec=1 [Install] WantedBy=sockets.target
Chyba ten socket miesza? Zmieniłem jedynie IP tutaj:
cat /etc/dnscrypt-proxy/dnscrypt-proxy.toml ################################## # Global settings # ################################## server_names = ['cloudflare'] listen_addresses = ['127.0.2.1:53']
a dnsmasq i resolv.conf ma 127.0.0.1
Ostatnio edytowany przez mark (2020-09-12 21:04:52)
Offline
No bo nie czytasz info w plikach konfiguracyjnych -- jak używasz soketów systemd, to nie zmienisz adresu dnscrypt w jego pliku konfiguracyjnym (dlatego pewnie masz dwa). Musisz albo zmienić adres w sokecie albo ten soket wyłączyć. Ja mam u siebie wyłączony ale to wymaga przepisania usług systemd. Generalnie to standardowe usługi dla systemd są takie:
# cat /lib/systemd/system/dnscrypt-proxy.service [Unit] Description=DNSCrypt client proxy Documentation=https://github.com/DNSCrypt/dnscrypt-proxy/wiki Requires=dnscrypt-proxy.socket After=network.target Before=nss-lookup.target Wants=nss-lookup.target [Install] Also=dnscrypt-proxy.socket WantedBy=multi-user.target [Service] NonBlocking=true ExecStart=/usr/sbin/dnscrypt-proxy -config /etc/dnscrypt-proxy/dnscrypt-proxy.toml ProtectHome=true ProtectKernelModules=true ProtectKernelTunables=true ProtectControlGroups=true MemoryDenyWriteExecute=true User=_dnscrypt-proxy CacheDirectory=dnscrypt-proxy LogsDirectory=dnscrypt-proxy RuntimeDirectory=dnscrypt-proxy
# cat /lib/systemd/system/dnscrypt-proxy.socket [Unit] Description=dnscrypt-proxy listening socket Documentation=https://github.com/DNSCrypt/dnscrypt-proxy/wiki Before=nss-lookup.target Wants=nss-lookup.target Wants=dnscrypt-proxy-resolvconf.service [Socket] ListenStream=127.0.2.1:53 ListenDatagram=127.0.2.1:53 NoDelay=true DeferAcceptSec=1 [Install] WantedBy=sockets.target
Te dwa pliki powinieneś skopiować sobie do /etc/systemd/system/ i dostosować. Choć jak widać, domyślnie ten soket już ma określony adres 127.0.2.1 i nic w tym przypadku nie trzeba robić.
Pokaż co zwraca:
# apt-cache policy dnscrypt-proxy
Offline
po kolei
cat /lib/systemd/system/dnscrypt-proxy.service [Unit] Description=DNSCrypt-proxy client Documentation=https://github.com/jedisct1/dnscrypt-proxy/wiki Wants=network-online.target nss-lookup.target Before=nss-lookup.target [Service] AmbientCapabilities=CAP_NET_BIND_SERVICE CacheDirectory=dnscrypt-proxy CapabilityBoundingSet=CAP_NET_BIND_SERVICE DynamicUser=yes ExecStart=/usr/bin/dnscrypt-proxy --config /etc/dnscrypt-proxy/dnscrypt-proxy.toml LockPersonality=yes LogsDirectory=dnscrypt-proxy MemoryDenyWriteExecute=true NonBlocking=true NoNewPrivileges=true PrivateDevices=true ProtectControlGroups=yes ProtectHome=yes ProtectHostname=yes ProtectKernelLogs=yes ProtectKernelModules=yes ProtectKernelTunables=yes ProtectSystem=strict RestrictAddressFamilies=AF_INET AF_INET6 RestrictNamespaces=true RestrictRealtime=true RuntimeDirectory=dnscrypt-proxy StateDirectory=dnscrypt-proxy SystemCallArchitectures=native SystemCallFilter=@system-service @chown SystemCallFilter=~@resources @privileged [Install] WantedBy=multi-user.target
cat /lib/systemd/system/dnscrypt-proxy.socket [Unit] Description=DNSCrypt-proxy socket Documentation=https://github.com/jedisct1/dnscrypt-proxy/wiki Before=nss-lookup.target Wants=nss-lookup.target network-online.target [Socket] ListenStream=127.0.2.1:53 ListenDatagram=127.0.2.1:53 ListenStream=[::1]:53 ListenDatagram=[::1]:53 NoDelay=true DeferAcceptSec=1 [Install] WantedBy=sockets.target
Pokaż co zwraca: Kod: # apt-cache policy dnscrypt-proxy
używam archa, nie wiem jak to odnieść do pacman-a.
Wyłączyłem socket
systemctl disable dnscrypt-proxy.socket
i dalej to samo.
journalctl -xe ░░ Subject: Ukończono zadanie zatrzymania dla jednostki dnsmasq.service ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ Ukończono zadanie zatrzymania dla jednostki dnsmasq.service. ░░ ░░ Identyfikator zadania: 3359, wynik zadania: done. wrz 13 09:40:42 marek-x751lx systemd[1]: dnsmasq.service: Start request repeate> wrz 13 09:40:42 marek-x751lx systemd[1]: dnsmasq.service: Failed with result 'e> ░░ Subject: Jednostka się nie powiodła ░░ Defined-By: systemd
Offline
No to masz w sokecie 127.0.2.1, więc w czym problem? xD
Pokaż:
# systemd-delta --no-pager
Ja bym na twoim miejscu wyczyścił konfigurację dnscrypt-proxy i jeszcze raz ją utworzył, tj. wywalił pakiet dnscrypt-proxy, wywalił katalog /etc/dnscrypt-proxy/ i ponownie ten pakiet zainstalował i włączył zarówno usługę dnscrypt-proxy jak i soket. Wtedy powinieneś mieć tylko jedną instancję dnscrypt-proxy nasłuchującym na 127.0.2.1.
Offline
OK problem rozwiązany!!!!
Reinstalacja dnscrypt-proxy niczego nie dała. Problem tkwił w błędzie tekstowym pliku dnsmasq.conf
bind-dynamic
wcześniej miałem bind-interfaces. Teraz wygląda, że działa i jest aktywny:
systemctl status dnsmasq.service ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor p> Active: active (running) since Sun 2020-09-13 18:16:15 CEST; 55s ago Docs: man:dnsmasq(8) Process: 520 ExecStartPre=/usr/bin/dnsmasq --test (code=exited, status=0/SU> Main PID: 530 (dnsmasq) Tasks: 1 (limit: 9372) Memory: 3.0M CGroup: /system.slice/dnsmasq.service └─530 /usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --pid-file wrz 13 18:16:15 marek-x751lx systemd[1]: Starting dnsmasq - A lightweight DHCP > wrz 13 18:16:15 marek-x751lx dnsmasq[520]: dnsmasq: składnia sprawdzona, jest p> wrz 13 18:16:15 marek-x751lx systemd[1]: Started dnsmasq - A lightweight DHCP a> wrz 13 18:16:15 marek-x751lx dnsmasq[530]: uruchomiony, wersja 2.82, 10000 miej> wrz 13 18:16:15 marek-x751lx dnsmasq[530]: opcje kompilacji: IPv6 GNU-getopt DB> wrz 13 18:16:15 marek-x751lx dnsmasq[530]: obsługa DBus włączona, podłączono do> wrz 13 18:16:15 marek-x751lx dnsmasq[530]: używam serwera nazw 208.67.222.222#5> wrz 13 18:16:15 marek-x751lx dnsmasq[530]: używam serwera nazw 127.0.0.1#5300 wrz 13 18:16:15 marek-x751lx dnsmasq[530]: wyczyszczono pamięć podręczną lines 1-20/20 (END)...skipping... ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2020-09-13 18:16:15 CEST; 55s ago Docs: man:dnsmasq(8) Process: 520 ExecStartPre=/usr/bin/dnsmasq --test (code=exited, status=0/SUCCESS) Main PID: 530 (dnsmasq) Tasks: 1 (limit: 9372) Memory: 3.0M CGroup: /system.slice/dnsmasq.service └─530 /usr/bin/dnsmasq -k --enable-dbus --user=dnsmasq --pid-file wrz 13 18:16:15 marek-x751lx systemd[1]: Starting dnsmasq - A lightweight DHCP and caching DNS server... wrz 13 18:16:15 marek-x751lx dnsmasq[520]: dnsmasq: składnia sprawdzona, jest prawidłowa. wrz 13 18:16:15 marek-x751lx systemd[1]: Started dnsmasq - A lightweight DHCP and caching DNS server. wrz 13 18:16:15 marek-x751lx dnsmasq[530]: uruchomiony, wersja 2.82, 10000 miejsc w pamięci podręcznej wrz 13 18:16:15 marek-x751lx dnsmasq[530]: opcje kompilacji: IPv6 GNU-getopt DBus no-UBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile wrz 13 18:16:15 marek-x751lx dnsmasq[530]: obsługa DBus włączona, podłączono do serwera DBus wrz 13 18:16:15 marek-x751lx dnsmasq[530]: używam serwera nazw 208.67.222.222#53 dla domeny pool.ntp.org wrz 13 18:16:15 marek-x751lx dnsmasq[530]: używam serwera nazw 127.0.0.1#5300 wrz 13 18:16:15 marek-x751lx dnsmasq[530]: wyczyszczono pamięć podręczną
Zastanawia mnie dlaczego ucina połączenie kiedy w sekcji NM -> Ustawienia IPv4 wklepię adres DNS 127.0.0.1 -> Automatyczne DHCP, (tylko adresy)?
Sokety mam teraz wyłączone. Próba uruchomienia i powtarza się błąd z zajętym portem 53. Czy dnscrypt-proxy.socket jest potrzebny?
Ostatnio edytowany przez mark (2020-09-13 18:21:13)
Offline
Nie wiem co ci tam nasłuchuje na jakich adresach i na jakich portach...
Ten bind-interfaces nie ma nic wspólnego z błędami, których doświadczasz.
Jak nie przerabiałeś usługi systemd dla dnscrypt-proxy to sokety są potrzebne.
Offline
morfik napisał(-a):
Nie wiem co ci tam nasłuchuje na jakich adresach i na jakich portach...
Ten bind-interfaces nie ma nic wspólnego z błędami, których doświadczasz.
Jak nie przerabiałeś usługi systemd dla dnscrypt-proxy to sokety są potrzebne.
1.
lsof -i -P -n | grep LISTEN systemd-r 335 systemd-resolve 12u IPv4 16066 0t0 TCP *:5355 (LISTEN) systemd-r 335 systemd-resolve 14u IPv6 16069 0t0 TCP *:5355 (LISTEN) dnscrypt- 389 dnscrypt-proxy 7u IPv4 25912 0t0 TCP 127.0.2.1:53 (LISTEN) dnsmasq 435 dnsmasq 5u IPv4 21216 0t0 TCP 127.0.0.1:53 (LISTEN) dnsmasq 435 dnsmasq 7u IPv6 21218 0t0 TCP [::1]:53 (LISTEN) dnsmasq 435 dnsmasq 13u IPv4 25865 0t0 TCP 192.168.1.10:53 (LISTEN) dnsmasq 435 dnsmasq 15u IPv6 29716 0t0 TCP [fe80::e6b:c124:8730:b2c7]:53 (LISTEN)
systemctl status dnscrypt-proxy ● dnscrypt-proxy.service - DNSCrypt-proxy client Loaded: loaded (/usr/lib/systemd/system/dnscrypt-proxy.service; enabled; v> Active: active (running) since Sun 2020-09-13 21:09:48 CEST; 6min ago
systemctl status dnsmasq ● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor p> Active: active (running) since Sun 2020-09-13 21:09:48 CEST; 7min ago
systemctl status dnscrypt-proxy.socket ● dnscrypt-proxy.socket - DNSCrypt-proxy socket Loaded: loaded (/usr/lib/systemd/system/dnscrypt-proxy.socket; disabled; v> Active: inactive (dead)
Tylko tak u mnie działa przy wyłączonym dnscrypt-proxy.socket. Problem zaczyna się gdy go włączę!
2. bind-dynamic tak mam w dnsmasq.conf i to działa.
3. usługi systemd dla dnscrypt-proxy nie przerabiałem i może dlatego działa bez socket-ów. Nie wiem nie jestem ekspertem ale jedno jest pewne dnscrypt-proxy i dnsmasq są teraz wreszcie aktywne.
Offline
Nie musisz go włączać. Teraz masz skonfigurowane tak by działało bez soketów i dobrze. Ja mam podobnie bez soketów i działa od lat.
Tak patrzę na tę twoją usługę systemd, to ona nie ma w zależnościach soketów, więc nie trzeba jej przerabiać (dziwnie wam ten usługi napisali).
Ja bym na twoim miejscu jeszcze tylko wyłaczył systemd-resolved bo w takiej konfiguracji on jest zbędny:
# systemctl disable systemd-resolved.service # systemctl stop systemd-resolved.service
I będzie śmigać.
Ostatnio edytowany przez morfik (2020-09-13 22:57:57)
Offline
morfik napisał(-a):
Nie musisz go włączać. Teraz masz skonfigurowane tak by działało bez soketów i dobrze. Ja mam podobnie bez soketów i działa od lat.
Tak patrzę na tę twoją usługę systemd, to ona nie ma w zależnościach soketów, więc nie trzeba jej przerabiać (dziwnie wam ten usługi napisali).
Ja bym na twoim miejscu jeszcze tylko wyłaczył systemd-resolved bo w takiej konfiguracji on jest zbędny:Kod:
# systemctl disable systemd-resolved.service # systemctl stop systemd-resolved.serviceI będzie śmigać.
I tak zrobiłem i śmiga wreszcie. Na tym mój problem z konfiguracją dnscrypt-proxy się skończył. Dla zainteresowanych tematem, bo są różne przyczyny dysfunkcji tej aplikacji, polecam stronę, która szeroko przybliża temat i jest merytoryczna:
https://github.com/DNSCrypt/dnscrypt-proxy/wiki/ins … nscrypt-proxy
Korzystając z okazji podpytam Ciebie o aktywację DoH w dnscrypt-proxy, bo jak czytałem można ją uruchomić także w samym CloudFlare, jeśli się z niego korzysta.
W dnscrypt-proxy domyślnie jest nieaktywne. Edycja pliku:
/etc/dnscrypt-proxy/dnscrypt-proxy.toml
# Local DoH server # ################################## [local_doh] ## dnscrypt-proxy can act as a local DoH server. By doing so, web browsers ## requiring a direct connection to a DoH server in order to enable some ## features will enable these, without bypassing your DNS proxy. ## Addresses that the local DoH server should listen to # listen_addresses = ['127.0.0.1:3000'] ## Path of the DoH URL. This is not a file, but the part after the hostname ## in the URL. By convention, `/dns-query` is frequently chosen. ## For each `listen_address` the complete URL to access the server will be: ## `https://<listen_address><path>` (ex: `https://127.0.0.1/dns-query`) # path = "/dns-query" ## Certificate file and key - Note that the certificate has to be trusted. ## See the documentation (wiki) for more information. # cert_file = "/var/lib/dnscrypt-proxy/localhost.pem" # cert_key_file = "/var/lib/dnscrypt-proxy/localhost.pem"
czy wystarczy odhaszować sam listen_addresses i jak sprawdzimy poprawność działania?
Jednak nie, po wykonaniu tego:
# systemctl disable systemd-resolved.service # systemctl stop systemd-resolved.service
i po restarcie systemu net padł więc tak nie można!
Ostatnio edytowany przez mark (2020-09-14 20:27:22)
Offline