系統(tǒng)環(huán)境
#cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
#uname -a
Linux node 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
安裝部署namedmanager
https://repos.jethrocarr.com/pub/jethrocarr/linux/centos/7/jethrocarr-custom/x86_64/
下載最新版
[root@hdss7-11 opt]# yum localinstall namedmanager-* -y
...
Installed:
? namedmanager-bind.noarch 0:1.9.0-2.el7.centos? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? namedmanager-www.noarch 0:1.9.0-2.el7.centos? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Dependency Installed:
? apr.x86_64 0:1.4.8-3.el7_4.1? ? ? ? ? ? ? ? ? ? ? ? apr-util.x86_64 0:1.5.2-6.el7? ? ? ? ? ? ? ? ? ? bind.x86_64 32:9.9.4-73.el7_6? ? ? ? ? ? ? ? ? ? ?
? httpd.x86_64 0:2.4.6-88.el7.centos? ? ? ? ? ? ? ? ? httpd-tools.x86_64 0:2.4.6-88.el7.centos? ? ? ? libzip.x86_64 0:0.10.1-8.el7? ? ? ? ? ? ? ? ? ? ? ?
? mailcap.noarch 0:2.1.41-2.el7? ? ? ? ? ? ? ? ? ? ? mariadb.x86_64 1:5.5.60-1.el7_5? ? ? ? ? ? ? ? ? mariadb-libs.x86_64 1:5.5.60-1.el7_5? ? ? ? ? ? ? ?
? mariadb-server.x86_64 1:5.5.60-1.el7_5? ? ? ? ? ? ? mod_ssl.x86_64 1:2.4.6-88.el7.centos? ? ? ? ? ? perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7? ? ? ?
? perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7? ? ? ? perl-DBD-MySQL.x86_64 0:4.023-6.el7? ? ? ? ? ? ? perl-DBI.x86_64 0:1.627-4.el7? ? ? ? ? ? ? ? ? ? ?
? perl-IO-Compress.noarch 0:2.061-2.el7? ? ? ? ? ? ? perl-Net-Daemon.noarch 0:0.48-5.el7? ? ? ? ? ? ? perl-PlRPC.noarch 0:0.2020-14.el7? ? ? ? ? ? ? ? ?
? php.x86_64 0:5.4.16-46.el7? ? ? ? ? ? ? ? ? ? ? ? ? php-cli.x86_64 0:5.4.16-46.el7? ? ? ? ? ? ? ? ? php-common.x86_64 0:5.4.16-46.el7? ? ? ? ? ? ? ? ?
? php-intl.x86_64 0:5.4.16-46.el7? ? ? ? ? ? ? ? ? ? php-ldap.x86_64 0:5.4.16-46.el7? ? ? ? ? ? ? ? ? php-mysqlnd.x86_64 0:5.4.16-46.el7? ? ? ? ? ? ? ? ?
? php-pdo.x86_64 0:5.4.16-46.el7? ? ? ? ? ? ? ? ? ? ? php-process.x86_64 0:5.4.16-46.el7? ? ? ? ? ? ? php-soap.x86_64 0:5.4.16-46.el7? ? ? ? ? ? ? ? ? ?
? php-xml.x86_64 0:5.4.16-46.el7? ? ? ? ? ? ? ? ? ?
Dependency Updated:
? bind-libs.x86_64 32:9.9.4-73.el7_6? bind-libs-lite.x86_64 32:9.9.4-73.el7_6? bind-license.noarch 32:9.9.4-73.el7_6? bind-utils.x86_64 32:9.9.4-73.el7_6
Complete!
先配mysql
啟動mysql
[root@hdss7-11 mysql]# systemctl start mariadb.service
開機(jī)自啟動
[root@hdss7-11 ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
配mysql的root密碼
[root@hdss7-11 mysql]# mysqladmin -uroot password 123456
導(dǎo)入namedmanager的數(shù)據(jù)庫腳本
/usr/share/namedmanager/resources/autoinstall.pl
[root@hdss7-11 ~]# cd /usr/share/namedmanager/resources/
[root@hdss7-11 resources]# ./autoinstall.pl
autoinstall.pl
This script setups the NamedManager database components:
* NamedManager MySQL user
* NamedManager database
* NamedManager configuration files
THIS SCRIPT ONLY NEEDS TO BE RUN FOR THE VERY FIRST INSTALL OF NAMEDMANAGER.
DO NOT RUN FOR ANY OTHER REASON
Please enter MySQL root password (if any): 123456
輸入123456
Searching ../sql/ for latest install schema...
../sql//version_20131222_install.sql is the latest file and will be used for the install.
Importing file ../sql//version_20131222_install.sql
Creating user...
Updating configuration file...
DB installation complete!
You can now login with the default username/password of setup/setup123 at http://localhost/namedmanager
配置namedmanager
config.php歼疮,增加一條配置
/etc/namedmanager/config.php
$_SERVER['HTTPS'] = "TRUE";
config-bind.php股缸,修改以下三條配置
/etc/namedmanager/config-bind.php
$config["api_url"] = "http://dns-manager.od.com/namedmanager"; // Application Install Location
$config["api_server_name"]? ? ? = "dns-manager.od.com";? ? ? ? ? ? ? ? ? ? ? ? // Name of the DNS server (important: part of the authentication process)
$config["api_auth_key"]? ? ? ? = "verycloud";? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // API authentication key
$config["log_file"]? ? ? ? ? ? = "/var/log/namedmanager_bind_configwriter";
php.ini毅糟,修改一條配置
/etc/php.ini
; How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 10000
綁host(臨時)
/etc/hosts
10.4.7.11 dns-manager.od.com
配apache
/etc/httpd/conf/httpd.conf
Listen 8080
ServerName dns-manager.od.com
<Directory />
? ? AllowOverride none
? ? allow from all
? ? #Require all denied
</Directory>
配nginx
/etc/nginx/conf.d/dns-manager.od.com.conf
server {
? ? server_name dns-manager.od.com;
location =/ {
rewrite ^/(.*) http://dns-manager.od.com/namedmanager? permanent;
}
location / {
proxy_pass http://10.4.7.11:8080;
proxy_set_header Host? ? ? $http_host;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
}
}
啟動apache和nginx
啟動apache
[root@hdss7-11 ~]# systemctl start httpd
[root@hdss7-11 ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
啟動nginx
[root@hdss7-11 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@hdss7-11 ~]# nginx
訪問http://dns-manager.od.com僻族,看看頁面是否正常
繼續(xù)改namedmanager的配置
改namedmanager_bind_configwriter.php
/usr/share/namedmanager/bind/namedmanager_bind_configwriter.php
if (flock($fh_lock, LOCK_EX ))
{
log_write("debug", "script", "Obtained filelock");
}
啟動namedmanager_logpush.rcsysinit
加執(zhí)行權(quán)限
/usr/share/namedmanager/resources/namedmanager_logpush.rcsysinit
[root@hdss7-11 resources]# chmod u+x namedmanager_logpush.rcsysinit
啟動該腳本
/usr/share/namedmanager/resources/namedmanager_logpush.rcsysinit
[root@hdss7-11 resources]# sh namedmanager_logpush.rcsysinit start
Starting namedmanager_logpush service:
[root@hdss7-11 resources]# nohup: redirecting stderr to stdout
檢查是否啟動
[root@hdss7-11 resources]# ps -ef|grep php|egrep -v grep
root? ? ? 10738? ? ? 1? 0 10:49 pts/1? ? 00:00:00 php -q /usr/share/namedmanager/bind/namedmanager_logpush.php
用supervisor管理起來
這個腳本非常重要,是整個namedmanager軟件的核心兴革,所以要保證它一直在后臺啟動趣席,這里我們用supervisor這個軟件把它管理起來
先安裝supervisor軟件
[root@hdss7-11 resources]# yum install supervisor -y
ependencies Resolved
=============================================================================================================================================================
Package? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Arch? ? ? ? ? ? ? ? ? ? ? ? ? ? Version? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Repository? ? ? ? ? ? ? ? ? ? ? Size
=============================================================================================================================================================
Installing:
supervisor? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? noarch? ? ? ? ? ? ? ? ? ? ? ? ? 3.1.4-1.el7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? epel? ? ? ? ? ? ? ? ? ? ? ? ? 446 k
Installing for dependencies:
python-meld3? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? x86_64? ? ? ? ? ? ? ? ? ? ? ? ? 0.6.10-1.el7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? epel? ? ? ? ? ? ? ? ? ? ? ? ? ? 73 k
python-setuptools? ? ? ? ? ? ? ? ? ? ? ? ? noarch? ? ? ? ? ? ? ? ? ? ? ? ? 0.9.8-7.el7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? base? ? ? ? ? ? ? ? ? ? ? ? ? 397 k
Transaction Summary
=============================================================================================================================================================
Install? 1 Package (+2 Dependent packages)
Total download size: 916 k
Installed size: 4.4 M
...
Installed:
? supervisor.noarch 0:3.1.4-1.el7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Dependency Installed:
? python-meld3.x86_64 0:0.6.10-1.el7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? python-setuptools.noarch 0:0.9.8-7.el7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Complete!
創(chuàng)建腳本啟動的配置文件
/etc/supervisord.d/namedmanager_logpush.ini
[program:namedmanager_logpush]
command=php -q /usr/share/namedmanager/bind/namedmanager_logpush.php 2>&1 > /var/log/namedmanager_logpush
numprocs=1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
directory=/usr/share/namedmanager/resources? ? ? ? ? ? ? ? ? ? ? ? ?
autostart=true? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
autorestart=true? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
startsecs=22? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
startretries=4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
exitcodes=0,2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
stopsignal=QUIT? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
stopwaitsecs=10? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
user=root? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
redirect_stderr=false? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
stdout_logfile=/var/log/namedmanager_logpush.out
stdout_logfile_maxbytes=64MB? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
stdout_logfile_backups=4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
stdout_capture_maxbytes=1MB? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
stdout_events_enabled=false? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
stderr_logfile=/var/log/namedmanager_logpush.err
stderr_logfile_maxbytes=64MB? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
stderr_logfile_backups=4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
stderr_capture_maxbytes=1MB? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
stderr_events_enabled=false
啟動supservisord服務(wù)
[root@hdss7-11 resources]# systemctl start supervisord
開機(jī)自啟
[root@hdss7-11 resources]# systemctl enable supervisord
Created symlink from /etc/systemd/system/multi-user.target.wants/supervisord.service to /usr/lib/systemd/system/supervisord.service.
查看腳本啟動情況
[root@hdss7-11 resources]# supervisorctl status
namedmanager_logpush? ? ? ? ? ? RUNNING? pid 9194, uptime 0:01:44
[root@hdss7-11 resources]# ps -ef|grep -v grep|grep php
root? ? ? 9194? 8979? 0 11:14 ?? ? ? ? 00:00:00 php -q /usr/share/namedmanager/bind/namedmanager_logpush.php 2>&1 > /var/log/namedmanager_logpush
這樣腳本就可以保證高可用性了
檢查日志
/var/log/namedmanager_logpush
[root@hdss7-11 resources]# tail -fn 200 /var/log/namedmanager_logpush
Error: Unable to authenticate with NamedManager API - check that auth API key and server name are valid
有報錯,所以需要繼續(xù)配置
改inc_soap_api.php
/usr/share/namedmanager/bind/include/application/inc_soap_api.php
preg_match("/^http:\/\/(\S*?)[:0-9]*\//", $GLOBALS["config"]["api_url"], $matches);
重啟namedmanager_logpush.rcsysinit
如果已經(jīng)用supervisor軟件管理起來了汤功,只需要kill掉腳本進(jìn)程即可
[root@hdss7-11 resources]# ps -ef|grep -v grep|grep php|awk '{print $2}'|xargs kill -9
[root@hdss7-11 resources]# ps -ef|grep -v grep|grep php
root? ? ? 9295? 8979? 1 11:18 ?? ? ? ? 00:00:00 php -q /usr/share/namedmanager/bind/namedmanager_logpush.php 2>&1 > /var/log/namedmanager_logpush
[root@hdss7-11 resources]# supervisorctl? ? ?
namedmanager_logpush? ? ? ? ? ? RUNNING? pid 9295, uptime 0:00:23
否則需要手動重啟腳本
/usr/share/namedmanager/resources/namedmanager_logpush.rcsysinit
[root@hdss7-11 resources]# sh namedmanager_logpush.rcsysinit restart
Stopping namedmanager_logpush services:
Starting namedmanager_logpush service:
nohup: redirecting stderr to stdout
配置BIND9
先配rndc
rndc.key
[root@hdss7-11 ~]# cat /etc/rndc.key
key "rndc-key" {
algorithm hmac-sha256;
secret "CD/4vqb9l0WiMy5TXjfeu1cMhyRerQ9kL2jwdBFWwa4=";
};
如果沒有,使用如下命令生成rndc.key
[root@hdss7-11 ~]# rndc-confgen -r /dev/urandom
配rndc.conf
/etc/rndc.conf
key "rndc-key" {
algorithm hmac-sha256;
secret "CD/4vqb9l0WiMy5TXjfeu1cMhyRerQ9kL2jwdBFWwa4=";
};
options {
default-key "rndc-key";?
default-server 10.4.7.11;
default-port 953;?
};
刪除rndc.key
[root@hdss7-11 ~]# rm -f /etc/rndc.key
BIND9主配置文件
/etc/named.conf
options {
? ? listen-on port 53 { 10.4.7.11; };
? ? directory "/var/named";
? ? dump-file "/var/named/data/cache_dump.db";
? ? statistics-file "/var/named/data/named_stats.txt";
? ? memstatistics-file "/var/named/data/named_mem_stats.txt";
? ? allow-query? ? { any; };
? ? allow-transfer { 10.4.7.12; };
? ? also-notify { 10.4.7.12; };
? ? /*
? ? - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
? ? - If you are building a RECURSIVE (caching) DNS server, you need to enable
? ? ? recursion.
? ? - If your recursive DNS server has a public IP address, you MUST enable access
? ? ? control to limit queries to your legitimate users. Failing to do so will
? ? ? cause your server to become part of large scale DNS amplification
? ? ? attacks. Implementing BCP38 within your network would greatly
? ? ? reduce such attack surface
? ? */
? ? recursion yes;?
? ? dnssec-enable no;
? ? dnssec-validation no;
? ? /* Path to ISC DLV key */
? ? bindkeys-file "/etc/named.iscdlv.key";
? ? managed-keys-directory "/var/named/dynamic";
? ? pid-file "/run/named/named.pid";
? ? session-keyfile "/run/named/session.key";
};
key "rndc-key" {
? ? algorithm hmac-sha256;
? ? secret "CD/4vqb9l0WiMy5TXjfeu1cMhyRerQ9kL2jwdBFWwa4=";
};
controls {
? ? inet 10.4.7.11 port 953
? ? ? ? allow { 10.4.7.11; } keys { "rndc-key"; };
};
logging {
? ? channel default_debug {
? ? ? ? file "data/named.run";
? ? ? ? severity dynamic;
? ? };
};
zone "." IN {
? ? type hint;
? ? file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/named.namedmanager.conf";
改named.namedmanager.conf文件屬性
/etc/named.namedmanager.conf
[root@hdss7-11 named]# chown apache.apache /etc/named.namedmanager.conf
[root@hdss7-11 named]# ls -l /etc/named.namedmanager.conf
-rw-r--r-- 1 apache named 112 Dec? 16 11:19 /etc/named.namedmanager.conf
檢查配置并啟動BIND9
檢查配置
[root@hdss7-11 ~]# named-checkconf
啟動BIND9
[root@hdss7-11 ~]# systemctl start named
開機(jī)自啟動
[root@hdss7-11 ~]# systemctl enable named
檢查啟動情況
[root@hdss7-11 ~]# netstat -luntp|grep 53
tcp? ? ? ? 0? ? ? 0 10.4.7.11:53? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 10922/named? ? ? ?
tcp? ? ? ? 0? ? ? 0 10.4.7.11:953? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 10922/named? ? ? ?
udp? ? ? ? 0? ? ? 0 10.4.7.11:53? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? ? ? ? ? ? ? 10922/named
配置NamedManager頁面
瀏覽器打開http://dns-manager.od.com(提前綁好host)控轿,用戶名/密碼:setup/setup123
配置Configuration選項卡
Zone Configuration Defaults
DEFAULT_HOSTMASTER
54123098@qq.com
DEFAULT_TTL_SOA
86400
DEFAULT_TTL_NS
120
DEFAULT_TTL_MX
60
DEFAULT_TTL_OTHER
60
API Configuration
ADMIN_API_KEY
verycloud
Date and Time Configuration
DATEFORMAT
yyyy-mm-dd
TIMEZONE_DEFAULT
Asia/Shanghai
Save Changes
配置New Servers選項卡
Add NewServer
Server Details
Name Server FQDN *
dns-manager.od.com
注意:這里一定要填config-bind.php里對應(yīng)$config["api_server_name"]項配置的值
Description
dns server for od.com
Server Type
Server Type
API (supports Bind)
API Authentication Key *
verycloud
必須勾選以下三項
Nameserver Group *
default – Default Nameserver Group
Primary Nameserver *
Make this server the primary one used for DNS SOA records.
Use as NS Record *
Adds this name server to all domains as a public NS record.
Save Changes
保存后View Name Servers選項卡下,Logging Status應(yīng)變綠且成為status_synced拂封,如一直不變綠茬射,需要進(jìn)行排錯,不要繼續(xù)往下做了冒签。
兩種方式
手動添加域
自動導(dǎo)入域
Domain Details
Domain Type *
Standard Domain
Reverse Domain (IPv4)
Reverse Domain (IPv6)
根據(jù)實際情況選擇在抛,這里選擇Standard Domain(正解域)
Domain Name *
od.com
Description
od.com domain
注意:一定要勾選域服務(wù)器組
default – Default Nameserver Group
Email Administrator Address *
Email Administrator Address *
Domain Serial *
2018121601
Refresh Timer *
21600
Refresh Retry Timeout *
3600
Expiry Timer *
604800
Default Record TTL *
60
注意:這里配置SOA記錄最后一個參數(shù)值沒有按套路出牌,配置的并不是否定應(yīng)答超時時間(NegativeAnswerTTL)萧恕,而是默認(rèn)資源記錄的過期時間
Import Source
Bind 8/9 Compatible Zonefile
Zone File
選擇文件host.com.txt
附1:host.com.txt
host.com.txt
$ORIGIN .
$TTL 600 ; 10 minutes
host.com IN SOA dns-manager.od.com. 541230398.qq.com. (
2019013106 ; serial
10800? ? ? ; refresh (3 hours)
900? ? ? ? ; retry (15 minutes)
604800? ? ; expire (1 week)
86400? ? ? ; minimum (1 day)
)
$ORIGIN host.com.
$TTL 60 ; 1 minute
HDSS7-11? ? ? ? ? ? ? ? ? A 10.4.7.11
HDSS7-12? ? ? ? ? ? ? ? ? A? ? 10.4.7.12
注意:這里可以不用給NS記錄和對應(yīng)的A記錄了,會默認(rèn)生成
點(diǎn)保存進(jìn)入下一個配置頁面
這里可以配置域的信息和描述票唆,我們這里先配一個Standard Domain(正解域)
這里注意SOA記錄的最后一個選項Default Record TTL *
檢查一下和導(dǎo)入文件里的記錄是否一致
先點(diǎn)一次保存
檢查一遍域信息和描述
注意:這里一定要勾選服務(wù)器組(上個頁面沒有朴读,這里新出來的選項)
檢查一遍SOA記錄
最后點(diǎn)一下保存,導(dǎo)入成功
附2:7.4.10.in-addr.arpa.txt
7.4.10.in-addr.arpa.txt
$TTL 600 ; 10 minutes
@ ? ? IN SOA dns-manager.od.com. 87527941.qq.com. (
2018121603 ; serial
10800? ? ? ; refresh (3 hours)
900? ? ? ; retry (15 minutes)
604800? ? ; expire (1 week)
86400? ? ? ; minimum (1 day)
)
$ORIGIN 7.4.10.in-addr.arpa.
$TTL 60 ; 1 minute
11 PTR HDSS7-11.host.com.
12 PTR HDSS7-12.host.com.
注意:這里可以不用給NS記錄和對應(yīng)的A記錄了衅金,會默認(rèn)生成
點(diǎn)保存進(jìn)入下一個配置頁面
注意:
Domain Type *應(yīng)為Reverse Domain (IPv4)
IPv4 Network Address *應(yīng)為10.4.7.0/24
配置SOA記錄
檢查一下和導(dǎo)入文件里的記錄是否一致
先點(diǎn)一次保存
檢查一遍域信息和描述
注意:這里一定要勾選服務(wù)器組(上個頁面沒有,這里新出來的選項)
Start of Authority Record
檢查一遍SOA記錄
最后點(diǎn)一下保存簿煌,導(dǎo)入成功
在對應(yīng)的Zone里操作資源記錄(增氮唯、刪、改)
維護(hù)domain的基本配置姨伟,略
刪除domain惩琉,略
Domain Details
Domain od.com selected for adjustment
Nameserver Configuration
這里是配置NS記錄的配置區(qū),默認(rèn)會生成一條
Type? ? ? ? ? TTL? ? ? ? ? Name/Origin? ? ? ? ? ?Content? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -
NS? ? ? ? ? ?120? ? ? ? ? ?od.com? ? ? ? ? ? ? ? ? dns-manager.od.com? ? ? ? ? ?-
Mailserver Configuration
略夺荒,暫不配置MX記錄
Host Records Configuration
這里是配置重點(diǎn)瞒渠,A記錄、CNAME記錄技扼、TXT記錄等都在這個里配置
這里增加兩條A記錄解析在孝,增加一條CNAME解析
Type? ? ? TTL? ? ? ? ? ? ? ?Name? ? ? ? ? ? Content? ? ? ? ? ? ReversePTR? ? ? ? -
A? ? ? ? ? 60????????????????dns-manager????????????10.4.7.11????????no????????delete
A????????60? ? ? ? ? ?www????????????10.4.7.11????????????no????????????delete
CNAME????????60????????eshop????????www.od.com????????no????????delete
Save Changes
Domain Details
Domain host.com selected for adjustment
Nameserver Configuration
這里是配置NS記錄的配置區(qū),默認(rèn)會生成一條
Type????TTL????Name/Origin????Content????????-
NS????????120????host.com????????dns-manager.od.com????????-
Mailserver Configuration
略淮摔,暫不配置MX記錄
Host Records Configuration
這里是配置重點(diǎn)私沮,A記錄、CNAME記錄、TXT記錄等都在這個里配置
因為是從文件導(dǎo)入的域仔燕,默認(rèn)會有記錄
Type????????TTL????????Name????????Content????-
PTR????????60????????11????????????????HDSS7-11.host.com????????delete
PTR????????60????????12????????????????HDSS7-12.host.com????????delete
Save Changes
Logging Status
status_synced
Zonefile Status
status_synced
全部變綠且為status_synced即為正常
查看服務(wù)器上配置文件(都是由namedmanager服務(wù)自動生成的)
/etc/named.namedmanager.conf
//
// NamedManager Configuration
//
// This file is automatically generated any manual changes will be lost.
//
zone "od.com" IN {
type master;
file "od.com.zone";
allow-update { none; };
};
zone "host.com" IN {
type master;
file "host.com.zone";
allow-update { none; };
};
zone "7.4.10.in-addr.arpa" IN {
type master;
file "7.4.10.in-addr.arpa.zone";
allow-update { none; };
};
這里生成了三個zone造垛,兩個正解域,一個反解域晰搀,依次檢查三個域的區(qū)域數(shù)據(jù)庫文件:
od.com.zone
/var/named/od.com.zone
$ORIGIN od.com.
$TTL 60
@ IN SOA dns-manager.od.com. 87527941.qq.com. (
2018121610 ; serial
21600 ; refresh
3600 ; retry
604800 ; expiry
60 ; minimum ttl
)
; Nameservers
od.com. 120 IN NS dns-manager.od.com.
; Mailservers
; Reverse DNS Records (PTR)
; CNAME
; HOST RECORDS
dns-manager 60 IN A 10.4.7.11
www 60 IN A 10.4.7.11
eshop 60 IN CNAME www.od.com.
host.com.zone
/var/named/host.com.zone
$ORIGIN host.com.
$TTL 60
@ IN SOA dns-manager.od.com. 87527941.qq.com. (
2018121604 ; serial
10800 ; refresh
900 ; retry
604800 ; expiry
60 ; minimum ttl
)
; Nameservers
host.com. 120 IN NS dns-manager.od.com.
; Mailservers
; Reverse DNS Records (PTR)
; CNAME
; HOST RECORDS
HDSS7-11 60 IN A 10.4.7.11
HDSS7-12 60 IN A 10.4.7.12
7.4.10.in-addr.arpa.zone
/var/named/7.4.10.in-addr.arpa.zone
$ORIGIN 7.4.10.in-addr.arpa.
$TTL 60
@ IN SOA dns-manager.od.com. 87527941.qq.com. (
2018121603 ; serial
10800 ; refresh
900 ; retry
604800 ; expiry
60 ; minimum ttl
)
; Nameservers
7.4.10.in-addr.arpa. 120 IN NS dns-manager.od.com.
; Mailservers
; Reverse DNS Records (PTR)
11 60 IN PTR HDSS7-11.host.com.
12 60 IN PTR HDSS7-12.host.com.
; CNAME
; HOST RECORDS
檢查資源記錄解析是否生效
# dig -t A www.od.com @10.4.7.11 +short
10.4.7.11
#dig -t A HDSS7-12.host.com @10.4.7.11 +short
10.4.7.12
#dig -x 10.4.7.11 @10.4.7.11 +short
HDSS7-11.host.com.
驗證頁面增杆逗、刪悔橄、改是否均生效
注意:
增潮酒、刪、改資源記錄時,對應(yīng)域的SOA記錄的serial序列號會自動滾動心软,非常方便
這里在頁面上操作資源記錄咒劲,會先寫mysql蛔屹,再由php腳本定期刷到磁盤文件上育叁,所以大概需要1分鐘的時間生效
在維護(hù)主機(jī)域時昵骤,添加正解記錄,并勾選后面的reverse選項,將同時生成一條反解記錄挖帘,簡化了操作
由于服務(wù)器上的區(qū)域數(shù)據(jù)庫文件是由php進(jìn)程定期更新的(根據(jù)mysql數(shù)據(jù)庫里的數(shù)據(jù))蜻底,所以手動在服務(wù)器上修改資源記錄是無法生效的骄崩,應(yīng)該嚴(yán)格禁止
配置DNS主輔同步
略
配置客戶端的DNS服務(wù)器
/etc/resolv.conf
# Generated by NetworkManager
search od.com host.com
nameserver 10.4.7.11
nameserver 10.4.7.12
把所有客戶端綁定的臨時hosts刪除
/etc/hosts
#10.4.7.11? dns-manager.od.com
用戶系統(tǒng)及操作審計功能
可以創(chuàng)建不同的管理員用戶
該頁面下可以查看所有的系統(tǒng)用戶,并可以進(jìn)行用戶管理
Create a new User Account 增加用戶
Username *
wangdao
Real Name *
StanleyWang
Contact Email *
password *
123456
password_confirm *
123456
disabled
勾上,用戶不生效
不勾刁赖,用戶生效
這里不勾
admin(超級管理員)
勾上搁痛,可以創(chuàng)建用戶管理用戶權(quán)限
不勾,不可以創(chuàng)建用戶管理用戶權(quán)限
這里不勾
namedadmins(管理員)
勾上宇弛,dns管理員鸡典,可以管理zone和資源記錄
不勾,不可以管理zone和資源記錄
這里勾選
刪除用戶枪芒,略
這里可以配置用戶的基本信息
超級管理員可以幫助用戶修改密碼
User Options
option_shrink_tableoptions
Automatically hide the options table when using defaults
默認(rèn)勾選彻况,高級查詢框顯示與否
option_debug
Enable debug logging - this will impact performance a bit but will show a full trail of all functions and SQL queries made
默認(rèn)不勾,勾選上可以在頁面顯示debug日志舅踪,建議部署時使用纽甘,投產(chǎn)后關(guān)閉
option_concurrent_logins
Permit this user to make multiple simultaneous logins
默認(rèn)不勾,允許該用戶在多點(diǎn)同時登錄抽碌,應(yīng)該嚴(yán)格禁止(審計)
可以進(jìn)行DNS服務(wù)管理悍赢,但無法管理用戶
操作過程略
可以看到所有用戶的操作記錄,實現(xiàn)審計功能货徙,做到操作可溯
生產(chǎn)上強(qiáng)烈建議新生成一個超級管理員用戶并將setup用戶刪除左权!
超級管理員用戶應(yīng)只有一個且不要輕易外泄,可以創(chuàng)建多個管理員賬戶痴颊。(一般根據(jù)業(yè)務(wù)而定赏迟,每個管理員負(fù)責(zé)一個子域)
管理員賬戶創(chuàng)建好后,應(yīng)由各人自行登錄修改密碼蠢棱。
超級管理員用戶密碼的復(fù)雜度要足夠高锌杀,定期更換超級管理員用戶密碼。
原文出自:https://blog.stanley.wang/2018/12/16/%E5%AE%9E%E9%AA%8C%E6%96%87%E6%A1%A38%EF%BC%9A%E4%BC%81%E4%B8%9A%E7%BA%A7Web%20DNS%E5%AE%9E%E6%88%98/