いきなりブチ切れに近い感じで。
- 今回DHCPv6サーバにするのはLinux(Debian GNU/Linux)
- ざっと持ち合わせてる知識だとwide-dhcpv6-server[1]かisc-dhcp-server[2]が良さそうなのだけど、wideの方はupstreamを見ても最後の更新が2009年なので使うのに気が引けてしまう(今はdibblerなのかな?)
- かと言ってisc-dhcp-serverがDHCPv6サーバとしてハンドリングしやすいかと言えばそんな事は全くなく、パッチをあてる[3]のが一番てっとり早そうという泥沼
という事で、普通のDHCP(v4)サーバみたくハンドリングできるようにソースパッケージにパッチをあててビルドしますorz。
isc-dhcp-serverをビルド、インストール
まず、当てたいパッチが4.2.4向けなので、現状4.2.4なtesting/jessieまたはsidをapt-get sourceできるように以下の行をapt-lineに追加します。
deb-src http://ftp.jp.debian.org/debian/ jessie main non-free contrib
# apt-get update
# apt-get build-dep isc-dhcp=4.2.4-7
# apt-get install devscripts
# exit
$ mkdir build_isc
$ cd build_isc/
$ apt-get source isc-dhcp=4.2.4-7
で、[3]のMessage142のisc-dhcp-server-ipv6.patchをダウンロードしてきます。ここでは~/Downloadsに保存したものとして、
$ patch -u -p0 < ~/Downloads/isc-dhcp-server-ipv6.patch
(patching file・・・がずらずらーっと出ればOK)
$ cd isc-dhcp-4.2.4/
$ debuild -uc -us
$ su
$ cd ..
# dpkg -i isc-dhcp-server_4.2.4-7_amd64.deb isc-dhcp-common_4.2.4-7_amd64.deb
でビルドしたパッケージのインストールは完了。
isc-dhcp-serverの設定項目
今回はDHCP(v4)サーバは設定せず、DHCPv6サーバだけ動かすので、そのように書き換えます。/etc/default/isc-dhcp-serverの以下の場所を書き換え。
- V4_ENABLED="true"を"false"へ
- V6_ENABLED="false"を"true"へ
- INTERFACES_V6=の行を"wlan0"へ(今回はwlan0でDHCPv6dを動かすので)
# touch /var/lib/dhcp/dhcpd6.leases
/etc/dhcp/dhcpd6.confを必要に応じて書き換える。
default-lease-time 2592000;
preferred-lifetime 604800;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;
allow leasequery;
option dhcp6.info-refresh-time 21600;
dhcpv6-lease-file-name "/var/lib/dhcp/dhcpd6.leases";
# RAとか範囲とか(うちの場合はRTX1100で配っているRA)
subnet6 fd00:dead:beef::/64 {
# 1000からffffまでをDHCPで配る対象にする
range6 fd00:dead:beef::1000 fd00:dead:beef::ffff;
# 固定IPアドレス
host kurobox-t4 {
host-identifier option dhcp6.client-id 00:03:00:06:00:16:01:xx:yy:zz;
# 固定で振るIPv6アドレス
fixed-address6 fd00:dead:beef::100;
}
}
ここで固定アドレスを振る対象の行の最後のパラメータですが(最後3オクテットをぼかしてますが)、これが弊ブログの別エントリで触れているDUIDになります。
この時点では生成をミスるとまずいと思ったので、wide_mkduid.plというスクリプトを使って生成しました。端的に書くと、MACアドレスの前に「00:03:00:06:」を付与したDUID-LL(hardware typeは6(IEEE 802 Networks))です。まぁ後々これでも不味かったことを思い知るわけですが。
なお、dhcpd6.confの書き方は[4]を参考にさせていただきました。
このエントリはここまで。
[1] http://packages.qa.debian.org/w/wide-dhcpv6.html
[2] http://packages.qa.debian.org/i/isc-dhcp.html
[3] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=592539
0 件のコメント:
コメントを投稿