今のように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 msbilly:~# getent hosts
…….
ばっちり。
幸せに。