紹介する
Windows Serverベースのネットワークに接続されたRasbianを実行するRaspberry Piがあります。これは、接続されているすべてのコンピューティングシステムと公的にアクセスできるWebサイトで構成される独自のイントラネットを備えた企業(教育)ネットワークです。この質問の目的に応じて、ドメイン名はで指定されますexampledomain.com
。
このイントラネットで接続されているWindowsコンピュータは、ネットワークアダプタの設定を介してホスト名にDNSサフィックスを追加できます(表示されている手順)。ここ)。これにより、その名前のコンピュータがローカルネットワークを介してアドレスを指定できるようになりますcomp1
(たとえば、接続ごとのサフィックスとして一覧表示されます)。comp1
comp1.ns.exampledomain.com
ipconfig
ns.exampledomain.com
質問
comppi
私はaddressを介してアクセスする必要があるホスト名を持つRaspberry Pi 2を持っていますcomppi.ns.exampledomain.com
。 Piは現在、ホスト名comppi
、使用法comppi.local
、またはIPアドレスを介してアクセスできます。
ホスト名によるアクセスは、Sambaを使用してRPiにSambaをインストールすることによって行われますsudo apt-get -y install samba
。avahi
RPiで設定する簡単な方法は次のとおりです。
関連する DHCP/DNS サーバーにアクセスできません。しかし、必要なくこの結果を得ることができるはずです。 (Windowsコンピュータで行うことができるので必要ありません。)
/etc/dhcp/dhclient.conf
また、関連ページを読んだ後もman
文書の理解が非常に悪いことを指摘したいと思います。おそらく些細なことが欠けているでしょう。
現在の試み
- ホスト名を
comppi.ns.exampledomain.com
次のファイルのすべてのエントリに直接変更してみてください。 - ホスト名の行を
send host-name = "comppi.ns.exampledomain.com"
inに変更してみてください/etc/dhcp/dhclient.conf
。 - Jordan over
append domain-name = "ns.exampledomain.com"
に行を追加してみてください。/etc/dhcp/dhclient.conf
askubuntu.com。ただし、これはns.exampledomain.com
失敗時に発信ホスト名解決に追加されたものです。
技術情報
- オペレーティングシステム:Raspbian GNU / Linux 8(Jessie)(注:これは単純化されたバージョンです)
- ラズベリーパイ:ラズベリーパイ2
- ホスト名:comppi
文書
内容は/etc/network/interfaces
変更されません。
コンテンツ/etc/hostname
:
comppi
コンテンツ/etc/hosts
:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 comppi comppi.ns.exampledomain.com
コンテンツ/etc/dhcp/dhclient.conf
:
# Configuration file for /sbin/dhclient, which is included in Debian's
# dhcp3-client package.
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
#send host-name = gethostname();
send host-name = "comppi"
append domain-name = "ns.exampledomain.com"
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
答え1
WindowsクライアントがActive Directoryの一部である場合、その名前は自動的にDNSに登録されます(あなたの場合はそうです)。これはDDNS(ダイナミックDNS)と呼ばれるプロセスを使用します。 Windows DDNSにLinuxコンピュータを登録する最も簡単な方法は、Sambaを使用してLinuxコンピュータをWindowsドメインに参加させることです。 Windows ドメインに参加するには権限が必要です。 LinuxでWindowsドメインに参加する方法の詳細を提供するインターネットガイドがたくさんありますが、以下は簡単なステップです。
まず、/etc/krb5.confにドメイン名情報を追加します。
[realms]
NS.EXAMPLEDOMAIN.COM = {
}
[domain_realm]
.ns.exampledomain.com = NS.EXAMPLEDOMAIN.COM
ns.exampledomain.com = NS.EXAMPLEDOMAIN.COM
次に、ドメインに参加するようにsmb.confを設定します。
[global]
workgroup = EXAMPLEDOMAIN
realm = NS.EXAMPLEDOMAIN.COM
security = ADS
次に、を実行しますnet ads join -U windowsuser
。ここで windowsuser は、ドメインに参加する権限を持つユーザーです。
これにより、コンピューターが Windows ドメインに参加し、コンピューターの IP アドレスが Windows DNS に登録され、他のユーザーとその名前をcomppi.ns.exampledomain.com
使用してcomppi
コンピューターにアクセスできるようになります。
答え2
したがって、comppi.ns.exampledomain.com
ネットワークの問題を解決するには、次の理由でDHCPサーバー管理者の支援が必要です。この回答の一番下にLinuxオプション
Windows環境
LINUXクライアントは、追加のソフトウェアがインストールされていない限り、Active Directory(AD)を認識しません。したがって、適切に構成されたWindows環境では、DHCPサーバーを使用してDNSサーバーを更新する必要があります。
DHCP サーバーがローカル DNS サーバーにホスト名を登録するには、動的更新認証が必要です。この設定はユーザーが構成できないため、ネットワーク管理者が変更する必要があります。はい、この設定が機能するにはこの設定が必要です。
DHCPサーバーのIPアドレスに加えて、このネットワークのドメインサフィックスも受け取ります。このサフィックスはホストに保存され、後で使用されます。 DHCPサーバーとDNSサーバーが同じマシン上にない限り、動的更新を実行するには、DHCPサーバーがDNSサーバーを認証する必要があります。
この時点で、DHCPサーバーはDNSネットワーク登録を完了する必要があります。クライアントホストによって制御されませんが、ホストが要求する必要があります。現在 Debian は自動的に DNS 登録を要求します。
Windowsでは、強制再登録を使用できますipconfig /registernds
。
ローカルネットワークでは、ホストは、一般的なホスト名とホスト名にドメインを追加した2つの「法的」名と方法を使用してユーザーを見つけることができます。サフィックス " .local
"はしばしば省略され、他のサフィックスが追加されるのを避けるために使用されます。
1最初の方法はDNSを使用しません。 LANブロードキャストホストを使用して「この名前を知っている人」を尋ねると、宛先ホストはMACアドレスとIPで応答します。
数秒ごとに、ホストは自分の名前をブロードキャストして、LANを共有している他の人が自分の存在を知ることができます。通常、この放送はスイッチ/ルーターによってフィルタリングされるため、同じスイッチにないと安定して作成することは困難です。
22番目の方法は、LANサフィックスを持つ「一般」ホスト名を使用してLAN固有のDNSサーバーに要求を送信することです。
ホームルーターとイントラネットはパブリックではないため、プライマリDNSサーバーで汎用DNS(8.8.8.8、8.8.4.4)を使用すると、ローカルホストはまったく解決されません。 DHCP割り当てアドレスを持つ各ローカルホストは、ルータによって「記憶」されます。
ホストでDNSアドレスを確認するときは、1つ以上の必須サフィックスを追加できます(Linuxhost
またはdig
Windowsを使用nslookup
)。
ホスト名を正しく設定することをお勧めします。 On/etc/hostname
とAlso on /etc/hosts
(:1と127.0.0.1の場合)を実行してから. /etc/init.d/hostname.sh
。
LinuxでDNSサーバーを手動で更新する
クライアントの手動協力が必要な別のオプションがあります。よく知られていないユーティリティの使用nsupdate。これにより、有効なDNSサーバーに登録するために必要な機能が追加されます。これはRFCによって公開されたDNS関連プロトコルに従います。
例:
$ nsupdate -v
>delete video.domain.com. a
>delete git.domain.com. a
>delete gateway.domain.com. a
>add video.domain.com. 600 a 192.168.1.111
>add git.domain.com. 600 a 192.168.7.10
>add gateway.domain.com. 600 a 192.168.7.10
>send
>quit
動的に取得したIPV4またはIPv6アドレスで簡単なファイルを作成し、「ポストアップ」スクリプトで実行できます。/etc/network/interfaces
答え3
Raspbian Jessieを実行しているRaspberry Piでは、DHCPクライアントは/sbin/dhcpcd
。残念ながら、DNSサフィックスの指定を許可しない他の設定ファイルを使用してください。
ps -ef | grep -i [d]hcp
root 720 1 0 10:16 ? 00:00:00 /sbin/dhcpcd -q -w
幸い、このシステムがインストールされ、DNSサフィックスを指定できる設定ファイルがresolvconf
ありました。/etc/resolvconf.conf
search_domains_append=ns.exampledomain.com
2つのJessie Piが異なるインストール構成を持つ必要がある理由はまったくわかりませんが、これは別の日に質問になる可能性があります。比較のために、私のDebian Wheezyシステムの一部に示されているDHCPクライアントプロセスの別の例は次のとおりです。
# This uses /etc/dhcp/dhclient.conf and is not what I have on my Pi
ps -ef | grep -i [d]hcp
root 1683 1 0 09:58 ? 00:00:00 dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0