概述
本文演示为Azure上的SAP系统配置域名解析服务器,包括主域名服务器和副域名服务器。本文也可做一般Linux主从域名服务器的配置参考。
本文使用的系统镜像为:SLES-BYOS-12-SP3。
目标配置
角色
虚拟机
机器名
IP地址
备注
域名服务器
NS01
ns1.azure-sap.poc
10.0.0.101
主DNS
NS02
ns2.azure-sap.poc
10.0.0.102
副DNS
主域名服务器配置
ssh登陆到ns01机器上操作
安装bind服务
NS01:~ # sudo zypper in bind
配置bind服务
编辑配置文件:/etc/named.conf
NS01:~ # sudo vi /etc/named.conf
去掉allow-query注释并更新为:
allow-query { 127.0.0.1;10.0.0.0/24; };
并在zone区域,为azure-sap.poc域增加两段配置:
allow-query { 127.0.0.1;10.0.0.0/24; };
zone "azure-sap.poc" {
type master;
file "for.azure-sap.poc";
};
zone "0.0.10.in-addr.arpa" {
type master;
file "rev.azure-sap.poc";
};
创建Zone文件
上面的步骤指定了正查和反查配置文件,现在分别创建它们。
正查配置文件
创建正查文件:
NS01:~ # cp /var/lib/named/localhost.zone /var/lib/named/for.azure-sap.poc
编辑for.azure-sap.poc文件
NS01:~ # vi /var/lib/named/for.azure-sap.poc
输入以下内容
;
; BIND data file for forward.azure-sap.poc zone
;
$TTL 604800
@ IN SOA ns1.azure-sap.poc. root.azure-sap.poc. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
IN A 10.0.0.101
;
@ IN NS ns1.azure-sap.poc.
@ IN NS ns2.azure-sap.poc.
@ IN A 10.0.0.101
@ IN A 10.0.0.102
@ IN AAAA ::16
ns1 IN A 10.0.0.101
ns2 IN A 10.0.0.102
sbd01 IN A 10.0.0.51
jump01 IN A 10.0.0.200
vnfs01 IN A 10.0.0.10
nfs01 IN A 10.0.0.11
nfs02 IN A 10.0.0.12
vhana01 IN A 10.0.0.20
hana01 IN A 10.0.0.21
hana02 IN A 10.0.0.22
vascs01 IN A 10.0.0.30
vers01 IN A 10.0.0.39
ascs01 IN A 10.0.0.31
ascs02 IN A 10.0.0.32
as01 IN A 10.0.0.41
as02 IN A 10.0.0.42
反查配置文件
创建反查配置文件:
NS01:~ # cp /var/lib/named/127.0.0.zone /var/lib/named/rev.azure-sap.poc
编辑配置文件:
NS01:~ # vi /var/lib/named/rev.azure-sap.poc
输入以下内容:
$TTL 604800
@ IN SOA ns1.azure-sap.poc. root.azure-sap.poc. (
3 ; serial (d. adams)
604800 ; refresh
86400 ; retry
2419200 ; expiry
604800 ) ; minimum
;
@ IN NS ns1.
@ IN NS ns2.
@ IN A 10.0.0.101
@ IN A 10.0.0.102
101 IN PTR ns1.azure-sap.poc.
102 IN PTR ns2.azure-sap.poc.
51 IN PTR sbd01.azure-sap.poc.
200 IN PTR jump01.azure-sap.poc.
10 IN PTR vnfs01.azure-sap.poc.
11 IN PTR nfs01.azure-sap.poc.
12 IN PTR nfs02.azure-sap.poc.
20 IN PTR vhana01.azure-sap.poc.
21 IN PTR hana01.azure-sap.poc.
22 IN PTR hana02.azure-sap.poc.
30 IN PTR vascs01.azure-sap.poc.
39 IN PTR vers01.azure-sap.poc.
31 IN PTR ascs01.azure-sap.poc.
32 IN PTR ascs02.azure-sap.poc.
41 IN PTR as01.azure-sap.poc.
42 IN PTR as02.azure-sap.poc.
启动name服务
NS01:~ # /etc/init.d/named start
NS01:~ # chkconfig named on
测试DNS配置和Zone文件
如果上面服务启动失败,可以通过下面的命令检查配置文件语法错误。
NS01:~ # named-checkconf /etc/named.conf
NS01:~ #
NS01:~ # named-checkzone azure-sap.poc /var/lib/named/for.azure-sap.poc
zone azure-sap.poc/IN: loaded serial 2
OK
NS01:~ # named-checkzone azure-sap.poc /var/lib/named/rev.azure-sap.poc
zone azure-sap.poc/IN: loaded serial 3
OK
确保name服务运行在53端口:
NS01:~ # netstat -tulpn | grep :53
tcp 0 0 10.0.0.101:53 0.0.0.0:* LISTEN 3454/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3454/named
tcp 0 0 :::53 :::* LISTEN 3454/named
udp 0 0 10.0.0.101:53 0.0.0.0:* 3454/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 3454/named
udp 0 0 :::53 :::*
测试主域名服务器的解析效果
本机测试
编辑本机的的dns服务器指向:
vi /etc/resolv.conf
注释掉Azure默认的配置,并追加如下内容:
### Please remove (at least) this line when you modify the file!
search l0fypqkxd4gujnqwhlq2jueecf.ax.internal.chinacloudapp.cn
# nameserver 168.63.129.16
search azure-sap.poc
nameserver 10.0.0.101
nameserver 10.0.0.102
测试jump01.azure-sap.poc的解析效果:
NS01:~ # dig jump01.azure-sap.poc
; <<>> DiG 9.9.9-P1 <<>> jump01.azure-sap.poc
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;jump01.azure-sap.poc. IN A
;; ANSWER SECTION:
jump01.azure-sap.poc. 604800 IN A 10.0.0.200
;; AUTHORITY SECTION:
azure-sap.poc. 604800 IN NS ns2.azure-sap.poc.
azure-sap.poc. 604800 IN NS ns1.azure-sap.poc.
;; ADDITIONAL SECTION:
ns1.azure-sap.poc. 604800 IN A 10.0.0.101
ns2.azure-sap.poc. 604800 IN A 10.0.0.102
;; Query time: 0 msec
;; SERVER: 10.0.0.101#53(10.0.0.101)
;; WHEN: Thu Apr 26 12:10:48 UTC 2018
;; MSG SIZE rcvd: 133
跳板机测试
在跳板机jump01上打开PowerShell控制台:
PS> Resolve-DnsName -Server 10.0.0.101 -Name jump01.azure-sap.poc
Name Type TTL Section IPAddress
---- ---- --- ------- ---------
jump01.azure-sap.poc A 60480 Answer 10.0.0.200
0
Name : azure-sap.poc
QueryType : NS
TTL : 604800
Section : Authority
NameHost : ns2.azure-sap.poc
Name : azure-sap.poc
QueryType : NS
TTL : 604800
Section : Authority
NameHost : ns1.azure-sap.poc
ns1.azure-sap.poc A 60480 Additional 10.0.0.101
0
ns2.azure-sap.poc A 60480 Additional 10.0.0.102
副域名服务器配置
登陆NS02进行操作
安装bind服务
NS02:~ # zypper in bind
配置bind服务
登陆到默认NS01编辑配置允许NS02进行同步
vi /etc/named.conf
更新原始zone配置为:
zone "azure-sap.poc" {
type master;
file "for.azure-sap.poc";
allow-transfer { 10.0.0.102; };
also-notify { 10.0.0.102; };
};
zone "0.0.10.in-addr.arpa" {
type master;
file "rev.azure-sap.poc";
allow-transfer { 10.0.0.102; };
also-notify { 10.0.0.102; };
};
然后重启named服务:
NS01:~ # /etc/init.d/named restart
登陆到NS02上,编辑named配置
NS02:~ # vi /etc/named.conf
去掉allow-query行的注释,并更新为:
allow-query { 127.0.0.1; 10.0.0.0/24; };
并增加zone配置,让NS02自动去NS01去同步记录:
zone "azure-sap.poc" {
type slave;
file "slave/for.azure-sap.poc";
masters { 10.0.0.101; };
};
zone "0.0.10.in-addr.arpa" {
type slave;
file "slave/rev.azure-sap.poc";
masters { 10.0.0.101; };
};
然后启动name服务:
NS02:~ # /etc/init.d/named start
redirecting to systemctl start named.service
NS02:~ # chkconfig named on
重启后发现NS1上的zone配置文件,已经被同步过来了:
NS02:~ # ls /var/lib/named/slave/
for.azure-sap.poc rev.azure-sap.poc
编辑NS02的DNS服务器为指向:
NS02:~ # vi /etc/resolv.conf
输入:
search azure-sap.poc
nameserver 10.0.0.101
nameserver 10.0.0.102
后续步骤
更新虚拟网络的DNS服务器
为了避免在所有机器上都要更新DNS服务器,把虚拟机网络CorpNET的DNS服务器指向刚才配置的主副DNS服务器:
更新VNET的DNS
重启所有机器,保证DNS更新生效。
重命名机器的FQDN名称
请参照《IP地址规划表》重命名所有Linux机器的FQDN名称,以NS01为例。虽然
NS01:~ # hostnamectl set-hostname ns1.azure-sap.poc
在前面的步骤中,我们更新了虚拟网络的DNS,机器的 /etc/resolv.conf文件中会自动追加:
search azure-sap.poc
nameserver 10.0.0.101
nameserver 10.0.0.102
请再次确认,search azure-sap.poc记录是否存在。如果没有,请手动加上,否则FQDN域名可能更新不成功。
机器重启后,通过hostname命令查看配置是否生效:
ns1:~ # hostname
ns1
ns1:~ # hostname -f
ns1.azure-sap.poc
写在最后
至此,《Azure云上SAP高可用系统部署实践》的第二章,DNS 配置工作就全部完成。
因为是测试环境,我会把NS02这台副域名解析服务器关机,以节省开支。
×用微信扫描并分享