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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2020-09-09 21:13:12

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

dnscrypt-proxy + opendns [SOLVED]

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:

Kod:

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:

Kod:

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

 

#2  2020-09-10 09:49:35

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

Skonfiguruj sobie upstream'owy  serwer DNS w dnscrypt-proxy. OpenDNS jest wspierany[1], choć pod nazwą cisco.

[1]: https://dnscrypt.info/public-servers/

Offline

 

#3  2020-09-10 12:52:43

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

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

 

#4  2020-09-10 15:06:42

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

W pliku /etc/dnscrypt-proxy/dnscrypt-proxy.toml ustaw sobie server_names na cisco.

Offline

 

#5  2020-09-10 17:23:06

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

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

Kod:

 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

 

#6  2020-09-10 18:01:41

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

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

 

#7  2020-09-10 18:17:05

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

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:

Kod:

 $ 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:

Kod:

 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

 

#8  2020-09-10 20:22:23

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

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

 

#9  2020-09-10 21:32:20

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

Czy wystarczy ustawienie ClouFlare w dnscrypt-proxy i zmiana w /etc/resolv.conf na:

Kod:

nameserver 1.1.1.1. 
nameserver 1.0.0.1

?
ClouFlare nie musi istnieć jako usługa systemctl?

Offline

 

#10  2020-09-11 10:36:02

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

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:

Kod:

$ cat /etc/resolv.conf
nameserver 127.0.0.1
options trust-ad

Na tym adresie nasłuchuje dnsmasq:

Kod:

# 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.:

Kod:

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:

Kod:

# 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 :

Kod:

server_names = ['cloudflare']

I tak to działa.

Offline

 

#11  2020-09-11 17:10:18

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

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ł.

Kod:

 # 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.

Kod:

 $ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 127.0.0.1

Tak jak u Ciebie.

Kod:

 # 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!

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

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

 

#12  2020-09-11 18:56:11

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

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:

Kod:

# 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.1

Tak 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 dnscrypt

Oba 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ć:

Kod:

# 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

 

#13  2020-09-11 20:40:13

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

Kod:

 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?

Kod:

 chattr +i /etc/resolv.conf

log dnsmasq

Kod:

#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:

Kod:

 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                 :::*

Kod:

 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

 

#14  2020-09-11 22:49:27

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

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

 

#15  2020-09-12 18:55:11

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

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?

Kod:

#         Global settings        #
  Local DoH server 
 # listen_addresses = ['127.0.0.1:3000']

Offline

 

#16  2020-09-12 20:23:52

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

Nie pokazałeś żadnych poleceń, żadnych logów, więc nie wiem co tam zrobiłeś i czemu ci nie działa.

Offline

 

#17  2020-09-12 21:00:30

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

Kod:

#  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

Kod:

 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

Kod:

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

Kod:

 $ 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:

Kod:

 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

 

#18  2020-09-13 08:16:38

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

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:

Kod:

# 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

Kod:

#  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:

Kod:

# apt-cache policy dnscrypt-proxy

Offline

 

#19  2020-09-13 09:59:27

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

po kolei

Kod:

 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

Kod:

 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

Kod:

 Pokaż co zwraca:
Kod:
# apt-cache policy dnscrypt-proxy

używam archa, nie wiem jak to odnieść do pacman-a.

Wyłączyłem socket

Kod:

systemctl disable dnscrypt-proxy.socket

i dalej to samo.

Kod:

  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

 

#20  2020-09-13 12:31:44

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

No to masz w sokecie 127.0.2.1, więc w czym problem? xD

Pokaż:

Kod:

# 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

 

#21  2020-09-13 16:54:07

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

OK problem rozwiązany!!!!

Reinstalacja dnscrypt-proxy niczego nie dała. Problem tkwił w błędzie tekstowym pliku dnsmasq.conf

Kod:

bind-dynamic

wcześniej miałem bind-interfaces. Teraz wygląda, że działa i jest aktywny:

Kod:

 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

 

#22  2020-09-13 18:48:08

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

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

 

#23  2020-09-13 21:25:32

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

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.

Kod:

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)

Kod:

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

Kod:

 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

Kod:

 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

 

#24  2020-09-13 22:56:36

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: dnscrypt-proxy + opendns [SOLVED]

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.service

I będzie śmigać.

Ostatnio edytowany przez morfik (2020-09-13 22:57:57)

Offline

 

#25  2020-09-14 18:16:16

  mark - Użytkownik

mark
Użytkownik
Zarejestrowany: 2020-09-09

Re: dnscrypt-proxy + opendns [SOLVED]

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.service

I 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

Kod:

 #        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:

Kod:

# 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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)