메뉴 닫기

네트워크 서비스 탐색 사용하지 않기 알림창 해결

리눅스 배포판을 사용하다 보면 “네트워크 서비스 탐색 사용하지 않기 – 현재 네트워크는 .local 도메인을 가지고 있어 Avahi 네트워크 서비스 탐색에 문제를 일으킬 수 있습니다. 서비스를 사용하지 않습니다.” 라는 알림창이 뜨는 것을 종종 볼 수 있다. 사용하는 데 크게 문제는 안되지만, 네트워크 연결 시 마다 뜨는 것이 조금 거슬리므로 알아보자.

이 알림창은 네트워크가 연결될 때, Avahi에 의해 뜨게 된다. 데몬의 위치는 /etc/network/if-up.d/avahi-demon이다. Avahi는 mDNS와 관련된 서비스인데, 이 알림창은 mDNS(Multicast DNS)가 비활성화 되었음을 알려주는 알림창이다. mDNS는 이름답게 멀티캐스트를 통해 모든 컴퓨터에 ip주소에 대응되는 기기의 이름을 알 수 있게 해주는 서비스이다.

일단 이 알림이 뜨는 이유는 .local Active Directory Domain이 보안상 위험하기 때문에, Avahi가 자동적으로 멀티캐스트를 중단하였기 때문에 뜬다. Active Directory Domain으로 .local을 쓰지 말 것이 강하게 권장된다. (http://www.mdmarra.com/2012/11/why-you-shouldnt-use-local-in-your.html) 하지만, 일반적인 가정이나 노트북에서는 관련 설정을 하기 어려우며, IPTIME 공유기에는 아예 AD Domain 관련 설정이 없다.

Jun 17 01:35:04 desktop-enyou avahi-daemon[16210]: Server startup complete. Host name is desktop-enyou.local. Local service cookie is 32131313.

최초에 Avahi는 .local이어도 먼저 mDNS 서비스를 구성한다. 로그를 보면 .local으로 호스트 네임이 끝난다고 알려주고 있다. 이렇게 셋업이 끝난 후 조금 이따, avahi가 친절하게 .local 도메인을 찾아내서 서비스를 비활성화한다. 그러고 나서 맨 위와 같은 알림이 뜬다.

맨 처음에는 당연하게도 IPTIME 공유기에서 도메인이 잘 못 설정되어 있기 때문에 나타나는 오류라고 생각했다. 그런데, askubuntu.com에 있는 정보로는 이 .local 로 끝나는 존이, 집에 있는 공유기 단이 아니라, ISP(인터넷 사업자) DNS 단에서 잘못 설정해 둔거라고 한다. (https://askubuntu.com/questions/339702/network-service-discovery-disabled-what-does-this-mean-for-me/363523)

정말 레코드에 .local이 등록되어 있다. 이렇게 하면 안 된다는 데, 그렇게 되어있다. 나는 KT 회선을 사용중인데, 분명 얼마 전까지는 또 안 떳던 것으로 보아, DNS 서버 작업이 있었는데, .local을 등록해둔 것 같다.

근본적인 해결방법은 avahi를 끄는 것도, 설정에서 강제로 .alocal로 바꿔주는 것도(나의 경우에는 해결책이 되지 않았다.), .local 검출 시 비활성화 기능을 끄는 것도 아닌 DNS 서버를 바꾸는 것이다.

공유기 단에서는 그냥 KT DNS를 쓰고 있었고, 몇몇 PC만 1.1.1.1로 해놨었는데, 이김에 그냥 공유기도 1.1.1.1로 바꿨다.

DNS 서버 레코드에서 .local 자체가 없었고, avahi 알림창은 더 이상 뜨지 않았으며, log에도 .local 관련 내용이 사라졌다.

이번에 느낀 점은, 호스트 도메인 주소 검출해서 스푸핑이나 하는 통신사 DNS는…. 믿지 말자. 1.1.1.1이든 8.8.8.8 이든 믿을 수 있는 DNS 서버를 쓰자. 공유기가 아닌 컴퓨터의 DNS 서버를 1.1.1.1로 고정한다면, 개방형 WIFI 등에서도 해당 오류를 보지 않을 수 있을 것이다.