centos:dnsmasq
Dnsmasq
http://www.thekelleys.org.uk/dnsmasq/doc.html
- /etc/hosts を名前解決のデータベースとして使用する。
- DNSラウンドロビンに対応している。
- /etc/resolv.confに上位ネットワークのDNSサーバのIPアドレスを指定しておくと、/etc/hostsで解決できない名前解決要求を上位DNSに委譲する。
インストール
# yum install dnsmasq ================================================================================================================== Package Arch Version Repository Size ================================================================================================================== Installing: dnsmasq x86_64 2.48-13.el6 base 149 k Transaction Summary ==================================================================================================================
設定
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.org vi /etc/dnsmasq.conf
diff /etc/dnsmasq.conf /etc/dnsmasq.conf.org 14c14 < domain-needed ←shorthostnameの名前解決要求を上位DNSサーバに転送しない --- > #domain-needed 16c16 < bogus-priv ←プライベートIPアドレスの逆引き要求を上位DNSサーバに転送しない --- > #bogus-priv 114c114 < expand-hosts ←domain=で指定されたドメイン名を補完する --- > #expand-hosts 123c123 < domain=exmple.osk ←補完対象のドメイン --- > #domain=thekelleys.org.uk
簡易権威サーバ設定
# vi /etc/hosts
~省略~ # test 192.168.24.170 test.exmple.osk ~省略~
起動
# /etc/init.d/dnsmasq start
確認
# dig @127.0.0.1 test.exmple.osk ~省略~ ;; ANSWER SECTION: test.exmple.osk. 0 IN A 192.168.24.170 ~省略~
クライアント
未設定時
[root@client ~]# dig test.exmple.osk ~省略~ ;; AUTHORITY SECTION: . 3336 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2014111100 1800 900 604800 86400 ~省略~
設定
IPアドレスをDHCPで取得している環境ではnetworkのrestartでresolv.confが上書き更新されるので、NICの設定ファイルにresolv.confを更新しないオプション「PEERDNS=no」を追加する。
[root@client ~]# vi /etc/resolv.conf < nameserver 192.168.24.177 [root@dev-luck ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 < PEERDNS=no
以下のいづれかに記述すれば、networkをrestartしても指定したDNSが使用される。
[root@client ~]# vi /etc/sysconfig/network < DNS1=192.168.24.177
[root@client ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 < DNS1=192.168.24.177
設定後
[root@client ~]# dig test.exmple.osk ~省略~ ;; ANSWER SECTION: test.exmple.osk. 0 IN A 192.168.24.170 ~省略~
DNSラウンドロビン
# vi /etc/hosts < 192.168.24.170 test.exmple.osk < 192.168.24.171 test.exmple.osk
# dig test.exmple.osk ~省略~ ;; ANSWER SECTION: test.exmple.osk. 0 IN A 192.168.24.170 test.exmple.osk. 0 IN A 192.168.24.171 ~省略~ # dig test.exmple.osk ~省略~ ;; ANSWER SECTION: test.exmple.osk. 0 IN A 192.168.24.171 test.exmple.osk. 0 IN A 192.168.24.170 ~省略~
centos/dnsmasq.txt · 最終更新: 2014/11/12 03:22 by clownclown