Alpine Linuxでインフラ構築・検証に必要なサーバ機能を揃えておく。

Posted on
この記事は、最終更新日から 8 年以上経過しています。 情報が古い可能性があります。

デスクトップ上の仮想マシンで、ちょっと検証したいということが、よくありますよね。

そんな時に、NTPサーバとか、DNSサーバとか、はたまたLDAPサーバとかが、 欲しくなったりすることもよくあります。

だからと言って、Ubuntuとか、CentOSとかでガッツリ作ってしまうと、 それで、デスクトップPCのリソースを食ってしまって、やりたかった検証が スムーズに行かない、ってことになりがちです。(私のこと)

そこで、最近コンテナ向けに流行っている?軽量LinuxのAlpine Linuxを 使ってこれらを構築してしまいたいともいます。

そのサイズ、なんとメモリ256MB、DISK8GB!お買い得!(違

Alpine Linuxのインストールについては、こちらこちらを参照いただくとして。

NTP Server (chrony)

NTPサーバはchronyを使います。デスクトップ環境ということで、頻繁に停止起動されることを想定し、時刻同期が断続的でもよく機能するchronyを使います。(参照:ntpd と chronyd の違い

設定ファイル(/etc/chrony/chrony.conf)は以下の様な感じにしました。

server xxx.xxx.xxx.xxx
initstepslew 10 xxx.xxx.xxx.xxx
commandkey 10
keyfile /etc/chrony/chrony.keys
driftfile /var/lib/chrony/chrony.drift

allow yyy.yyy.yyy.yyy/zz

xxx.xxx.xxx.xxxには同期先のサーバ、yyy.yyy.yyy.yyy/zzには同期元のサーバ群がいるローカルのネットワークを指定します。

DNS Server (unbound)

DNSサーバはunboundを使います。zone設定含め、1ファイルで完結するので、小規模環境に向いています。

設定ファイル(/etc/unbound/unbound.conf)では、以下の様な内容を設定しました。

server:
        local-zone: "imokuri.local." static

        local-data: "hostpc.imokuri.local. IN A 192.168.183.1"
        local-data: "gateway.imokuri.local. IN A 192.168.183.2"

        local-data-ptr: "192.168.183.1 hostpc.imokuri.local."
        local-data-ptr: "192.168.183.2 gateway.imokuri.local."

forward-zone:
        name: "."
        forward-addr: 192.168.183.2

serverセクションでは、ローカルの環境の名前解決の設定を、それ以外のものについては、forward-zoneに転送するように設定しています。

LDAP Server (openldap)

ユーザ管理にopenldapを使います。小規模環境なので、バックエンドも何も考えずにbdbを使います。インストールしたパッケージは、openldap, openldap-back-bdb, openldap-clientsです。

/etc/openldap/slapd.confでは、必要なスキーマをインクルードし、databaseはbdbを使用など、設定します。

/var/lib/openldap/openldap-data/DB_CONFIGをサンプルをコピーして準備しておきます。

ここまでできたらslapdを起動し、必要な情報をLDIFファイルを作成して、流し込んでいきます。

LDAPはまた元気なときに詳細をまとめよう。

Forward Proxy Server (tinyproxy)

最後はProxyです。Forward Proxyといえば、Squid?ですが、小規模環境ということで、お手軽、ミニマムなtinyproxyを使います。

設定ファイル(/etc/tinyproxy/tinyproxy.conf)では、Proxyを使用しないローカルのアドレスと、それ以外を転送する上位のProxyがあれば、それを設定します。接続を許可するネットワークも設定しておきます。

no upstream ".imokuri.local"
no upstream "192.168.183.0/24"
upstream proxy.example.com:8080
Allow 192.168.183.0/24

終わりに

これで、何か検証のため、サーバを作るとなっても、ホスト名のドメインどうしよう、、とか迷わずに済みますね。

他に、あれば、助かるものあるかなぁ。メールサーバとかかなぁ。