DHCPv6を試してみた。。。その1

ようやくL2が安定したようなので、DHCPv6をもう少し試してみます。
DHCPv6理解していません!なので試すだけ。

vyattaをDHCPv6 serverにする場合と、vyattaをDHCPv6-relayにする場合を試してみた。
iPhone(IOS5)もMac(Lion)もとりあえずアドレス取得とDNS serverの取得もできました。

しかし、ブラウザとか使ってアクセスすると一時アドレスを使っている。。。
DHCPv6で割り当てられたアドレスを使ってくれない。。。そんなもの?
iPhoneもWindows7も、Lion君も同じだったので、一時アドレスが強いってこと?
うーん。これじゃ意味がないんだよな。。。

とりあえず、メモ。

■vyattaをDHCPv6 serverにする
RAでm/oフラグをon/onにします。

interfaces {
 ...
 bridge br2 {
   ...
   ipv6 {
     ...
     router-advert {
        ...
        managed-flag true
        other-config-flag true
        prefix 2001:470:xxx:yyy::/64 {
          ...
        }
        ...
      }
    }
  }
}

service {
  ...
  dhcpv6-server {
    shared-network-name homev6 {
      subnet 2001:470:xxx:yyy::/64 {
         address-range {
            start 2001:470:xxx:yyy:beef::100 {
              stop 2001:470:xxx:yyy:beef::200
         }
      }
      domain-search pman.biz
      name-server 2001:470:zzz::111
    }
  }
...
}

m/oフラグをoff/onにした場合は、DNS serverのアドレスを取得できませんでした。
IPv6アドレスは割り当てられないのは、mフラグがoffなので良いのでしょう。。
パケットを見ていると、clientからmessage type: Information Requestが飛んで、
ReplyのパケットにDNS Serverアドレスの情報が空っぽ。。。
※どちらが悪いのか、またはこれが正しいのかは謎。。。調べる気はまだない。

m/oフラグをon/onにした場合は、DNS serverのアドレスも取得できました。
パケットを見ていると、clientからmessage type: solicit飛んで、Replyのパケットに
IPv6アドレスとDNS Serverの情報が入っていました。
これが正しい動きなのかな。。。

■vyattaをDHCPv6 Relayにする (DHCPv6サーバは別サーバ上でiscのdhcp 4.2.3を稼働)

interfaces {
 ...
 bridge br2 {
   ...
   ipv6 {
     ...
     router-advert {
        ...
        managed-flag true
        other-config-flag true
        prefix 2001:470:xxx:yyy::/64 {
          ...
        }
        ...
      }
    }
  }
}

service {
  ...
  dhcpv6-relay {
    listen-interface br2 {
    }
    upstream-interface eth1 {
      address 2001:470:zzz::111
    }
  }
...
}

DHCPサーバ(4.2.3)の/usr/local/etc/dhchpd6.confは、こんな感じ

...
subnet6 2001:470:zzz::/64 {
  deny unknown-clients;
}
subnet6 2001:470:xxx:yyy::/64 {
  range6 2001:470:xxx:yyy::beef:100 2001:470:xxx:yyy::beef:200;
  option dhcp6.domain-search "pman.biz";
  option dhcp6.name-servers 2001:470:zzz::111;
}

こちらも当然、m/oフラグは同じ挙動。。。m/oフラグはon/onにしないとダメみたい。

Lionの/etc/resolv.confにIPv6のDNS serverも加わっている!

$ cat /etc/resolv.conf
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
search pman.biz
nameserver 192.168.xxx.111
nameserver 2001:470:zzz::111

iPhoneで確かめる方法がわからないけど、DNS serverのアドレスが割当たっているのがなんとかわかる。。。

DHCPv6アドレスを使ってアクセスするようにするにはどうすればいいんでしょう。。。
クライアントに手を入れるなんてことは避けたい。。。
DHCPv6でstaticにIPv6アドレス振る方法も後々試そう。。。

 

Jailbreak on iPod 1st

iPod touch 1stを所有しているのですが、iOS4へのアップグレードもできないし、すでにiPhone 4もゲットしているため、iPodは眠ったままでした。

タッチラボでiOS4も一発で脱獄できるようになったようです。
iPod touch 1stを久々にJailbreakしました。

sysctlでinet6が見つからない。。3.1.3系ではipv6は無理なんですね。。。
スタックくらいは実装しておいてくれればよかったのに。残念です。

このまま、iPod touchは安らかに眠りにつきそうだ。。。

 

Bumper返金


iPhone 4のアンテナ問題で、Bumperが無償提供するとの発表がありましたが、おいらは既に
購入済み。
appleから返金する旨、メールが届きました。(返金というより引き落とさないよ〜ってことだけど)

 

White Bumper for iPhone 4

White BumperをApple Storeで注文してから2日で届いた。
注文時は3週間として表示されていたのに。

Bumperは真っ白というわけではなく、ラバー部分はグレーですね。

外観は素に比べて、少しポップになった感じです。

本体裏側はこんな感じ。

 

CalDAVによるgoogleカレンダーとiPhoneの同期

GoogleはActive Syncに対応しており、iOS4はExchangeをサポートしているので、Active Syncを使う事でGoogleカレンダーとGmailの同期ができます。
この方法が一番シンプルなんでしょう。

iPhoneで会社のExchangeメールを使ってメールとスケジュールを同期していましたが、どうも同期が不安定だったので、なるべくExchangeの機能は使いたいくない。

おいらは、Googleカレンダーで複数のカレンダーを作っています。(仕事/遊び/…)
また、各カレンダーには色づけもしています。これらもちゃんと表示されるようになりますし、カレンダーを追加した際も簡単です。

[Gmail]
Gmailについては、imapを使うようにiPhoneで通常通り設定。

[Google カレンダー]
まずは、下準備。
https://www.google.com/calendar/iphoneselectにアクセスして、iPhoneで同期したいカレンダーを選択して保存しておきます。
下の画像はiPhoneでアクセスしていますが、通常のブラウザからでも問題ありません。

次にiPhoneでCalDAVの設定を実施します。
iPhoneのホーム画面から、 “設定” -> “メール/連絡先/カレンダー” -> “アカウントを追加” -> “その他”を選択します。
下の画面になるので、カレンダーの”CalDAVアカウントを追加”を選びます。

CalDAVアカウントを選択すると、下のような画面になるので、
各項目を記載します。

サーバ: www.google.com
ユーザ名: “@gmail.comの前の部分” (@gmail.comは不要です)
パスワード:自分のパスワード
説明:カレンダーとでも記載しておけばOKでしょう

以上で終わりです。
iPhoneでカレンダーアプリを起動して数秒待つと、アクセスを開始して
同期が始まります。

下の画像はappleからのものですが、こんな感じで表示&同期できます。

※カレンダー毎にCalDAV設定をするという方法もあるようですが、こちらの
方が簡単だと思います。