97 lines
3.2 KiB
Markdown
97 lines
3.2 KiB
Markdown
# Samba-ad-dc-ddns-docker
|
|
|
|
## 概要
|
|
|
|
Samba ad dcと連携するDHCPサーバーをDockerで気軽に利用する。
|
|
|
|
## 構築方法
|
|
### ダウンロード
|
|
|
|
このリポジトリからソースをダウンロードする。
|
|
|
|
```
|
|
git clone https://gitea.rohhie.net/rohhie/samba-ad-dc-ddns-docker.git ddns
|
|
cd ddns
|
|
```
|
|
|
|
### 動作条件を設定
|
|
#### コンテナ
|
|
|
|
docker-compose.ymlには、IPv4とIPv6の2つのコンテナを定義してある。
|
|
どちらか一方を利用する場合は、使わない方をコメントアウトしておく。
|
|
|
|
それぞれの動作条件を設定する。
|
|
|
|
| 変数名 | 設定内容 |
|
|
|------------|--------------------------------------------------------------------------|
|
|
| DHCPIF | 使用するネットワークインターフェースを設定。空白で区切って複数指定可能。 |
|
|
| DHCPSERVER | Samba AD DCのホスト名を指定。名前解決できる(はず)。 |
|
|
| DHCPDOMAIN | ドメインのFQDNを指定。 |
|
|
| DHCPDNSADM | DnsAdminsのユーザー名を指定。 |
|
|
| DHCPDBGFLG | "true"を指定すると、標準出力にデバッグ情報が出力される。 |
|
|
|
|
#### IPv4
|
|
|
|
v4ディレクトリにdhcpd.confがあるので、これを適宜書き換える。
|
|
|
|
#### IPv6
|
|
|
|
v6ディレクトリにdhcpd.confとradvd.confがあるので、適切に設定。
|
|
radvd.confでは、使用するネットワークインターフェースの設定があるので、環境変数DHCPIFとあわせて設定しておく。
|
|
|
|
#### Kerberos
|
|
|
|
krb5.confをSamba ad dcにアクセスできるように作成。
|
|
|
|
#### keytab
|
|
|
|
Samba ad dcでDnsAdminに所属するユーザーのkeytabを取り出す。
|
|
ホームラボでは、Samba ad dc立ち上げ時にssoauthというユーザーを作りDnsAdminにしたので、これを使っている。
|
|
新たにユーザーを作っても良いし、既存のユーザーを使っても良い。
|
|
```
|
|
<username>.keytab
|
|
```
|
|
という名前で保管しておく。
|
|
ホームラボではssoauth.keytabという名前で保管している。
|
|
|
|
#### dhcp-dyndns.sh
|
|
|
|
これは、Samba Wiki(https://wiki.samba.org/index.php/Configure_DHCP_to_update_DNS_records)にあるスクリプトをベースにして、IPv6の処理を追加している。
|
|
ユーザーはssoauthとしているので、DnsAdminのユーザー名に置換して使用する。
|
|
|
|
### ファイアウォールの設定
|
|
|
|
ファイアウォールを設定するスクリプトを実行する。
|
|
このスクリプトではIPv6のみ開放している。
|
|
IPv4は開放しなくてもうまく動いている。
|
|
|
|
```
|
|
sudo ./setufw.sh
|
|
```
|
|
|
|
何らかの理由で設定を解除するなら、以下を実行する。
|
|
|
|
```
|
|
sudo ./setufw.sh delete
|
|
```
|
|
|
|
### コンテナを起動
|
|
|
|
コンテナを構築して起動する。
|
|
|
|
```
|
|
sudo docker compose up -d --bulid
|
|
```
|
|
|
|
## その他
|
|
|
|
細かな設定手順や使い方は、メインサイト参照。
|
|
https://rohhie.net/samba-ad-dc-dynamicdns/
|
|
|
|
## ライセンス
|
|
|
|
MIT
|
|
|
|
ただし、dhcp-dyndns.shだけはソースコード参照。
|
|
変更点は原作に準じてGPL3.0以降とする。
|