여러 개의 이더넷 포트가 있는 컴퓨터가 있습니다. 하나는 인터넷에 연결되어 있고 나머지는 인터넷 연결을 제공하기 위해 다른 장치에 연결되어 있습니다. DHCP 서비스는 dnsmasq에서 제공됩니다. 또한 이 머신에는 "내부" 인터페이스와만 공유되는 여러 개의 삼바 공유가 있습니다. 나는 이것이 매우 일반적인 설정이라고 생각합니다.
Mint 18에서는 이 모든 것이 중단 없이 원활하게 이루어집니다.
Mint 18.1로 업데이트하면 dnsmasq가 다음과 같이 나타나는 NetworkManager에 몇 가지 이상한 현상이 발생했습니다.
ps -ef | grep dnsm nobody 5099 5080 0 16:55 ? 00:00:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d
문제는 "--conf-file=/dev/null" 부분입니다. 이로 인해 dsnmasq가 실제로 /etc/NetworkManager/dnsmasq.d의 구성 파일을 읽는 것을 방해하는 것 같습니다.
"systemctl stop NetworkManager"를 수행한 다음 "killall -9 dnsmasq"를 수행한 다음 dnsmasq를 "수동으로" 재발행할 수 있습니다. 그러나 이것은 기껏해야 매우 추악한 작업입니다(다른 모든 NetworkManager 기능 비용이 발생합니다).
/etc/NetworkManager 및 /usr/lib/NetworkManager의 다양한 파일을 모두 조사한 결과 "conf-file=/dev/null"이 지정된 위치를 찾을 수 없으므로 이것이 / 어딘가에 필요한 기본값인 것 같습니다. 어떻게든 재정의되었지만 어떻게, 어디서인지 모르겠습니다. "man NetworkManager.conf"는 실제로 도움이 되지 않습니다.
답변1
NM은 dnsmasq가 기본 구성 파일을 로드하지 못하도록 conf 파일을 전달합니다.
하지만 참고하세요:
--conf-dir=/etc/NetworkManager/dnsmasq.d
답변2
위에서 볼 수 있듯이 문제는 --conf-file (blank) directive
시작할 때부터 발생합니다. 발행된 명령줄에서 이 지시문을 어떻게 제거할 수 있습니까? 분명히 실행 중인 테스트가 제대로 작동하지 않습니다.NetworkManager
dnsmasq
NetworkManager
NetworkManager
strings /usr/sbin/NetworkManager|grep conf_file
다음을 제공합니다:
conf_file != NULL
답변3
내 것을 확인할 때
ps -ef | grep dnsm
dnsmasq -x /var/run/dnsmasq/dnsmasq.pid -u dnsmasq -r /var/run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg- 신규--지역 서비스
이는 /etc/init.d/dnsmasq에서 시작하여 /etc/dnsmasq.conf에서 대부분의 구성 선택을 처리합니다. 그래서 초기화 스크립트가 일치하지 않기 때문이라고 생각합니다. 내 프로세스에서 대부분의 다양한 옵션을 찾았으므로 dnsmasq init 스크립트를 확인하세요.
sudo service dnsmasq restart
/etc/init.d/dnsmasq
문제 파일을 검사하실 때 같은 내용이 보이는지 다시 한번 시도해 보시고 저에게 제공해 주시면 더 좋을 것 같습니다. 아니면 가능하다면 덤프를 보내세요.