メインコンテンツに移動

FreeIPA

NISも滅亡間際である(なんだかpushがこけてこけて動かない.実はユーザーがパスワード変えるたびに再インストールしている)ので, LDAPへの脱走を急がねばなるまいて. というわけで25年ぶりの認証系アップデートだ!(次にアップデートするときは、墓の中から操作する必要があるってことだ)

簡単か,面倒か,でいえば面倒だそうだ.

  • えええっとmother (ib2013c)をサーバーにして,クライアントのテスト機が欲しい.もう一台作る.
  • ib2007  10.249.229.223 をCentOS8にした。ってこれ、まだうごくのかCore2Duo? 丈夫だな
  • クライアントも欲しいから 10;249.229.224 も投入.なんだこのCore2Duoたち?お前ら,まだ生きてたんだ?
    • ゴミなのかコンピュータなのか判別困難な状態で, ストレスなしで使えるCentOS8は驚きだが
  • 結局,次の体制でテスト
    • 試作サーバーマシン 10.249.229.223  ゴミから生まれたというより,そもそもゴミ
    • 試作クライアントマシン 10.249.229.224  まだ捨ててなかったんだコレ?!
    • 試作レプリケーションマシン 10.249.229.225  捨てるのが面倒でサボってた
    • 試作クライアントマシン 10.249.229.226 どんだけ頑丈なんだお前ら 黒歴史の仲間か?
    • 実証サーバーマシン 10.249.229.208   ゴミから生まれた五味太郎マシン
    • 実証仮想マシン 10.249.229.209  五味太郎の夢の中のマシン
    • 本番マシン sun0 ← 営業しています

CentOS8ではLDAPは廃止され, IdMを使うことになっている.OpenLDAPで設定しようとしたが, SSLが正常稼働せず,最後まで押し通せなかったので,IdMを試す.

ここと同じエラーだ.これ解決できねえよぉ

なるほどわかってきた.非推奨になったのはOpenLDAPであり(非推奨になったのは, おそらく, 単に仕事が遅いから), そのかわりに389というLDAPソフトになった,で,ワンセットでIdMというRedHatがCentOSでFreeIPAになっているという雰囲気だな.

概念

だいたい概念がわからん.そもそも,理解する必要があることが理解できない.要するに

  • IdMとは,本来, MariaDBなどと同じく「データベース」である
    • つまり, \(x\)を入れると\(f(x)\)が得られるソフトウェアである
    • LDAPも同じであるが, LDAPは汎用データベースである.
    • IdMは, あくまで, Linuxのユーザー管理専用データベースであると主張
  •  ところがIdMはLDAPと同等の機能を持つらしい389DirectoryServerを含んでいる
    • LDAPって面倒なので,砂糖衣をつけたものがIdM? ということか

では行ってみよう.

必要条件

ここに基づいて, 必要条件をチェックする.

  • IPv6が無効になっていると動作しません: 了解
    • IPv6を使ってなくてもOKだそうだ. ビルドできないってことみたいだ
  • NCSDなんてインストールされてると匂いが移るから,どけとけ
    • OK, 排除完了
  • hostnameがlocalhostではダメです. FQDN以外はダメですぢゃ
    • hostnameの出力は, ib2007a.229.249.10.1016485.vlan.kuins.net だよーん
  • dig +short ホスト名 A, で, ip add show で得られるアドレスが得られないといけまへん.
    • おりょ?京都大学ではKUINSが定義してますが, 不便なので,別な名前でNISに登録してました.
    • ホスト名をKUINSの定義通りに訂正しないとダメですね.訂正します:
      hostnamectl set-hostname  h223.229.249.10.1016485.vlan.kuins.net
  • そのFQDN, /etc/hostsのIPv4とIPv6のケツについてるよな?ループの方につけてたら死ぬぞ?
    • つけときましたー
  • お前の腐った設定ファイルがあると動かねえよ!全部フォーマットして,クリーンインストールした後にやりやがれ
    • んまあ,まだ数日しかいじってねえし大丈夫大丈夫
    • この制限が,マジで真実であることを後で思い知ることになるのである.いや、その通りですよ。少しでもアカウント系をいじったやつを綺麗にするなんて無理x

確認します:

hostname
h223.229.249.10.1016485.vlan.kuins.net
dig +short h223.229.249.10.1016485.vlan.kuins.net
10.249.229.223
dig +short -x 10.249.229.223
h223.229.249.10.1016485.vlan.kuins.net.
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6
10.249.229.223  h223.229.249.10.1016485.vlan.kuins.net ib2003a

んんん.しかし,ホスト名が h223 では,やはり不便だ.廃棄物に埋もれて稼働している2007年製マシンであることがわからないじゃないか.とはいえ,まあ,リソース管理システムを通じて利用するなら,名前なんか不要だという考え方もあるか・・・

てゆうか,なんでDNS周りの制限があるのか不思議だ.これはもしや, なんちゃってDNSサーバーを作成する時の制限なのかもしれない.なるほど,ホスト名のマップなんて微妙なもの作るより,他力本願タイプのDNSサーバーが使えそうだしにゃ

貫通設定

Firewallで以下の弾が通過できないとダメ:

  • HTTP(80)/HTTPS(443) TCP
  • LDAP(389)/LDAPS(636) TCP
  • DNS(53) TCP, UDP
  • NTP(123) UDP
  • 8080, 8443, 749を使うなタコ

ところが,マニュアル以外のポートも絶賛使っているので注意:

  • KERBEROS(88) TCP,UDP
  • 464 TCP,UDP

で,実は使うものをまとめて, freeipa-ldap, freeipa-ldaps という妙なサービスが定義されている.

なるへそ 

firewall-cmd --add-service={freeipa-ldap,freeipa-ldaps,dns}  --permanent
firewall-cmd --reload
firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: bond0 enp2s0f0 enp2s0f1
  sources:
  services: cockpit dhcpv6-client dns http https ldap ldaps ntp ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

まあよいのではないか.

よっしゃ.これで準備完了レッツゴー