码迷,mamicode.com
首页 > 其他好文 > 详细

centos6 名字服务dnsmasq配置

时间:2015-08-10 00:10:24      阅读:314      评论:0      收藏:0      [点我收藏+]

标签:

1 主机名配置

主机hd1配置(后面配置为名字服务器)

[grid_hd@hd1 Desktop]$ cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=hd1.asn.cn #主机名为hd1.asn.cn (asn.cn为搜索域)

?

[grid_hd@hd1 Desktop]$ cat /etc/hosts

127.0.0.1 ????hd1.asn.cn????hd1???? localhost???? localhost.localdomain #在本机中,把名字hd1.asn.cn, hd1, localhost和localhost.localdomain都映射到127.0.0.1

?

客户机hd2配置:

[grid_hd@hd2 Desktop]$ cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=hd2.asn.cn

?

[grid_hd@hd2 Desktop]$ cat /etc/hosts

127.0.0.1???? hd2.asn.cn????hd2???? localhost localhost.localdomain

?

客户机hd3配置:

[grid_hd@hd3 Desktop]$ hostname

hd3.asn.cn

[grid_hd@hd3 Desktop]$ cat /etc/hosts

127.0.0.1????hd3.asn.cn????hd3????localhost localhost.localdomain

?

?

2 名字服务配置

dnsmasq

[grid_hd@hd1 Desktop]$ sudo find / -name *dnsmasq*

/var/lock/subsys/dnsmasq

/var/run/dnsmasq.pid #进程PID文件

/var/lib/dnsmasq

/etc/dnsmasq.d ##放入该目录的文件将作为配置文件自动加载

/etc/dnsmasq ##自己创建的目录,用于存放上游名字服务列表文件resolv.conf和主机名到IP的映射文件hosts

/etc/dbus-1/system.d/dnsmasq.conf

/etc/selinux/targeted/modules/active/modules/dnsmasq.pp

/etc/dnsmasq.conf ##dnsmasq的主配置文件

?

/etc/rc.d/rc0.d/K50dnsmasq ##指向脚本文件/etc/rc.d/init.d/dmsmasq的软连接

/etc/rc.d/rc1.d/K50dnsmasq

/etc/rc.d/rc2.d/K50dnsmasq

/etc/rc.d/rc3.d/K50dnsmasq

/etc/rc.d/rc4.d/K50dnsmasq

/etc/rc.d/rc5.d/K50dnsmasq

/etc/rc.d/rc6.d/K50dnsmasq

?

?

/etc/rc.d/init.d/dnsmasq ##dnsmasq的启停控制Shell脚本文件{start|stop|restart|reload|condrestart|status}

/usr/sbin/dnsmasq ##dnsmasq服务程序二进制文件

?

?

[grid_hd@hd1 ~]$ ll /etc/rc.d/rc5.d/K50dnsmasq

lrwxrwxrwx. 1 root root 17 Jul 18 21:11 /etc/rc.d/rc5.d/K50dnsmasq -> ../init.d/dnsmasq ##指向脚本文件/etc/rc.d/init.d/dmsmasq

?

启动脚本文件/etc/rc.d/init.d/dnsmasq

#!/bin/sh

#

# Startup script for the DNS caching server

#

# chkconfig: - 49 50

# description: This script starts your DNS caching server 该脚本启动你的DNS缓存服务

# processname: dnsmasq

# pidfile: /var/run/dnsmasq.pid

?

# Source function library.

. /etc/rc.d/init.d/functions

?

# Source networking configuration.

. /etc/sysconfig/network

?

# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

?

dnsmasq=/usr/sbin/dnsmasq #定义dnsmasq变量

[ -f $dnsmasq ] || exit 0

?

DOMAIN_SUFFIX=`dnsdomainname`

if [ ! -z "${DOMAIN_SUFFIX}" ]; then

OPTIONS="-s $DOMAIN_SUFFIX" #定义OPTIONS变量

fi

?

RETVAL=0 #定义RETVAL变量

?

PIDFILE="/var/run/dnsmasq.pid" #定义PIDFILE变量

?

# See how we were called.

case "$1" in #$0程序名,$1代表第一参数

#如果输入参数是start

start)

if [ $UID -ne 0 ] ; then

echo "User has insufficient privilege."

exit 4

fi

echo -n "Starting dnsmasq: "

daemon $dnsmasq $OPTIONS

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dnsmasq

;;

#如果输入参数是stop

stop)

if test "x`pidfileofproc dnsmasq`" != x; then

echo -n "Shutting down dnsmasq: "

killproc dnsmasq

fi

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dnsmasq $PIDFILE

;;

?

status)

status -p $PIDFILE dnsmasq

RETVAL=$?

;;

?

reload)

if test "x`pidfileofproc dnsmasq`" != x; then

echo -n "Reloading dnsmasq: "

killproc dnsmasq -HUP

fi

RETVAL=$?

echo

;;

?

?

force-reload)

# new configuration takes effect only after restart

$0 stop

$0 start

RETVAL=$?

;;

?

?

restart)

$0 stop

$0 start

RETVAL=$?

;;

?

?

condrestart)

if test "x`pidfileofproc dnsmasq`" != x; then

$0 stop

$0 start

RETVAL=$?

fi

;;

?

?

*)

echo "Usage: $0 {start|stop|restart|reload|condrestart|status}"

exit 2

?

esac #

?

exit $RETVAL

?

?

?

/etc

├── dnsmasq

│?? ?? ├── hosts

│?? ?? ├── resolv.conf

├── dnsmasq.conf

├── dnsmasq.d

?

?

配置

/etc/dnsmasq.conf

[grid_hd@hd1 ~]$ cat /etc/dnsmasq.conf

# Change this line if you want dns to get its upstream servers from somewhere other that /etc/resolv.conf

# 如果你想让dns从某个地方(而不是/etc/resolv.conf)获得上游服务

resolv-file=/etc/dnsmasq/resolv.conf ##从/etc/dnsmasq/resolv.conf文件中获得上游DNS服务的IP地址

?

# By default, dnsmasq will send queries to any of the upstream servers it knows about

# 默认dnsmasq会把查询请求发送到它知道的任意一个上游DNS服务器

# and tries to favour servers to are known to be up.

# Uncommenting this forces dnsmasq to try each query with each server strictly in the order they appear in /etc/resolv.conf

# 解注该行,强制dnsmasq严格以/etc/resolv.conf文件中每个服务的出现顺序尝试查询

strict-order

?

# Or which to listen on by address (remember to include 127.0.0.1 if you use this.)

listen-address=192.168.145.151,127.0.0.1

?

?

# For debugging purposes, log each DNS query as it passes through dnsmasq.

log-queries

?

?

# If you don‘t want dnsmasq to read /etc/hosts, uncomment the following line.

no-hosts

?

# or if you want it to read another file, as well as /etc/hosts, use this.

addn-hosts=/etc/dnsmasq/hosts

?

/etc/dnsmasq/resolv.conf 配置上游名字服务的IP地址

[grid_hd@hd1 ~]$ cat /etc/dnsmasq/resolv.conf

nameserver????192.168.145.2

nameserver????8.8.8.8

nameserver????8.8.4.4

?

/etc/dnsmasq/hosts 自定义的域名(主机名,名字)到IP映射

[grid_hd@hd1 ~]$ cat /etc/dnsmasq/hosts

192.168.145.151????????hd1.asn.cn????hd1

192.168.145.152????????hd2.asn.cn????hd2

192.168.145.153????????hd3.asn.cn????hd3

?

查看/etc/resolv.conf

[grid_hd@hd1 ~]$ cat /etc/resolv.conf

# Generated by NetworkManager

search asn.cn

nameserver 127.0.0.1 ##遇到不认识的名字,首先本地解释,然后再找上游服务器

?

重启

[grid_hd@hd1 ~]$ sudo service dnsmasq restart

Shutting down dnsmasq: [ OK ]

Starting dnsmasq: [ OK ]

?

设置开机自启

[grid_hd@hd1 ~]$ sudo chkconfig --list dnsmasq

dnsmasq ????0:off????1:off????2:off????3:off????4:off????5:off????6:off

[grid_hd@hd1 ~]$ sudo chkconfig dnsmasq on

[grid_hd@hd1 ~]$ sudo chkconfig --list dnsmasq

dnsmasq ????0:off????1:off????2:on????3:on????4:on????5:on????6:off

?

?

本机测试

[grid_hd@hd1 ~]$ dig archive.cloudera.com

?

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.2 <<>> archive.cloudera.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56484

;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4

?

;; QUESTION SECTION:

;archive.cloudera.com.????????IN????A

?

;; ANSWER SECTION:

archive.cloudera.com.????5????IN????CNAME????j.global-ssl.fastly.net.

j.global-ssl.fastly.net. 5????IN????A????199.27.79.68

?

;; AUTHORITY SECTION:

fastly.net.????????5????IN????NS????ns3.p04.dynect.net.

fastly.net.????????5????IN????NS????ns4.p04.dynect.net.

fastly.net.????????5????IN????NS????ns1.p04.dynect.net.

fastly.net.????????5????IN????NS????ns2.p04.dynect.net.

?

;; ADDITIONAL SECTION:

ns1.p04.dynect.net.????5????IN????A????208.78.70.4

ns2.p04.dynect.net.????5????IN????A????204.13.250.4

ns3.p04.dynect.net.????5????IN????A????208.78.71.4

ns4.p04.dynect.net.????5????IN????A????204.13.251.4

?

;; Query time: 337 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Sun Aug 9 22:24:29 2015

;; MSG SIZE rcvd: 238

?

?

?

[grid_hd@hd1 ~]$ dig archive.cloudera.com

?

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.2 <<>> archive.cloudera.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24829

;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4

?

;; QUESTION SECTION:

;archive.cloudera.com.????????IN????A

?

;; ANSWER SECTION:

archive.cloudera.com.????5????IN????CNAME????j.global-ssl.fastly.net.

j.global-ssl.fastly.net. 5????IN????A????199.27.79.68

?

;; AUTHORITY SECTION:

fastly.net.????????5????IN????NS????ns4.p04.dynect.net.

fastly.net.????????5????IN????NS????ns1.p04.dynect.net.

fastly.net.????????5????IN????NS????ns2.p04.dynect.net.

fastly.net.????????5????IN????NS????ns3.p04.dynect.net.

?

;; ADDITIONAL SECTION:

ns1.p04.dynect.net.????5????IN????A????208.78.70.4

ns2.p04.dynect.net.????5????IN????A????204.13.250.4

ns3.p04.dynect.net.????5????IN????A????208.78.71.4

ns4.p04.dynect.net.????5????IN????A????204.13.251.4

?

;; Query time: 5 msec

;; SERVER: 127.0.0.1#53(127.0.0.1) ##从本地获得解释

;; WHEN: Sun Aug 9 22:24:38 2015

;; MSG SIZE rcvd: 238

?

?

客户机hd2配置、使用

技术分享

?

[grid_hd@hd2 Desktop]$ dig archive.cloudera.com

?

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.2 <<>> archive.cloudera.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43528

;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4

?

;; QUESTION SECTION:

;archive.cloudera.com.????????IN????A

?

;; ANSWER SECTION:

archive.cloudera.com.????5????IN????CNAME????j.global-ssl.fastly.net.

j.global-ssl.fastly.net. 5????IN????A????23.235.47.68

?

;; AUTHORITY SECTION:

fastly.net.????????5????IN????NS????ns4.p04.dynect.net.

fastly.net.????????5????IN????NS????ns3.p04.dynect.net.

fastly.net.????????5????IN????NS????ns2.p04.dynect.net.

fastly.net.????????5????IN????NS????ns1.p04.dynect.net.

?

;; ADDITIONAL SECTION:

ns1.p04.dynect.net.????5????IN????A????208.78.70.4

ns2.p04.dynect.net.????5????IN????A????204.13.250.4

ns3.p04.dynect.net.????5????IN????A????208.78.71.4

ns4.p04.dynect.net.????5????IN????A????204.13.251.4

?

;; Query time: 192 msec

;; SERVER: 192.168.145.151#53(192.168.145.151) ##从配置的主机hd1获得解释

;; WHEN: Sun Aug 9 22:30:14 2015

;; MSG SIZE rcvd: 238

centos6 名字服务dnsmasq配置

标签:

原文地址:http://www.cnblogs.com/asnjudy/p/4716557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!