dnscrypt - pytanie
|
Gree |
Dodano 26-04-2014 14:43
|
User
Posty: 50
Dołączył: 02/06/2012 16:13
|
Cześć wszystkim,
lekko się już pogubiłem ;) staram się rozkminić jak ten dnscrypt w Tomato właściwie działa.
Krótkie wprowadzenie: korzystam w Tomato z dnsmasq jako wewnętrznego resolvera DNS. W basic configu zaznaczyłem dnscrypt-proxy, nie wpisywałem nic w konfiguracji adresów DNS od ISP (są domyślnie ustawione na 0.0.0.0). Przy takim modelu zauważyłem, że Tomato (właściwie to dnsmasq) i tak pobiera sobie DNSy od ISP ale nie w tym tkwi główny problem.
Wg mnie dnscrypt w Tomato działa tak (w sporym uproszczeniu ;):
lokalny klient chce nazwy -> tomato (dnsmasq UDP 53) -> 127.0.0.1:40 -> serwery OpenDNS (443)
i gitara :) Ale... zauważyłem w QoS (view details), że urządzenie i tak "gada" z serwerami DNS od ISP. Kolejna rzecz, że nie potrafię tego ruchu wychwycić z poziomu tcpdump z routera!
tcpdump udp port 53 and host x.x.x.x
i cisza... (x.x.x.x to oczywiście DNS od ISP, ten sam którego widzę w QoS w sekcji view details).
jak x.x.x.x podmienię np na adres routera - widzę cały ruch UDP na porcie 53 z i do routera, więc polecenie wygląda ok.
Niech ktoś mnie oświeci czemu Tomato w kombinacji z dnscrypt i tak komunikuje się z DNSami od ISP? Może ja już źle coś sobie wymyśliłem, że tak być nie powinno?
Pozdrawiam,
Gree
Asus RT-AC56U + Seagate 3TB | Optware - FreshTomato-ARM 2024.2 AIO
Netgear WNR3500L v2 - Tomato 132 AIO
Asus WL-500GP v2 - Tomato 132 VPN
|
|
|
|
hermes-80 |
Dodano 26-04-2014 15:22
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
ja użyłem jeszcze
- Przechwyć port DNS
(UDP 53)
i nie widzę dzikiej komunikacji.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
Gree |
Dodano 26-04-2014 16:27
|
User
Posty: 50
Dołączył: 02/06/2012 16:13
|
Zaznaczyłem to i nadal widzę komunikację z DNSami ISP w QoS - View Details
Asus RT-AC56U + Seagate 3TB | Optware - FreshTomato-ARM 2024.2 AIO
Netgear WNR3500L v2 - Tomato 132 AIO
Asus WL-500GP v2 - Tomato 132 VPN
|
|
|
|
maciej2 |
Dodano 26-04-2014 19:57
|
Super User
Posty: 418
Dołączył: 19/12/2010 16:35
|
A "chyba" normalne, bo musi pobrać wpis DNS od ISP jeśli go nie posiada, potem jak już posiada wpis to nie łączy się z ISP.
ASUS RT-AC66U v B1 - Asuswrt-Merlin
ASUS WL-500gP v2 - FreshTomato
|
|
|
|
kebas |
Dodano 26-04-2014 20:31
|
User
Posty: 35
Dołączył: 21/04/2007 18:39
|
Nie chcę palnąć gafy, ale może któreś z urządzeń przed routerem ma na sztywno ustawiony DNS od ISP.
Asus RT-N16 + tomato-K26USB-1.28.RT-N5x-MIPSR2-130-AIO
|
|
|
|
Gree |
Dodano 27-04-2014 14:22
|
User
Posty: 50
Dołączył: 02/06/2012 16:13
|
@maciej2 - to komunikacja "ciągła". Jak tylko na dowolnym urządzeniu w LAN otworzę nową stronę to ilość połączeń z DNSami ISP się zmienia (wzrasta jeśli to nowy URL który nie był w cache)
@kebas - to też nie to. Testowo wpisałem DNSy google'a jako static DNS w Tomato (dnscrypt-proxy cały czas pozostaje zaznaczone) i to te DNSy zaczęły świecić w połączeniach zamiast tych od ISP.
Asus RT-AC56U + Seagate 3TB | Optware - FreshTomato-ARM 2024.2 AIO
Netgear WNR3500L v2 - Tomato 132 AIO
Asus WL-500GP v2 - Tomato 132 VPN
|
|
|
|
qwerty321 |
Dodano 27-04-2014 18:39
|
Super User
Posty: 571
Dołączył: 27/04/2014 18:11
|
Cytat kebas napisał(a):
Nie chcę palnąć gafy, ale może któreś z urządzeń przed routerem ma na sztywno ustawiony DNS od ISP.
Cześć wszystkim userom wspaniałego Tomato :-)
U mnie w 3500L V2 (AIO 117EN), mimo zaznaczenia ptaszka przy Intercept DNS port 53, dalej puszcza bokiem zapytania dns jeżeli komputer w sieci LAN ma wpisany na sztywno DNS od ISP czy od Tepsy. Jak wpisuję ręcznie adres mojego routera to niby nie puszcza. Chociaż nie wiem jeszcze do końca czy na pewno nie puszcza po wpisaniu na sztywno adresu routera w windowsie jako DNS.
Mam net od małego ISP, który daje mi PPPoE na kablu ETH z antenki z mikrotikiem da dachu. Ten kabel wtykam w Netgeara 3500L V2 w WAN i PPPoE zaciąga sobie dwa DNS-y od tegoż ISP. Ustawiłem w
BASIC:
Static DNS 0.0.0.0 we wszystkie pola
Use dnscrypt-proxy
40
-m 99
0.0.0.0
i w Advanced->DHCP/DNS
Use internal DNS
Prevent DNS-rebind attacks
Intercept DNS port (UDP 53)
I to tyle.
Parametr "Intercept DNS port (UDP 53)" Wydaje się nie działać do końca, chyba że czegoś nie rozumiem.
Czy parametr "Use internal DNS" ma być włączony czy nie? Czy router ma być moim DNS-em? Czy ma tylko przechwycić 53 port i go zaszyfrować i wysłać do OpenDNS-ów ?
Nic z tego nie kumam :-) Jak ma to działać? Czy Tomato ma być lokalnym DNS-em dla lanu a ten lokalny DNS korzysta z openDNS-ów czy jak?
Pozdrowienia dla Shibiego i wszystkich czytających :-)
----------
Dalsze testy po kilku minutach:
Wyłączenie w Advanced->DHCP/DNS "Use internal DNS" powoduje to, że DHCP zaciąga DNS-y od operatora ISP i windows mi ich używa, a one odpowiadają na zapytania. Router niczego nie przechwytuje na porcie 53.
Albo jest bug albo niewiedza :-)
Edytowany przez qwerty321 dnia 27-04-2014 18:53
|
|
|
|
hermes-80 |
Dodano 28-04-2014 11:03
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Aby to dokładnie zdiagnozować musiałbyś przechwycić pakiety poza portem WAN routera - czyli postawić tam drugi router lub cokolwiek co by ci pokazało pakiety.
1. UDP 192.168.1.200 1472 8.8.8.8 53 (żądanie dns z PC)
2. UDP 127.0.0.1 40 127.0.0.1 42087 (przechwycenie przez router i wysłanie żądania do opendns)
3. UDP 208.67.220.220 443 192.168.100.133 30303 (przysłanie w tunelu szyfrowanym od opendns)
tak mi się wydaje że to działa.
Edytowany przez hermes-80 dnia 28-04-2014 11:13
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
qwerty321 |
Dodano 29-04-2014 00:31
|
Super User
Posty: 571
Dołączył: 27/04/2014 18:11
|
Cytat
1. UDP 192.168.1.200 1472 8.8.8.8 53 (żądanie dns z PC)
2. UDP 127.0.0.1 40 127.0.0.1 42087 (przechwycenie przez router i wysłanie żądania do opendns)
3. UDP 208.67.220.220 443 192.168.100.133 30303 (przysłanie w tunelu szyfrowanym od opendns)
tak mi się wydaje że to działa.
Mnie się też tak wydaje, że tak być powinno. No ale puszcza bokiem. Jak ustawię DNS w PC inny niż IP routera to pakiety przechodzą i moim zdaniem port 53 nie jest łapany, a być powinien. I to bez względu na to czy mam w dns wpisane 8.8.8.8 czy cokolwiek.
Adres routera jako DNS załatwia sprawę.
Może Shibby się wypowie :-)
Połączony z 29 kwiecień 2014 01:26:20:
Jeszcze mi coś do głowy wpadło.
PPPoE od dostawcy podaje mi dwa DNS-y i przez nie krwawi. Jak się ich pozbyć żeby się nie wcinały?
Apr 27 18:45:36 RT-9cd36daebdbc daemon.info dnsmasq[2215]: reading /etc/resolv.dnsmasq
Apr 27 18:45:36 RT-9cd36daebdbc daemon.info dnsmasq[2215]: using nameserver 91.232.52.10#53
Apr 27 18:45:36 RT-9cd36daebdbc daemon.info dnsmasq[2215]: using nameserver 91.232.50.10#53
Apr 27 18:45:36 RT-9cd36daebdbc daemon.info dnsmasq[2215]: using nameserver 127.0.0.1#40
Mam wrażenie, że nie ma się ich jak pozbyć i jak wpiszę je w PC-tach to omija dnscrypt. I prawdopodobnie inne wpisane DNS-y, różne od IP routera są łapane przez te DNS-y podane przez dostawcę.
Tam jest w Advanced taka opcja łączenia crypt ze statycznymi ale nie ma jak rozdzielić nadanych dynamicznie.
Edytowany przez qwerty321 dnia 29-04-2014 01:26
|
|
|
|
shibby |
Dodano 29-04-2014 09:04
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
to raczej logiczne, że wyłączenie "Use internal DNS" powoduje kierowanie wszystkich zapytań do DNSów operatora. Tak samo wpisanie DNsów z palca na końcówce. Jedyne co robi włączenie dnscryptu to dodanie serwera dns na porcie 40 i ustawienie go na pierwszym miejscu listy serwerów. Nie ma tam żadnej funkcji "force".
Jeżeli chcesz wymusić serwery DNS bez względu na to co wpisze końcówka to wystarczy jedna komenda w iptables.
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
qwerty321 |
Dodano 29-04-2014 12:55
|
Super User
Posty: 571
Dołączył: 27/04/2014 18:11
|
Cytat shibby napisał(a):
to raczej logiczne, że wyłączenie "Use internal DNS" powoduje kierowanie wszystkich zapytań do DNSów operatora. Tak samo wpisanie DNsów z palca na końcówce. Jedyne co robi włączenie dnscryptu to dodanie serwera dns na porcie 40 i ustawienie go na pierwszym miejscu listy serwerów. Nie ma tam żadnej funkcji "force".
Jeżeli chcesz wymusić serwery DNS bez względu na to co wpisze końcówka to wystarczy jedna komenda w iptables.
A jaką komendę wpisać przyjacielu ? :-) Podpowiedz proszę :-)
I drugie pytanie, co w związku z tym robi opcja przechwytywania portu 53 ? Czy ona jest czy nie to tak samo się zachowuje.
Przydał by się mechanizm zarządzania tymi DNS-ami żeby unikać wycieków ale w gui :-)
Pozdrawiam :-) |
|
|
|
shibby |
Dodano 29-04-2014 14:16
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
https://openlinksys.info/forum/viewthread.php?thread_id=11624&highlight=8.8.8.8+iptables&pid=132698#post_132698
tu co prawda odwrotny przypadek ale już powinno ci coś zaświtać
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
qwerty321 |
Dodano 30-04-2014 18:00
|
Super User
Posty: 571
Dołączył: 27/04/2014 18:11
|
Ja wiem, ale gdyby był ptaszek w konfiguracji WAN taki "Ignore DNS from ISP" to by mi tych wpisów "nemeserver" w ogóle nie zrobiło i tam by siedział localhost albo 0.0.0.0 i problem przypadkowego wycieku by się zmniejszył. Niektóre programy w PC mogą robić różne złośliwości, a jak nie ma wpisów to nie ma.
Połączony z 30 kwiecień 2014 18:02:01:
Aha i żeby się dało przechwytująć port 53 w Advanced, na przykład podać komu podać dalej. No a pozostałe dropować. :-)
Edytowany przez qwerty321 dnia 30-04-2014 18:02
|
|
|