Два найвищих відповіді, nmcli dev list iface <interfacename> | grep IP4
і nm-tool
обидва припускають, що мережевий менеджер контролює. Що це таке - на настільних машинах, як мінімум, більшість часу. Але більш повна відповідь полягає в тому, що іноді мережевий менеджер не контролює. Напр. vpnc
Міси з /etc/resolv.conf
безпосередньо.
Отже: Спочатку перевірте, чи використовується 127.0.0.1/localhost. Це можна зробити за допомогою dig
:
> dig something.unknown | grep SERVER:
;; SERVER: 127.0.0.1#53(127.0.0.1)
Тепер ви знаєте , що ми є використовуючи локальні. Вперед з однією з популярних відповідей. Мені подобається:
> nm-tool | grep DNS:
DNS: 8.8.8.8
Але якщо 127.0.0.1/localhost не використовується, результат nm-tool
's і nmcli
' буде вводити в оману:
> dig something.unknown | grep SERVER:
;; SERVER: 172.22.216.251#53(172.22.216.251)
> nm-tool | grep DNS:
DNS: 8.8.8.8
Тут dig
правильна і nm-tool
інформація вводить в оману. Насправді адреси, локальні до середовища, в яке я входив VPN, вирішені правильно. Про все, про що 8.8.8.8
не знає DNS від Google .
Це тому, що після підключення до VPN vpnc
, він ставить рядок /etc/resolv.conf
так, що це виглядає так:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 1.2.3.4
nameserver 127.0.0.1
search MyDomain