本文目录
概述
本文演示为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服务器:
重启所有机器,保证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这台副域名解析服务器关机,以节省开支。
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!