JoergFiedler.freebsd-jail-host
freebsd-jail-host
この役割は、1つ以上のジェイルをホストするために使用できるFreeBSDシステムを作成します。この役割と組み合わせて使用できるジェイル用の役割もあります。これを使って、複数のWordPressインストール、単一のメールサーバー、または必要なものをジェイル内で動作させることができます。
要件
この役割は、新しいFreeBSDインストールで使用することを意図しています。VirtualBoxおよびAWS用のプロバイダーを持つVagrant Boxがあります。
使い方
このプロジェクトにはVagrantfile
が含まれています。次のコマンドを入力してください:
vagrant up
これでクリーンなFreeBSDマシンが立ち上がります。手動でジェイルを作成するか、私が作成した他の役割を使用できます。
役割の変数
ネットワーク
host_net_ext_if
サーバーの外部インターフェース。デフォルト: '{{ ansible_default_ipv4.interface }}'
host_net_ext_ip
サーバーの外部IPアドレス。デフォルト: {{ ansible_default_ipv4.address }}'
host_net_int_if
ジェイルのIPアドレスを追加する内部インターフェース。デフォルト: lo0
host_net_int_ip
サーバーの内部IPアドレス。このアドレスは内部インターフェースにも追加されます。デフォルト: 10.1.0.1
host_net_int_net
ジェイルの内部ネットワークのネットマスク。UDPがpfを通過できるように使用されます。デフォルト: '10.1.0.1/24'
host_net_priv_if
ホスト用のプライベートネットワークインターフェースを構成するためにこの変数を設定します。インターフェースはDHCP経由で構成されますが、host_net_priv_ip
変数はDHCPリクエストから返された値に設定してください。デフォルト: ''
host_net_priv_ip
プライベートネットワークインターフェースで使用するIPを設定します。インターフェースはDHCP経由で自己構成されますが、DHCPリクエストから返されたIPをここにも追加する必要があります。デフォルト: ''
ディスク/ZFS/iocage
host_home_zpool_name
/home
に使用するZPool。デフォルト: 'tank'
host_ioc_release_version
iocageによって取得/使用されるFreeBSDのバージョンで、ホストのリリースバージョンがデフォルトです。デフォルト: {{ ansible_distribution_version }}-RELEASE
host_ioc_zpool_name
iocageで使用するZFSプールの名前。デフォルト: tank
host_ioc_zpool_devices
iocage(ジェイルのホーム)用のZFSプールを作成する場合に使用するデバイスの空白区切りリストを指定します。有効なデフォルトはありません。ZFSプールがすでに存在しない場合は指定が必要です。デフォルト: なし
host_srv_zpool_name
/srv
フォルダーに使用するZFSプールの名前。デフォルト: tank
host_srv_zpool_devices
/srv
フォルダー用のZFSプールを作成する場合、使用するデバイスの空白区切りリストを指定します。有効なデフォルトはありません。ZFSプールがすでに存在しない場合は指定が必要です。デフォルト: なし
SSH
host_sshd_authorized_keys_file
sshdユーザーを認証するために使用される公開鍵を含むファイル。デフォルトはvagrantの非安全な公開鍵: 'vagrant_pub_key'
host_sshd_port
sshdがリッスンするポート。デフォルト: 22
host_sshd_user
このサーバーにsshでアクセスする許可を持ったユーザー名。デフォルト: vagrant
SSMTP
この機能は、変数use_ssmtp
が設定されている場合のみ有効です。
ssmtp_auth_pass
SMTP AUTHを実行するために使用されるパスワード。空白の場合は認証なし。デフォルト: ''
ssmtp_auth_user
SMTPサーバーに対して認証するために使用されるユーザー名。空白の場合はSMTP AUTHなし。デフォルト: ''
ssmtp_mailhub
システムメールはこのメールホストに転送されます。詳しい情報はssmtpのマニュアルページを見てください。
デフォルト: 'mail.maildrop.cc'
ssmtp_rewrite_domain
ssmtpによって送信されるメールのドメイン部分はこの変数を使用して書き換えられます。詳しい情報はssmtpのマニュアルページを見てください。
デフォルト: 'maildrop.cc'
ssmtp_root
システムメールはこのアカウントに転送されます。詳しい情報はssmtpのマニュアルページを見てください。
デフォルト: 'freebsd-jail-host'
ssmtp_use_starttls
SSL交渉を開始する前にSTARTTLSを使用します。デフォルト: 'no'
ssmtp_use_tls
SMTPサーバーとの通信にTLSを使用します。デフォルト: 'no'
Tarsnap
tarsnap_enabled
バックアップにtarsnapを使用するにはこれをyes
に設定します。デフォルト: no
tarsnap_keyfile
tarsnapを使用してバックアップするためのキー ファイル。作成方法についてはtarsnapのドキュメントを参照してください。デフォルト: ''
パッケージリポジトリ
host_build_server_enabled
次の2つの変数で提供されているURLと公開鍵を使用して、/usr/local/etc/pkg/repos/
に追加のリポジトリを作成します。デフォルト: no
host_build_server_pubkey
ダウンロードされたパッケージを検証するために使用される追加リポジトリの公開鍵。デフォルト: なし
host_build_server_url
追加リポジトリのURL。デフォルト: なし
その他
host_use_syslogd_server
ローカルsyslogによって書き込まれたログメッセージを、ジェイル内のsyslogサーバーに転送するにはtrue
に設定します。host_syslogd_server
変数を使用してIPアドレスを指定します。デフォルト: false
host_syslogd_server
メッセージを転送するsyslogサーバーのIPアドレス。ホストされているジェイルの1つ内で実行されている必要があります。デフォルト: ``
host_timezone
サーバーの位置するタイムゾーン。デフォルト: 'Europe/Berlin'
依存関係
なし。
例のPlaybook
この役割を使用してEC2インスタンスを設定するためのデフォルトをオーバーライドしたPlaybookの例。
- hosts: all
become: true
roles:
- role: 'JoergFiedler.freebsd-jail-host'
作者情報
このプロジェクトに興味がある場合や改善案がある場合は、Githubで問題を開いてください。ありがとうございます。