Ubunutu 14.04에서는 머신이 사용하는 이름 서버를 나열하고 싶습니다. 일반적으로 이를 사용하여 nm-tool
목록을 나열하지만 GUI를 통해 로그인한 사용자가 없으면 NetworkManager가 실행되지 않는 것 같아서 SSH 세션에서 이 작업을 수행하려고 합니다.
/etc/resolv.conf
그것이 제공하는 모든 것이 단지 그것 뿐이기 때문에 나는 고양이를 잡을 수 없습니다 nameserver: 127.0.1.1
. 내가 뭐 놓친 거 없니? 다른 명령을 사용해야 합니까?
[편집하다]
실행 중인 프로세스 목록을 비교하면 다음과 같습니다. (GUI 유무에 관계없이 실행)
$ ps -eo args --sort=command | grep dbus > gui.txt #or nogui.txt
$ diff gui.txt nogui.txt
4c4
< dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-8cBzgUufwJ
---
> //bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
9,10d8
< upstart-dbus-bridge --daemon --system --user --bus-name system
< upstart-dbus-bridge --daemon --session --user --bus-name session
그렇다면 문제는 dbus를 통해 통신할 수 없다는 것일까요...?
답변1
기기가 DHCP를 통해 DNS를 얻는 경우 다음을 수행할 수 있습니다.
grep domain-name-servers /var/lib/dhcp/<interface>.leases
답변2
분명히 지금 통신할 수 있는 유일한 방법은 dnsmasq
D-Bus를 통하는 것인데, /var/run/NetworkManager/dnsmasq.conf
그것은 비어 있습니다(잘못된 디자인 IMHO). 따라서 var/log/syslog
마지막 항목을 확인 dnsmasq
하거나 D-Bus 인터페이스를 사용하십시오.
추가 정보:http://cweiske.de/tagebuch/networkmanager-dnsmasq.htm;http://www.thekelleys.org.uk/dnsmasq/docs/DBus-interface
답변3
시스템 설정에 문제가 있는 것 같습니다. Ubuntu 14.04가 있고 시스템을 재부팅하고 데스크탑을 통해 로그인한 사람이 없는지 확인했습니다. 그런 다음 시스템에 SSH를 연결하면 nmcli
제대로 작동합니다.
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
다음은 NetworkManager의 cli 도구를 통해 얻은 목록입니다 nmcli
.
$ nmcli dev list | grep DNS
IP4.DNS[1]: 192.168.1.101
IP4.DNS[2]: 8.8.8.8
IP4.DNS[3]: 8.8.4.4
IP4.DNS[4]: 208.67.222.222
IP4.DNS[5]: 208.67.220.220
이는 IP 주소를 임대하기 위해 DHCP 서버를 구성할 때 드릴다운하는 모든 DNS 서버입니다.