Ubuntuで内向きのDNSサーバーを作る

テスト用に立てたUbuntuのサーバーにiPhoneからアクセスしたいけど、サーバーがローカルなネットワーク内にあるのに、外から接続する必要があるというのでは、いささか面白くないのでdnsmasqを使って内向きのDNSサーバーを立てた。WordPressをインストールしてiPhoneから使いたいのでwordpress.testというドメインで192.168.0.90に到達できるように設定した例。ちなみにApple製品は".local"は特別なドメインと見なすらしく、うまくいかないので使わない方がいいらしい。
NetworkManagerの設定を変更する
dns=dnsmasqを以下のようにコメントにする。
$ sudo nano /etc/NetworkManager/NetworkManager.conf[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
NetworkManagerを再起動する
$ sudo service network-manager restart
dnsmasqをインストールする
$ sudo apt-get install dnsmasq
IPアドレスとホスト名を設定する
$ sudo nano /etc/hosts192.168.0.90    wordpress.test
外向きに問い合わせをしないIPアドレスを設定する
$ sudo nano /etc/dnsmasq.conf# Add other name servers here, with domain specs if they are for
# non-public domains.
#server=/localnet/192.168.0.1
server=/wordpress.test/192.168.0.90
dnsmasqを再起動する
$ sudo service dnsmasq restart
dnsmasqの自動起動を設定する
$ sudo sysv-rc-conf dnsmasq on
ルーターを設定する
いくらサーバーの設定をしてもiPhoneで接続するルーターが、そのままではプロバイダのDNSに全部問い合わせが行ってしまうのでルーターの設定をする。以下はNECの無線LANルーターでの設定例。 dnsmasq1
作戦成功と
dnsmasq2
こんな感じでiPhoneから無事、Apacheの初期画面が表示できた。もしかしたら無駄な事をしているかもしれないし、もうちょっと賢い設定方法があるかもしれないけど、あくまで一時的なテスト用なので動けばよしとする。
    この記事で書かれている製品やソフトについて
  • Ubuntu 16.04.1 LTS