トップ 最新 追記

本 日 の h o g e

hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。

更新情報の取得には rdflirs を使ってもらえると嬉しいです.


01/06/2016 [長年日記]

tDiary 4822日目

[Gentoo] Gentoo (OpenRC) で DHCPv6 client

ふと気付くと,DHCPv6 ready な環境であるはずなのに,手元のマシンに IPv6 アドレスが (linklocal 以外) 付与されていなかった. 何か特殊な設定必要だったっけなーと思って色々調べてみるも,どうにも何だか要領を得ない記述しか見当たらない.

仕方がないので,面倒だけど netifrc を改造して DHCPv6 client ready にした. 改造と言ってもインストール済みファイルを手で書き換えてパッケージシステムを否定するような悪行には手を染めたくないので,epatch_user を使って対処した.

# mkdir -p /etc/portage/patches/net-misc/netifrc-0.2.2
# cd /etc/portage/patches/net-misc/netifrc-0.2.2
# wget http://www.atzm.org/depot/netifrc-0.2.2-dhclientv6.patch
# emerge net-misc/dhcp net-misc/netifrc

こんな感じで,DHCPv6 client ready な netifrc をインストールすることが出来る. ただし DHCPv6 client は optional としてあるので,例えば下記のように設定を追加する必要がある. なお手元のマシンでは IPv6 アドレスを付与したい I/F がブリッジだったので,I/F 名は br0 になっている.

modules_br0="dhclient dhclientv6"
config_br0=("dhcp" "dhcpv6")
dhcpv6_br0="nodns nontp accept_ra autoconf"

modules_br0 や config_br0 は見たまんまなので割愛するとして,dhcpv6_br0 について.

nodns, nontp:
これらは素の dhclient でも指定可能なオプションで,例えば nodns は,/etc/resolv.conf に手を付けてくれるなよ,という指示を行うもの. v4, v6 で /etc/resolv.conf 等の上書き合戦を行われるのは気持ちが悪いので,v6 の方では明示的に切っている. 気にしない人は別に指定せずとも良い.
accept_ra, autoconf:
何かよく分からんのだけど,どうも OpenRC が強制的にブリッジインタフェースの net.ipv6.conf.br0.accept_ra とか net.ipv6.conf.br0.autoconf とかを勝手に無効化してくれやがるので,これらを指定することで有効化できるようにした. 対象がブリッジでなければたぶん必要ない.

ちなみに config_br0 が array になっているので OpenRC に毎度怒られることになるのだけれど,だからと言って dhcp と dhcpv6 をスペース区切りの文字列で書いても機能してくれなかった. しかし怒られることに快感を覚える諸兄にはむしろご褒美だと思うので,もはや深くは考えていない.

とか何とか書いた矢先に

dhclientv6: Add DHCPv6 support via dhclient という commit を見つけた.

けど 2013 年の commit が stable になってないってどういうことなの...