Hatena::ブログ(Diary)

mtaneda’s diary このページをアンテナに追加 RSSフィード Twitter

2010-10-28

MacOS X で DHCPv6 を使った動的 IPv6アドレスの割り当て

Windows では、Vista 以降、DHCPv6クライアントが内蔵されていて、DHCPv6サーバが存在するネットワークに繋げば、

すぐにアドレスを取得することができるのですが、どうも MacOS X は対応していない様子です。

そこで、ISC の DHCPクライアント自動起動するようにして、MacOS X でも DHCPv6 を使っちゃいましょう。

MacOS X もちゃんと ra では IPv6アドレスをもらえるので、ネットワーク内でDHCPv6サーバが動いている特殊な環境人向けの設定ですね ;-)

ISC DHCPダウンロード

% wget http://ftp.isc.org/isc/dhcp/dhcp-4.2.0.tar.gz

ISC DHCPコンパイル

% tar xzf dhcp-4.2.0.tar.gz
% cd dhcp-4.2.0
% ./configure
checking for a BSD-compatible install... /usr/bin/install -c
・
・
・
config.status: executing depfiles commands
% make
Making all in bind
・
・
・
make[1]: Nothing to be done for `all-am'.

ISC DHCPインストール

% sudo make install

自動起動設定

% sudo mkdir /Library/StartupItems/dhclient/
Password:
% sudo cp client/scripts/macos /Library/StartupItems/dhclient/
% sudo -i
# cat > /Library/StartupItems/dhclient/StartupParameters.plist


<plist version="1.0">
  <dict>
    <key>Description</key>
    <string>dhclient</string>
    <key>Messages</key>
    <dict>
      <key>restart</key>
      <string>restarting dhclient</string>
      <key>start</key>
      <string>Starting dhclient</string>
      <key>stop</key>
      <string>Stopping dhclient</string>
    </dict>
    <key>OrderPreference</key>
    <string>Late</string>
    <key>Provides</key>
    <array>
      <string>dhclient</string>
    </array>
    <key>Requires</key>
    <array>
      <string>Network</string>
    </array>
    <key>Uses</key>
    <array>
      <string>Network</string>
    </array>
  </dict>
</plist>
^D
# cat > /Library/StartupItems/dhclient/dhclient
#!/bin/sh

. /etc/rc.common

StartService() {
  /usr/local/sbin/dhclient -6 -d -nw en0 -sf /Library/StartupItems/dhclient/macos &
  /usr/local/sbin/dhclient -6 -d -nw en1 -sf /Library/StartupItems/dhclient/macos &
}

StopService() {
  killall dhclient
  sleep 2
  killall -9 dhclient
}

RestartService() {
  StopService
  StartService
}

RunService "$1"
^D
chmod 755 /Library/StartupItems/dhclient/dhclient

スクリプト修正

/Library/StartupItems/dhclient/macos の 133行目、151行目、176行目、186行目、の ifconfig を /sbin/ifconfig にする。


あとは再起動すれば、DHCPv6でアドレスが取得できるとおもいます。

mzchmzch 2011/10/03 05:13 最新の 4.2.2 + Lion(?) では、ここにある https://gist.github.com/1157223 パッチを当てないとビルドできませんでした。ご報告かたがた。

mtanedamtaneda 2011/12/05 23:53 mzchさん

コメントありがとうございます。
返信が遅くなってすみませんでした。
参考にさせていただきます。