RSS

初出:2008年3月20日 10:07

MacBook Airを買って、環境を整え、それでもひとつだけ使いにくかったのが、自宅のファイルサーバのマウント。 家にいるときは、より高速なインターナル(プライベート)IPで接続するんだけど、そのまま外に持ち出すとIPを見失ってアンマウントされてしまう。当然と言えば当然。そのため、たとえばfile.wonderwall.netとドメイン指定でマウントすると、家にいるときは192.168.1.2というプライベートIPで繋がって、そのまま外に持ち出すとfile.wonderwall.netがグローバルIPで認識してくれれば言うこと無し。

これはDNSの設定で何とかなるんじゃないかと思い、その筋の方に聞いたところ「若人よ、それはBIND 9でサポートされているVIEW機能を使うのじゃ」と教えを授かりました。詳しいサイトはここ。で、下のような設定にしました。

◎named.conf

acl localnet {
192.168.0.0/16;
127.0.0/8;
};

view "internal" {
match-clients { localnet; };
zone "wonderwall.net" in {
type master;
file "wonderwall.net_int.zone";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "db.192.168.1";
};
zone "0.0.127.in-addr.arpa" IN {
file "db.127.0.0";
type master;
};
zone "1.16.172.in-addr.arpa" IN {
file "db.172.16.1";
type master;
};
zone "localhost" in {
file "localhost.zone";
type master;
};
};

view "external" {
match-clients { any; };
zone "wonderwall.net" in {
type master;
file "wonderwall.net.zone";
};
zone "247.213.202.in-addr.arpa" IN {
file "db.202.213.247";
type master;
};
};

◎wonderwall.net_int.zone(変更点のみ)

mail IN A 192.168.1.2
smtp IN A 192.168.1.2
file IN A 192.168.1.2
Googleさんは、この記事をこう解釈しました

記事の詳細ページ

記事の全文を表示します。関連するコメントやトラックバックなどもこちらからどうぞ。

本日のBGM

★印があったら「これは聴いてみてほしい!」という推薦曲です。曲名をクリックするとiTunes Storeへジャンプします。

'; // loop through the songs in the array and get 4 fields that I want to see foreach ($songs as $song) { $output .= '
  • '; if ($song["Rating"] == 100){ $output .= ''.$song["Rating"].''; } $output .= '
    '; $output .= '
    '.$song["Name"].''; $output .= '
    '.$song["Artist"].''; $output .= ''.$song["Album"].''; if ($song["Year"]){ $output .= '('.$song["Year"].')'; } $output .= '
  • '; } // end the table $output .= ''; // show my new table print ($output); } ?>

    Now & Then

    Twitter Updates

      OAuthRequest('https://api.twitter.com/1.1/statuses/user_timeline.json','GET',array('screen_name' =>$search_word,'count' =>'3')); //Jsonデータをオブジェクトに変更 $oObj = json_decode($vRequest); //var_dump(json_decode($vRequest)); //オブジェクトを展開 for($i_tweet = 0; $i_tweet < sizeof($oObj); $i_tweet++){ $screen_name = $oObj[$i_tweet] -> {'screen_name'};//ユーザーID $profile_image_url = $oObj[$i_tweet] -> {'profile_image_url'};//プロフィール画像のURL $text = $oObj[$i_tweet] -> {'text'};//ツイート $date = $oObj[$i_tweet] -> {'created_at'};//時間 $tweet_time=strtotime($date);//Unixタイムスタンプ形式に変換 $now_time=time();//現在の時刻をUnixタイムスタンプで取得 $relative_time=$now_time-$tweet_time;//つぶやかれたのが何秒前か if($relative_time<60){//ss $displayTime = $relative_time.'秒前'; }elseif($relative_time>=60 && $relative_time<(60*60)){//mm $displayTime = floor($relative_time/60).'分前'; }elseif($relative_time>=(60*60) && $relative_time<(60*60*24)){//hh $displayTime = floor($relative_time/(60*60)).'時間前'; }elseif($relative_time>=(60*60*24)){//日付 $displayTime = date('n月j日',$tweet_time); } //表示 echo '
    • ' . $text .'' . $displayTime . '
    • '; } ?>
    follow me on Twitter