更新VNET的DNS

Azure云上SAP-域名解析服务器配置


概述

本文演示为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<<- opcode: QUERY, status: NOERROR, id: 2621
;; 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

更新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这台副域名解析服务器关机,以节省开支。

本文链接: https://www.pstips.net/sap-on-azure-setup-nameserver.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注