本ドキュメントでは、以下の混合OS環境において、Oracle RAC (Grid Infrastructure) の要件を満たすDNSサーバーの構築およびクライアント設定手順を解説します。
- DNSサーバー: Oracle Linux 7 (OL7)
- RACノード: Oracle Linux 8 (OL8)
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
1. 設計情報
| 項目 | 設定値 | 役割 |
|---|---|---|
| DNSサーバー IP | 192.168.56.18 | OL7 (BIND稼働) |
| ドメイン名 | example.local | RAC環境用ドメイン |
| RACノード1 (Public) | 192.168.56.61 | OL8 (rac-26ai1) |
| RACノード2 (Public) | 192.168.56.62 | OL8 (rac-26ai2) |
| Virtual IP (VIP) | 192.168.56.63, 64 | 各ノードの仮想IP |
| SCAN IP | 192.168.56.65, 66, 67 | 共通アクセス用IP (3つ) |
2. DNSサーバー側 (OL7: 192.168.56.18) の構築
2.1 BINDのインストール
yum install bind bind-utils -y
2.2 メイン設定ファイル (/etc/named.conf)
directory "/var/named"; は必須設定です。
vi /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.56.18; };
directory "/var/named";
allow-query { localhost; 192.168.56.0/24; };
recursion yes;
dnssec-enable no;
dnssec-validation no;
bindkeys-file "/etc/named.root.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
zone "example.local" IN {
type master;
file "example.local.zone";
};
zone "56.168.192.in-addr.arpa" IN {
type master;
file "192.168.56.rev";
};
2.3 正引きゾーンファイルの作成
SCANは必ず3つのIPを同一ホスト名で登録してください。
vi /var/named/example.local.zone
$TTL 86400
@ IN SOA dns-server.example.local. root.example.local. (
2025062201 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
IN NS dns-server.example.local.
dns-server IN A 192.168.56.18
; --- Public IP ---
rac-26ai1 IN A 192.168.56.61
rac-26ai2 IN A 192.168.56.62
; --- Virtual IP (VIP) ---
rac-26ai1-vip IN A 192.168.56.63
rac-26ai2-vip IN A 192.168.56.64
; --- SCAN (3つのIPを登録) ---
rac-26ai-scan IN A 192.168.56.65
rac-26ai-scan IN A 192.168.56.66
rac-26ai-scan IN A 192.168.56.67
; --- Private IP (Optional) ---
rac-26ai1-pr IN A 192.168.57.61
rac-26ai2-pr IN A 192.168.57.62
2.4 逆引きゾーンファイルの作成
PTRレコードも不足なく記述します。
vi /var/named/192.168.56.rev
$TTL 86400
@ IN SOA dns-server.example.local. root.example.local. (
2025062201 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
IN NS dns-server.example.local.
18 IN PTR dns-server.example.local.
61 IN PTR rac-26ai1.example.local.
62 IN PTR rac-26ai2.example.local.
63 IN PTR rac-26ai1-vip.example.local.
64 IN PTR rac-26ai2-vip.example.local.
65 IN PTR rac-26ai-scan.example.local.
66 IN PTR rac-26ai-scan.example.local.
67 IN PTR rac-26ai-scan.example.local.
2.5 権限設定・SELinux適用
ファイルを削除・再作成した場合は必ずこの手順を再実施してください。
chown root:named /etc/named.conf /var/named/example.local.zone /var/named/192.168.56.rev
chmod 640 /etc/named.conf /var/named/example.local.zone /var/named/192.168.56.rev
restorecon -v /etc/named.conf
restorecon -Rv /var/named
named-checkconf -z /etc/named.conf
systemctl enable --now named
firewall-cmd --add-service=dns --permanent && firewall-cmd --reload
2.6 DNSサーバーの稼働・ステータス確認
# 1. サービスの状態確認
systemctl status named
# 2. BINDの詳細な稼働ステータス確認
rndc status
# 3. 待ち受けポート (53/UDP/TCP) の確認
ss -antup | grep :53
# 4. リアルタイムログの監視
journalctl -u named -f
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
3. RACノード側 (OL8 Client) の設定
OL8において /etc/resolv.conf の編集を永続化させるための推奨手順です。
3.1 NetworkManagerによる永続化 (nmcli)
各ノードで実施します。
# 1. アクティブなコネクション名を確認
nmcli connection show
# 2. DNSサーバーと検索ドメインを登録
nmcli connection modify "コネクション名" ipv4.dns "192.168.56.18"
nmcli connection modify "コネクション名" ipv4.dns-search "example.local"
# 3. 反映 (自動的に /etc/resolv.conf が更新されます)
nmcli connection up "コネクション名"
3.2 設定の最終確認
cat /etc/resolv.conf
# search example.local と nameserver 192.168.56.18 があれば成功
4. インストール前 最終確認リスト
- SCANラウンドロビン:
nslookup rac-26ai-scanを実行するたびにIPの順番が変わるか。 - 短縮名疎通:
ping rac-26ai2で応答があるか(search設定の確認)。 - 逆引き一致:
nslookup 192.168.56.65等で正しいホスト名が返るか。
5. FAQ (よくある質問)
Q1: なぜ SCAN IP は 3 つ必要なのですか? A1: Oracle のベストプラクティスであり、Grid Infrastructure インストーラーの検証項目です。3 つ設定することで、クライアント接続時に DNS ラウンドロビンによる負荷分散と高可用性を実現します。
Q2: /etc/resolv.conf を直接編集してはいけないのはなぜですか? A2: OL8 では NetworkManager がこのファイルを管理しているため、再起動やネットワーク切断時に設定が自動的に上書き(消去)されてしまいます。nmcli を使用することで、設定がプロファイルに保存され、永続化されます。
Q3: nslookup は通るのに ping が通りません。 A3: /etc/resolv.conf に search example.local が記述されているか確認してください。記述がない場合、ドメイン名なしの ping rac-26ai1 は失敗します。また、/etc/nsswitch.conf の hosts: files dns の順序により、/etc/hosts に古いエントリが残っている場合も失敗の原因になります。
Q4: DNS サーバーのシリアル値を更新し忘れるとどうなりますか? A4: レコードを修正しても、シリアル値(Serial)を増やしてサービスを再起動(または rndc reload)しないと、変更が反映されない場合があります。
6. まとめ
- SCAN の構成: 1 つのホスト名に対して 3 つの
Aレコードを定義する「DNS ラウンドロビン」が RAC 構成のキモです。 - 権限と SELinux:
/var/named配下のファイルは、所有者をnamedグループにし、restoreconでセキュリティコンテキストを正しく設定しないとnamedがファイルを読み込めません。 - OL8 ネットワーク管理: OL8 クライアントでは
nmcliコマンドを使いこなし、設定を永続化させることが、後のトラブル(再起動後の名前解決不可)を防ぐ唯一の方法です。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?



コメント