Два найвищих відповіді, 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