>  기사  >  운영 및 유지보수  >  Linux에서 dnsmasq를 사용하여 DNS 캐시 서버를 구성하는 방법

Linux에서 dnsmasq를 사용하여 DNS 캐시 서버를 구성하는 방법

王林
王林앞으로
2023-05-15 19:28:041079검색

설치 과정은 비교적 간단합니다

yum -y install dnsmasq* 
wget http://www.keepalived.org/software/keepalived-1.2.9.tar.gz
tar zxvf keepalived-1.2.9.tar.gz
cd keepalived-1.2.9
./configure --prefix=/usr/local/keepalived
make && make install
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
chkconfig --add keepalived
chkconfig --level 35 keepalived on

keepalived 구성은 매우 간단합니다. 기본 및 백업을 달성하려면 두 서버 사이에 이동하도록 VIP를 구성하기만 하면 됩니다.

! configuration file for keepalived
 
global_defs {
  notification_email {
   xxx@xxx.com
  }
  notification_email_from xxx@xxx.com
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id lvs_devel
}
 
vrrp_instance dnscache {
  state master         // 另一台配置backup
  interface eth1        // 在哪个接口上进行服务器状态检测
  virtual_router_id 51
  priority 180         // backup机器上配置100
  advert_int 1         // 检查间隔,单位为秒
  authentication {
    auth_type pass
    auth_pass 1234
  }
 
  virtual_ipaddress {       // vip设置,指定到内网网卡 
    192.168.100.99/24 dev eth1
  }
}

dnsmasq 구성도 매우 간단합니다

resolv-file=/etc/resolv.dnsmasq.conf
cache-size=1000
conf-dir=/etc/dnsmasq.d


 Change dns 주소는 /etc/resolv.dnsmasq.conf 파일에 기록됩니다.

echo "nameserver 8.8.8.8" > echo "nameserver 192.168.100.99" > /etc/resolv.conf

LAN 서버로 확인이 가능하다면 정상입니다.

nslookup www.google.cn 192.168.100.99

본 솔루션은 소규모 기업에만 적합합니다. 분석량이 많은 경우에는 바인드를 사용하는 것이 가장 좋습니다.

다음은 다른 네티즌들이 추가한 내용입니다.

코드 복사 코드는 다음과 같습니다.

sudo pacman -s --needed dnsmasq

cd /etc

[admin@huangye etc]$ sudo cp -v dnsmasq.conf{,.orig}
`dnsmasq.conf' -> `dnsmasq.conf.orig'

[admin@huangye etc]$ sudo vim dnsmasq.conf


이에 비해 dnsmasq의 구성은 훨씬 간단합니다:

코드 복사 코드는 다음과 같습니다:

resolv-file=/etc/dnsmasq.resolv.conf

addn-hosts=/etc/dnsmasq.hosts

local=/localnet/

no- dhcp-interface=eth0
conf-dir =/etc/dnsmasq.d


코드 복사 코드는 다음과 같습니다.

[admin@huangye etc]$ sudo cp -v resolv.conf dnsmasq.resolv.conf

비밀번호:

`resolv.conf' -> ` dnsmasq.resolv.conf'

sudo mkdir /etc/dnsmasq.d
sudo touch /etc/dnsmasq.hosts

sudo /etc/rc.d/dnsmasq start

마지막으로 rc.conf 데몬을 추가하는 것을 잊지 마세요. 네트워크 뒤에 있어야 한다는 점에 주의하세요.


dnsmasq는 추가 호스트 파일에서 항목을 읽을 수 있습니다. 예를 들어 다음과 같이 전달 확인을 추가할 수 있습니다.

echo "ip address domain name" > /etc/dnsmasq.hosts

또한sihup을 사용하여 다시 시작할 수 있습니다. dnsmasq(호스트 파일에서 수정할 수 있으며 구성이 적용되도록 할 수 있음)

killall -sighup dnsmasq

서비스 상태 확인:

netstat -tunl

tcp 0 0 0.0.0.0:53 0.0.0.0:* Listen

udp 0 0 0.0.0.0:53 0.0.0.0:*

위 내용은 Linux에서 dnsmasq를 사용하여 DNS 캐시 서버를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제