2018年1月29日月曜日

Ubuntu 16.04サーバーをdhcp/dynamic dns環境で使う

FreeBSDのbhyve環境でUbuntu 16.04サーバーをインストールして使っています。このとき、デフォルトのUbuntu 16.04のdhcpクライアントの設定は、FreeBSD 11で動くDHCP/Dynamic DNS環境ではうまくDNSに名前を登録できないことがありました。

検索エンジンで探してみたところ、以下の設定をデフォルトのdhcpclient.confに加えると、うまくいくようです。
$ cat /etc/dhcp/dhclient.conf 

send dhcp-lease-time 600;


$
他にも以下のブログにあるような設定も試してみましたが、こちらは私の環境では有効でありませんでした。また上記の設定をしても、起動後しばらくは不安定で、安定して名前がつくようになったのは次の日ぐらいでした。これはよくわかりません。
DHCPで立てた社内サーバにマシン名でアクセスできるようにする
http://cs.hatenablog.jp/entry/2014/01/31/104605


ドメインがexmaple.comでマシン名がmyhostだったら、dhclientの設定ファイルに次の設定を加えます。
send fqdn.fqdn "myhost.example.com";
send fqdn.server-update on;


dhcpでにホスト名を自動登録する
http://d.hatena.ne.jp/pekeq/20081201/p1


/etc/dhclient-eth0.conf を編集して以下を追記する。
send fqdn.fqdn "example.pekeq.com.";
send fqdn.encoded false;
send fqdn.server-update on;

追記
なんか動きが違うなぁ。ソース見ないとなんともわからんかも。

調べた
http://www.linux.or.jp/JM/html/dhcp/man5/dhcp-options.5.html に書いてあった。ソースコード上の場所はclient/dhclient.cのclient_dns_update()の部分。
  • fqdn.server-update onだと、DHCPサーバに対してDNS updateするよう依頼する。DHCPサーバ側が対応していなければupdateはかからない
  • fqdn.server-update offだと、dhclient自身がDNS updateする
なので、fqdn.server-update onで試して、ダメだったらoffに変えてやればいいのかな。
ただ、FreeBSD 11のbhyve環境でうまくいかないということなので、この環境でなければ、上記の設定は不要かもしれません。