NetworkManager 제어 dnsmasq에서 DNS 캐싱을 어떻게 활성화합니까?


8

Ubuntu Desktop 12.04는 dnsmasq를 사용하여 DNS 조회를 수행하지만 이러한 결과 를 캐시하도록 구성되지 않았습니다 . (이름을 확인하기 위해 dig를 사용하여이를 확인했으며 첫 번째 조회 후 응답 시간이 크게 개선되지 않았습니다.) DNS 조회 결과를 캐시하도록 NetworkManager 제어 dnsmasq를 어떻게 구성합니까?

답변:


10

Ubuntu 12.10에서는 라인을 입력하여 NetworkManager 제어 dnsmasq 인스턴스의 캐시를 활성화 할 수 있습니다

cache-size=1000

/etc/NetworkManager/dnsmasq.d/의 새 파일에 (1000 대신 기본 이름을 사용) 이 변경 사항을 활성화하려면 다음을 수행해야합니다.

sudo stop network-manager
sudo killall dnsmasq
sudo start network-manager

또는 재부팅하십시오.


정보 주셔서 감사합니다. Ubuntu 16.04 (및 systemd가 도입 된 이후 15.10)의 경우 "sudo stop / start network-manager"대신 "sudo service network-manager stop / start"를 사용하십시오.
Fumisky Wells

그래도 작동하지만 시스템 도구를 사용하면 다음과 같아야합니다.sudo systemctl stop NetworkManager
goetzc

4

첫 번째 답변에서 설명한 방법을 사용하여 Linux Mint 13 (Ubuntu 12.04 기반)에서 DNS 캐싱을 활성화 할 수있었습니다. /etc/NetworkManager/dnsmasq.d/cachedns줄이 포함 된 파일 을 만든 cache-size=100다음 네트워크 관리자를 다시 시작했습니다. dnsmasq가 --cache-size=0명령 행에 하드 코드 된 네트워크 관리자에 의해 실행 되더라도 구성 파일에서 캐시 크기를 설정하면 해당 값이 대체됩니다. 다음을 수행하여 작동하는지 확인할 수 있습니다.

sudo killall -USR1 dnsmasq
tail /var/log/syslog

캐시 크기를 보여주는 syslog에 다음과 같은 행이 표시됩니다.

dnsmasq[17808]: cache size 100, 0/2 cache insertions re-used unexpired cache entries.

네트워크 관리자의 하드 코딩 된 --cache-size = 0이 어떻게 영향을 받는지 궁금했지만 게시물을 통해 명확하게 알 수 있습니다. 감사합니다!
Fumisky Wells 2016 년

1

12.04에서 업그레이드하고 싶지 않았지만 캐싱이 활성화 된 NetworkManager에서 dnsmasq 관리를 원했지만 다른 답변에서 알 수 있듯이 --cache-size = 0은 하드 코딩되어 있으며 구성으로 변경할 수 없습니다.

그래서 내가 끝낸 것은 루트로서 다음과 같습니다.

mv /usr/sbin/dnsmasq /usr/sbin/dnsmasq.real

다음 내용으로 / usr / sbin / dnsmasq 파일을 새로 만듭니다 :

#!/bin/bash
args=$(echo "$@" | sed 's/--cache-size=0/--cache-size=1000/')
/usr/sbin/dnsmasq.real $args

확인 chmod +x /usr/sbin/dnsmasq하고 캐시 크기를 1000에서 원하는 것으로 변경하고 DNS 캐시로 LTS 릴리스를 즐기십시오!


0

12.04에서 dnsmasq는 하드 코딩 된 (즉, 구성 할 수없는) 매개 변수 --cache-size = 0 으로 NetworkManager에 의해 시작됩니다 .

dnsmasq의 맨 페이지에 cache-size를 0으로 설정하면 캐싱이 비활성화됩니다. 캐싱을 사용하려면 NetworkManager가 dnsmasq를 시작하지 못하게하고 캐시 크기가 0보다 큰 dnsmasq 인스턴스를 시작하지 않도록 NetworkManager에 대해 dnsmasq-plugin을 사용 안함으로 설정해야합니다.

여기에서 NetworkManager에 대해 dnsmasq-plugin을 비활성화하는 방법을 읽을 수 있습니다. https://askubuntu.com/a/131422/71057


0

캐시를 다시 활성화하려면 (/etc/NetworkManager/dnsmasq.d 디렉토리가있는 NetworkManager 버전으로) 컨텐츠가 "cache-size = X"(X는 150 임)로 해당 디렉토리에 파일을 삭제하는 것으로 충분합니다. 기본 dnsmasq의 경우). 해당 파일은 명령 줄에 지정된 하드 코딩 된 매개 변수보다 우선합니다.


0

우분투 14.04에서는 편집 /etc/default/dnsmasq하고 설정해야했습니다.ENABLED=1

또한 cache-size=1000거기에 내가 찾은 다른 모든 dnsmasq 구성 파일에 넣었 습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.