ローカル内のサーバを名前解決してアクセスするためにunboundを使う
ローカル環境にサーバを立ててブラウザなどからアクセスする場合、いちいちサーバのIPアドレスを入力したり、IPアドレスが変わる度に他のユーザに通知したりする必要があり、面倒です。そこで、ローカル環境のサーバにも任意の名前でアクセスできるようにするために、DNSサーバを構築します。構築とはいっていますが、unboundというDNSサーバソフトウェアを使えば、非常に簡単に構築できます。以降にunboundによるDNSサーバの構築手順をメモします。
環境
unboundを動かすサーバ : Linux Mint 16
unboundのインストール
まずapt-getでアップデートし、インストールします。以下のコマンドを実行すれば完了します。
$ sudo apt-get update
$ sudo apt-get install unbound
unboundの設定ファイル編集
unboundの設定ファイルである unbound.conf は、 /etc/unbound/ にあります。今回の目的を達成する最低限の内容は以下のとおりです。以下の設定ファイルによって、IPアドレスが 192.168.1.2 であるサーバの名前が foo.example.com に紐付けられて、foo.example.com でアクセスできるようになります。
# Unbound configuration file for Debian.
#
# See the unbound.conf(5) man page.
#
# See /usr/share/doc/unbound/examples/unbound.conf for a commented
# reference config file.
server:
# The following line will configure unbound to perform cryptographic
# DNSSEC validation using the root trust anchor.
# auto-trust-anchor-file: "/var/lib/unbound/root.key"
#ログのエラーレベルの設定 0~5まで指定可能。数字が大きいほど詳細なエラーを出力
verbosity: 2
# unboundが動作するディレクトリ
directory: "/etc/unbound"
# 使用するインターフェース。以下ではデフォルトルートを指定
interface: 0.0.0.0
# unboundへのアクセスを許可するIPアドレス範囲
access-control: 127.0.0.1/32 allow
access-control: 192.168.1.0/24 allow
username: "root"
# unboundのログファイルの出力先
logfile: "/var/log/unbound.log"
use-syslog: no
# ローカルのサーバの名前とIPアドレスの対応を登録
local-data: "foo.example.com. IN A 192.168.1.2"
local-data-ptr: "192.168.1.2 foo.example.com."
# 再帰的に問い合わせるためのローカル内の他のDNSサーバの指定。ない場合は省略。
forward-zone:
name: "."
forward-addr: 192.168.1.1
なお、上記の設定ファイルの各オプションについては、以下の日本Unboundユーザ会のページに詳しく載っており、参考になりました。
unbound.conf | 日本Unboundユーザ会
unboundの動作確認
同じローカル内にあるパソコンのブラウザから上記で設定した foo.example.com にアクセスできればきちんと動作していると思います。また、nslookupやdigコマンドを使って名前解決してみて、応答がunboundが動作しているサーバからであるかどうかも確認してみるといいと思います。
使ってみて
unboundはインストール、設定が非常に簡単で便利です。また、unboundは名前解決した情報をキャッシュできるので、名前解決が早くなります。ただ、そもそも名前解決は通常ならば時間がかかるものでもないので、体感できるほどではないと思いますが。いずれにせよ、ローカル内のサーバへ名前でアクセスするという目的を達成する手段としては、unboundを使うことはかなり楽な選択だと思うのでおすすめです。
関連記事
- 公開日:2022/09/11 更新日:2022/09/11
Google Compute EngineのインスタンスにSSH接続できなくなった時の対処方法
Google Compute EngineのインスタンスにSSH接続できていたのにSSHの設定ミスや原因不明でSSH接続できなくなった時の対処方法をメモします。自分のPCからだけでなく、Google Cloud Platform上での管理画面からもSSHできない場合にも有効です。
- 公開日:2022/09/08 更新日:2022/09/08
Google Compute EngineのインスタンスにSSH接続する
Google Compute Engineのインスタンスにssh接続するための手順をまとめます。
- 公開日:2018/02/10 更新日:2018/02/10
CentOSでrootのときだけ日本語が文字化けする時の原因と対処方法
さくらVPSでCentOSを使いはじめたところ、一般ユーザで使用している時はvimなどのエディタで編集していても日本語が問題なく表示されていましたが、root権限で同様に編集のためにファイルを開いたら日本語が文字化けしてしまいました。以降ではこの原因と対処方法についてメモします。
- 公開日:2017/12/09 更新日:2017/12/09
サーバ上のディレクトリをローカルにマウントするsshfsの使い方
Linuxでは、サーバ側のディレクトリを自身のローカルPCにマウントして、ローカル上のディレクトリして使用することができるsshfsというコマンドが用意されています。ここではこのsshfsの使い方をメモします。
- 公開日:2017/08/27 更新日:2017/08/27
MacでubuntuのインストールUSBを作成する方法と手順
MacでubuntuのインストールUSBを作成する手順をメモします。ここで載せる手順はターミナルでのコマンドによる方法になります。