LDAPでホスト名を共有

今のようにXenで仮想化してマシンをもこもこ増やしていると、正直マシンの名前解決が面倒くさい。
かといってDNSは大げさな感じ。
なので、hostsを使う。
でも、毎回新しくドメインを立ち上げるたびにhosts書くのもめんどくさい。
じゃあLDAPにホストの情報登録すればいいじゃない、という話。

まず、/etc/hostsを普通に書き書き。
でもってmigration-toolsを使ってldifに出力する。

MS-09:/usr/share/migrationtools# ./migrate_hosts.pl /etc/hosts ~/hosts.ldif

で、それをLDAPに食わせる。

MS-09:~# ldapadd -x -c -D “cn=admin,dc=waterblue,dc=net” -W -f hosts.ldif
Enter LDAP Password:
adding new entry “cn=localhost,ou=Hosts,dc=waterblue,dc=net”
ldap_add: No such object (32)
matched DN: dc=waterblue,dc=net

はい、こけました。

ou=Hostsがないらしい。

MS-09:~# vi ou.ldif

dn: ou=Hosts,dc=waterblue,dc=net
objectClass: organizationalUnit
ou: Hosts

とりあえずHostsを追加するldif作成。

MS-09:~# ldapadd -x -c -D “cn=admin,dc=waterblue,dc=net” -W -f ou.ldif
Enter LDAP Password:
adding new entry “ou=Hosts,dc=waterblue,dc=net”

MS-09:~# ldapadd -x -c -D “cn=admin,dc=waterblue,dc=net” -W -f hosts.ldif
…..

喰った。
ほかから見えるか試してみる。
LDAPサーバを見ているほかのマシンの/etc/nsswitch.confで、hostsでLDAPを参照するように書き換える。

hosts:          files dns ldap

で、実際に見えてるか試す。

billy:~# ping ms09
PING MS-09.waterblue.net (192.168.1.2) 56(84) bytes of data.
64 bytes from MS-09.waterblue.net (192.168.1.2): icmp_seq=1 ttl=64 time=0.024 ms

billy:~# getent hosts
…….

ばっちり。
幸せに。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>