LoginSignup
0
0

DNS-IP-Mapper: ドメイン名に自動でIPアドレスを割り当てるツール

Last updated at Posted at 2023-08-20

DNS-IP-Mapperのソースコードは、以下のGitHubリポジトリで確認できます:
https://github.com/kawamurashingo/DNS-IP-Mapper

はじめに

サービスのデプロイやインフラのセットアップ時、ドメイン名にIPアドレスを割り当てるのはルーチンワークです。特に多数のドメインを扱っている場合には、これらの割り当てを手動で管理し、追跡するのは大変な作業になることがあります。DNS-IP-Mapperは、指定されたサブネットから利用可能なIPアドレスを、完全修飾ドメイン名(FQDN)のリストに自動的に割り当てます。

前提条件

  • シェル環境: Bash (推奨されるバージョンは4以上)。
  • コマンド: host コマンドが利用可能であること(通常は bind-utils パッケージに含まれています)。

使い方

1. 準備:

FQDNファイル: IPアドレスが必要なFQDNのリストを持つテキストファイルを作成します。それぞれのFQDNを別の行に配置してください。
例 (fqdns.txt):

db01.example.com
db02.example.com
web0[1-2].example.com

サブネットファイル: IPアドレスを選択するためのサブネットを含む別のテキストファイルを作成します。それぞれのサブネットを別の行に配置してください。
例 (subnets.txt):

192.168.1.0/24
192.168.2.0/24

2. スクリプトの実行:

以下のコマンドでスクリプトを実行します:

./assign_ips.sh -f <FQDNファイルへのパス> -n <サブネットファイルへのパス> [-s <IPの開始範囲>] [-e <IPの終了範囲>]

オプション

  • -f : FQDNファイルへのパス。
  • -n : サブネットファイルへのパス。
  • -s : IPアドレスの開始範囲を定義(デフォルトは1)。
  • -e : IPアドレスの終了範囲を定義(デフォルトは240)。

:

./assign_ips.sh -f fqdns.txt -n subnets.txt -s 10 -e 100

上記を実行すると、指定されたサブネットからFQDNに .10 から .100 の範囲のIPアドレスを割り当てることを試みます。

出力

結果は、次の形式で各FQDNに割り当てられたIPアドレスをリストします:

<fqdn>,<assigned_ip>

出力の例:

db01.example.com,192.168.1.10
db02.example.com,192.168.1.11
web01.example.com,192.168.1.12
web02.example.com,192.168.1.13

IPアドレスの利用可能性の判断基準は?

スクリプトは、IPアドレスの利用可能性を次の基準で判断します:

  1. DNSチェック: host コマンドを使用して、IPアドレスに既にDNSレコードが存在するかどうかを確認します。
  2. Pingチェック: スクリプトはIPアドレスにpingを送ってその応答を確認します。

両方のチェックが失敗した場合(DNSレコードがなく、pingに応答しない場合)、IPアドレスは利用可能と見なされます。

注意点

  • このスクリプトのバージョンは、CIDR値として24, 23, 22のみをサポートしています。
  • 利用可能なサブネットから各FQDNにユニークなIPアドレスが割り当てられます。

DNS-IP-MapperでIPアドレスの割り当て作業を自動化し、シンプルにしましょう🌐

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0