Vraag In staat om toegang te krijgen web via ip, maar niet door dns naam


Ik wil graag een oplossing aanbieden voor een probleem dat ik op mijn universiteit tegenkwam. Het probleem hangt nauw samen met deze post. Ik vroeg de gebruiker of hij wel of geen oplossing had gevonden, maar hij heeft nooit gereageerd. Bovendien ben ik er niet zeker van of deze oplossing al dan niet specifiek is voor zaken of algemeen.

De situatie

In een van de gebouwen van mijn universiteit zou openbare wifi alleen werken met ip-adressen, maar niet met domeinnamen. Ik zou het bijvoorbeeld kunnen ping 8.8.8.8 of ga naar google in firefox by 74.125.227.142 ip adres, maar ping google.com of toegang google.com in firefox zou niet werken.

De oplossing

Ik zal een oplossing voor mijn probleem hieronder plaatsen. Voel je vrij om andere antwoorden of andere oplossingen toe te voegen voor andere gebruikers die soortgelijke problemen tegenkomen.


0
2017-10-28 21:50


oorsprong




antwoorden:


Zodra ik dit probleem ben tegengekomen, heb ik het een tijdje onderzocht en kwam ik erachter dat dit een probleem kan zijn. Door te lezen deze post, ik heb geleerd dat er een aantal manieren is om dit te doen toevoegen of vervangen de DNS-servers die door uw netwerk worden geleverd, maar geen van de oplossingen leek te werken. Zoals gebruiker brad al zei, wordt dns nog steeds beheerd door dnsmasq.

Nu, door in Config-bestanden te porren /etc/ ik vond de /etc/NetworkManager/NetworkManager.conf bestand met de volgende informatie:

[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq

[ifupdown]
managed=false

Ik heb de dns regel, en nu leest het bestand als volgt:

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
dns=208.67.222.222

[ifupdown]
managed=false

Na opnieuw opstarten van Network Manager met sudo service network-manager restart alles begon goed te werken en de oplossing werkt nog steeds na het opnieuw opstarten. Opmerking: 208.67.222.222 is OpenDNS openbare server.

Wat kan er zijn gebeurd:

In het netwerk is de uitvoer van nm-tool was het volgende:

DNS:             4.2.2.2
DNS:             8.8.8.8
DNS:             164.47.7.10
DNS:             164.47.7.11

Ik geloof dat mijn uni een eigen DNS-server heeft, dat is 164.47.7.11 en .10, en dnsmasq bevraagt ​​de dichtstbijzijnde, zodat mijn verzoeken zelfs 8.8.8.8 niet bereikten.

Ik hoop dat deze oplossing andere gebruikers helpt en laat het me weten als mijn oplossing voor dit probleem geldig, veilig genoeg of redelijk genoeg is.

Wat betreft het beantwoorden van mijn eigen vraag:

Ik doe dit om deze oplossing openbaar en gedocumenteerd te maken, althans voor mijn specifieke geval. Ik wil hier ook graag naar verwijzen post op meta.askubuntu.com.

Bijwerken:

Toen ik vandaag van uni thuiskwam, ontdekte ik dat ik geen verbinding kon maken met mijn wifi thuis. Ik heb wat meer gelezen man NetworkManager.conf en het blijkt dat dns= in [main] is eigenlijk een regel voor plug-ins, dus regel dns=dnsmasq is eigenlijk de toevoeging van dnsmasq plugin aan de netwerkbeheerder, blijkbaar. Dus mijn oplossing werkte nog steeds, alleen niet zoals verwacht. Hier is een uittreksel van de manpagina:

dns = plugin1, plugin2, ...                 Geef DNS-pluginnamen weer, gescheiden door ','. DNS-plug-ins zijn                 gebruikt om lokale caching nameserver functionaliteit te bieden                 (waarmee DNS-query's worden versneld) en om DNS-gegevens naar te pushen                 applicaties die het gebruiken.

Dus door in te stellen dns=208.67.222.222 Ik heb in principe voorkomen dat netwerkbeheerder die plug-in gebruikt, die anders de lokale dns-server zou gebruiken (wat blijkbaar niet werkt).

Update # 2:

Wat ik tot nu toe heb gedaan is om dnsmasq uit te leggen en de DNS van mijn internetprovider te dumpen. Nu wordt het vertellen van Network Manager uitgelegd in deze post, en het is een GUI-methode: open gewoon de Network Manager-indicator, selecteer "Verbindingen bewerken", open de naam van uw netwerk door op "Bewerken" te drukken en kies onder "IPv4-instellingen" de optie "Alleen automatische (DHCP) -adressen".

Hetzelfde kan gedaan worden op de commandolijn, door een bestand te bewerken voor uw specifieke verbinding opgeslagen in /etc/NetworkManager/system-connections. Bellow is het relevante gedeelte van mijn verbindingsbestand:

[ipv4]
method=auto
dns=208.67.222.222;
ignore-auto-dns=true

[ipv6]
method=auto

Nu, met al deze configuraties (commentaar op dsnmaq plug-in van NetworkManager.conf en verbinding ingesteld op alleen automatische (DHCP) -adressen), heb ik in principe alles bereikt wat ik probeerde aan te zetten - mijn machine verbinding maken via domeinnamen, en op de een of andere manier de universitaire dns-server gebruiken, want dat heeft me nergens gebracht.

nm-tool bevestigt dat ik de DNS die ik wilde ook zo goed gebruik dig google.com en /etc/resolv.conf.

Dit is de laatste update van deze vraag / antwoord en ik ben niet van plan iets anders toe te voegen, maar voel je vrij om relevante informatie toe te voegen als een afzonderlijk antwoord of in opmerkingen, evenals suggesties.

Ik hoop dat dit helpt voor andere Ubuntu-gebruikers en Linux-gebruikers in het algemeen!

``


3
2017-10-28 22:04



U hoeft die laatste alinea niet toe te voegen. Het beantwoorden van uw eigen vraag is een tamelijk standaardpraktijk overal in Stack Exchange, en wordt aangemoedigd, tenzij de vraag buiten het onderwerp om is of een andere norm schendt. - muru
@muru bedankt. Ik wist het gewoon niet zeker. Ik zal het voor de toekomst in gedachten houden - Sergiy Kolodyazhnyy