Czy Chrome używa innego serwera DNS niż system operacyjny?


11

Używam Chrome w systemie Linux. Mam lokalny DNS, aby rozpoznać * .myname.com na 127.0.0.2 (wpisuję „hostokolwiek.nazwa.com.com” lub „host moja_nazwa.com” i widzę poprawny adres). Jednak w Chrome po wpisaniu „myname.com” następuje przekierowanie do „www.myname.com” i rozwiązanie „prawdziwej” witryny, której nie chcę.

Tylko po wpisaniu „test.myname.com”, a nie „www.myname.com”, Chrome poprawnie rozpoznaje wersję 127.0.0.2. Chyba Chrome próbuje robić fajne rzeczy z www.anything.com i cokolwiek.com.

Jak to naprawić?

PS: lokalny DNS, którego używam, to dnsmasq. Jeśli jawnie wstawię nazwę myname.com do / etc / hosts, Chrome rozwiązuje ją poprawnie w wersji 127.0.0.2, ale nie mogę używać symboli wieloznacznych w / etc / hosts.

PPS: Mogę potwierdzić na chrome: // net-internals / # dns, że Chrome poprawnie myname.com i www.myname.com w prawdziwy publiczny adres IP.

Odpowiedzi:


6

W rzeczywistości Chrome używał własnego klienta DNS, który komunikuje się z wieloma serwerami DNS (lokalnym DNS, routerem DNS, routerem DNS w IPv6). Idę do chrome: // flags i wyłączam „Wbudowany asynchroniczny DNS”. Teraz działa.


2
Flaga „Wbudowany asynchroniczny DNS” została usunięta z Google Chrome, wyłączając w ten sposób „poprawkę”. chromium.googlesource.com/chromium/src/+/… (od superuser.com/a/887191/109126 )
jcisio

5
Ta opcja została usunięta z Chrome, usuń odpowiedź, aby zapobiec pomyłkom, lub przegłosuj: D
sorin

1
Wciąż jest tu jakiś problem. Używam Chrome 56 na Linux Mint, a rozpoznawanie adresów zajmuje kilka minut po połączeniu z VPN. Firefox robi to natychmiast. Wygląda na to, że Chrome potrzebuje trochę czasu, aby zobaczyć zmiany /etc/resolv.conf.
orodbhen

1
Nadal obowiązuje w Chrome na Androida. Opcja nazywa się „Async DNS resolver” (chrome: // flags / # enable-async-dns)
MaxChinni

1
w 69+ nie ma takiej opcji, a wyłączenie chrome: // flags / # enable-new-preconnect (wspomina o DNS) nie pomaga
vladkras

1

Możesz zmienić ustawienia serwera proxy i zmusić go do używania żądanego adresu.

Otwórz nowy plik z rozszerzeniem .pac, pliki te są używane przez system do określania serwerów proxy, skopiuj to do zawartości pliku:

function FindProxyForURL(url, host) {
    if (host=='www.myname.com' || host=='myname.com'){
        return 'PROXY 127.0.0.2';
    }
    // All other domains should connect directly without a proxy
    return "DIRECT";
}

przejdź do ustawień chrome proxy, a pod „url do automatycznej konfiguracji proxy” wprowadź ścieżkę do tego pliku.

nie musisz mieć serwera DNS, możesz przekierować go do różnych portów na komputerze i możesz go zaprogramować według własnych potrzeb.


1
Użyłem go, gdy korzystałem z komputera Mac, ponieważ w OS XI mogę używać pliku .pac dla całego systemu. Nie w systemie Linux AFAIK (nie działa z wget, curl itp.).
jcisio

jaki masz linux? (Mam Kubuntu i działa)
Ohad Cohen,

Archlinux + KDE. Po prostu nie wierzę, że ustawienia Chrome mogą zmienić zachowanie systemu operacyjnego w konsoli.
jcisio

ustawienia proxy chrome po prostu otwórz systemowe ustawienia proxy
Ohad Cohen

Dzięki, właśnie przetestowałem z xubuntu na moim netbooku. Nie można otworzyć ustawień serwera proxy systemu (strona chrome: // linux-proxy-config / dała błąd). Spróbuję później z moim Archlinux.
jcisio
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.