テンプレートからマシンを作成し、新しいホスト名を割り当てるスクリプトを使用して、Debian(lenny)マシンを毎日作成するXenServerをインストールしています。
私たちのネットワークには、DHCPサーバーとして機能するフォーティネット60Bアプライアンスと、DNSサーバーとしても機能するMicrosoft Windows 2008 DC)があります。VM DHCPからリースIPを取得したときに、ホスト名をDNSサーバーに送信するテンプレート。
現在、フォーティネットは、IPリースと共にDCをDNSサーバーとして割り当てています。/etc/dhcp3/dhclientに「send Host-name "my-Host-name"」行を追加してみました.confですが、DCでは何も更新されません。
VMがテンプレートから作成され、起動するたびにnsupdateを実行するスクリプトを使用してしまいました。
それで、基本的にあなたはあなたのクライアントがあなたのDNSサーバーに彼らのホスト名を送ることを望みますか?
これはWindowsクライアントではうまく機能しますが、Linuxマシンの場合は、逆になります。DHCPサーバーにIPを要求するようにクライアントを設定しますおよびホスト名。 「requestHost-name」オプションを使用して、dhclientはDHCPサーバーにIPアドレスとともにホスト名を送信するように要求し、VMのホスト名を設定します。
もちろん、DNSで、DHCP範囲の各IPアドレスのホスト名を準備する必要があります。
このようにして、DNSキャッシュ/伝播遅延の問題が発生せず、すべてのIPとホスト名(DNSサーバー)を中心に配置できる場合があります。
アプライアンスのDHCPサーバーがホスト名の送信をサポートしているかどうかはわかりませんが、ほとんどの場合はサポートしていますが、Linuxクライアントにとってはこれが最も簡単な方法だと思います。
注:同じマシンが常に同じIPアドレスを取得するようにDHCPサーバーを構成した場合(Macアドレスを使用するなど)、当然、常に同じホスト名も取得します。一部のDHCPサーバーでは、構成ファイルでIPアドレスの代わりにホスト名を直接使用できます。
うーん。これとまったく同じ設定を試したことはありません-私はこれをLinuxクライアントでWindows DHCPサーバーに接続したことがありますが、そのセットアップではDHCPサーバーが更新を行います。 Fortinetボックスが同じことを行うかどうかはわかりません。
クライアントにDNSサーバーと直接通信させることを試みることができます。何かのようなもの:
send fqdn.server-update off;
send fqdn.encoded on;
send fqdn.fqdn "hostname.example.com.";
/etc/dhcp3/dhclient.confにあります。詳細については、man dhclient.conf
を確認してください。私のセットアップで機能させるには、少なくともsend fqdn.fqdn
を設定する必要がありました。
DNSゾーンへの安全でない更新も有効にする必要があります。
これは 私自身の質問 にいくぶん似ています。私が受け取った唯一の回答に対する私の最後のコメントを見てください。ここでは、dhclient.confを参照しています。
ドメインに参加していないマシンを取得して、Windows DC\DNSサーバー上のDNSレコードを登録および更新するために必要な、私が見つけた2つのこと:
DC\DNSサーバーを構成して、安全な動的DNS更新と安全でない動的DNS更新の両方を許可します。
Host.domain.comのように、ドメインに参加していないホストのFQDNをAD\DNS名と一致するように構成します。
多くの人がこれを露骨に明白だと考えるかもしれませんが、dhclient.conf
で独自の要求ディレクティブを指定してくださいホスト名またはドメイン名を要求しません。私のディストリビューションのデフォルトは:
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, Host-name,
netbios-name-servers, netbios-scope, interface-mtu;
これは、send Host-name ...
ディレクティブを無効にするサーバーからホスト名とドメイン名の両方を要求することに注意してください。私のrequestおよびsend-Hostディレクティブは次のようになります。
send Host-name "leaf.node.domain.com";
request subnet-mask, broadcast-address, time-offset, routers,
domain-name-servers,
netbios-name-servers, netbios-scope, interface-mtu;