mac – bluegold https://blog.bluegold.me OpenSolaris と MacBook で自宅ネットワークを構築するメモ Sat, 06 Aug 2011 16:08:37 +0000 ja hourly 1 https://wordpress.org/?v=5.2.1 6047458 AirMac Extreme で困った事 https://blog.bluegold.me/2011/08/problem-of-airmac-extreme/ https://blog.bluegold.me/2011/08/problem-of-airmac-extreme/#respond Sat, 06 Aug 2011 16:08:37 +0000 http://blog.bluegold.me/?p=627 AirMac Extreme に買い替えてみた

自宅でルーターとして使っていた安物の無線LAN AP の調子が悪く、頻繁に落ちるようになったので、新しい物に買い替えました。

EAP-TLS の実験もしたかったので、今回は AirMac Extreme にしてみました。

AirMac Extreme はアップル製だけあって設定は簡単で、802.1X EAP-TLS で認証をさせても安定しているようです。それはいいのですが。。。

困った事

アップルの製品は設定が簡単でいいのですが、設定項目が少なく、アップルの想定している使い方からちょっとでも外れるとどうにも出来なくなる事があります。

今回も2点ほど困った点があったので、メモしておきます。

  1. ローカル側のIPアドレスが変更できない。

    AirMac Extreme をルーターとして使用する場合、ローカル側の IPアドレスが 192.168.0.1 のように末尾が 1 に固定されていて、変更することができません。
    ローカルのIPアドレスを設定できないネットワーク機器なんてあるはずないと思い、方法を探してみましたが、解決策は無いようでした。

    うちのネットワークは、これまで 192.168.0.254 のように 254 で終わるアドレスをデフォルトゲートウェイにしていたので、このアドレスが変わると固定アドレスを持っているたくさんのサーバーたちの設定も変更する必要が出てきてめんどくさいんですよね。

    しかたないので、常時起動している Linux に 254 のアドレスを割り当てて、ICMP redirect で正しいデフォルトゲートウェイのアドレスを通知するようにしました。(ついでにキャッシュ用のネームサーバーも立てました。)

    最初は OpenSolaris に ICMP redirect を投げさせようとしたんですが、なぜか出来なかった。。。

  2. ftp のポートマッピング(NAT)で標準以外のポートを使えない

    他の人とデータのやり取りをする為に ftp サーバーを立てていますが、標準のポートで起動させておくと勝手にログインしてこようとする人たちがたくさんいます。パスワードとログの管理がめんどくさいので、これまではルーターで標準以外の別のポートから NAT させていました。

    AirMac Extreme でも同様の設定をしてみたのですが、接続できません。

    アップルのフォーラムでも同様に困っている人はたくさんいるのですが、やはり解決策は無いようでした。

    いろいろと試してみた結果をまとめると

    • ftp 以外の NAT は予想した通りに動作する。
    • プライベートTCPポートを 21 にして、パブリックTCPポートが21以外だと、ルータで止められる。
    • プライベートポート、パブリックポートの双方を 21にすると接続できるようになる。
      ただし、FTP のデータポートを正しく扱えなくなるので、実質的に使えない。

余談その1

実験中に OpenSolaris で動かしている ftpサーバーのポートを変えようとしたが、inetadm ではポートを変更する方法がなかった。。。

しかたがないので、/etc/services を修正して対応。。。

余談その2

Mac OS X 10.7 Lion で EAP を使う場合の設定方法がものすごくシンプルになりました。

どこかで見た事あるなぁ、と思ったら iOS と同じになったみたいです。

]]>
https://blog.bluegold.me/2011/08/problem-of-airmac-extreme/feed/ 0 627
Snow Leopard: crontab が編集できない https://blog.bluegold.me/2010/01/crontab_temp_file_must_be_edited_in_place/ https://blog.bluegold.me/2010/01/crontab_temp_file_must_be_edited_in_place/#respond Tue, 05 Jan 2010 03:30:39 +0000 http://blog.bluegold.me/?p=319 昨年の後半は、勤めていた会社の経営が傾いたのをきっかけに、退職して新しい会社の立ち上げに参加したり、自分自身も引越しをしたりと、なかなかブログを更新する時間が取れませんでした。新年になり、ようやく全てが落ち着いてきました。

仕事のほうも、しばらくは自宅で開発作業を行うので、今までよりはブログに時間をかけられるんじゃないかなぁ。

自宅に仕事の環境を整えるために、年末年始は4台のPC(PCサーバ2台を含む)のセットアップを行っていました。4台といっても中身は Xen, Solaris Zone, VirtualBox で仮想化してるので時間はかかりました。

OpenSolaris でファイルサーバを作ったので、MacBook の開発環境のバックアップも定期的にそちらに残そうとcrontab -eで編集して保存したところ、意外なエラーが帰ってきました。

crontab: temp file must be edited in place

これまでも Mac で crontab の編集は行っていましたが、エラーになったのは初めてです。

メッセージからすると、vi で編集後のファイルの i-node が変わっているのが原因っぽいですが、.vimrc はもう3年くらいずっと使っているもので大きく変えたりはしていません。Google に聞いてみると以下の設定を追加すれば大丈夫だとの記述を発見しました。

set nowritebackup

が、私の環境ではこの方法ではダメでした。

次に見つけたこのサイトを参考にしたところ、crontab の編集ができるようになりました。

set backupskip=/tmp/*,/private/tmp/*

/private/tmp があるので、この人も Mac を使っているんでしょうね。

]]>
https://blog.bluegold.me/2010/01/crontab_temp_file_must_be_edited_in_place/feed/ 0 319
Snow Leopardのインストールエラー https://blog.bluegold.me/2009/08/snow-leopard-install-dvd-error/ https://blog.bluegold.me/2009/08/snow-leopard-install-dvd-error/#respond Sat, 29 Aug 2009 08:21:13 +0000 http://blog.bluegold.me/?p=253 昨日は Snow Leopard の発売日だったので、会社帰りに渋谷のアップルストアに行って購入してきました。アップルストアはちょうど何かのイベントが始まるところだったらしく、人がいっぱいでレジがどこかも分からない状態でした。無事に購入して家に帰ったのですが、ちょっと予想外の事態になりました。

今までは新しいバージョンがでる度に Mac を買い替えていたので、OS のアップグレードは初めてですが、インストールは何回か行った事があるので、それほど心配はしていませんでした。

OSのアップグレードなので、何があっても大丈夫なように Time Machine でバックアップを取ります。それから SIMBL や MenuMeters などの怪しそうなソフトを止めてから、Snow Leopard の DVD を挿入してインストールを開始しました。

インストールが始まって「残り45分」と表示されたので、本でも呼んで時間をつぶしてようと思ったのですが、2分ほどでエラーが表示されて止まりました。

メッセージは以下の通りです。

install DVDが読み込めませんでした。
注意してディスクを清掃してから、もう一度インストールしてみてください。

DVDを取り出して見ても(新品なんだから当然だが)汚れなんかは付いていない。再度インストールを試してみても、やはりエラーで終了。DVDドライブの調子が悪いのかと別のDVDを入れてみてみても問題なし。

DVDから起動してみたら何か変わるかと思い、インストールログを表示させながら試したところ、何個かの pkg ファイルのコピーに失敗しているのが分かりました。何回か同じ手順でやってみたところ、エラーになるファイルは毎回異なっているようでした。

なら、プリンタドライバや言語等のパッケージを選択せずに、可能な限り少ないパッケージ数でインストールすれば大丈夫かも、と考えやってみたところ、無事にインストールが完了しました。

この時点で夜中の2時を回っていたので、そのまま寝てしまいました。

Google先生で調べてみると、同じような問題は「ファミリーパック問題」として、たくさん報告されているようです。うちはファミリーパックではなくて、ふつうのパッケージでしたが。私と同じようにパッケージ数を絞ってインストールに成功している人も多いようです。

「インストールに苦労しても、使えればいいや」と思っていたのですが、問題がたくさん見つかりました。やはり正常にはインストールできていなかったようです。今のところ気がついている問題点は

  • Mail が起動しない
  • iPhotoが起動しない
  • iCal がどこにも存在しない
  • QuickSilver(10.6用にバージョンアップ済み)が動かない
  • カレンダーの Bashboard ウィジェットの表示が変

くらいかな。

いくつかのアプリが起動しない原因は同じで、DAVKit.framework の読み込みに失敗して起動できない。
実際のエラーメッセージは以下の通り。

Dyld Error Message:
  Library not loaded: /System/Library/PrivateFrameworks/DAVKit.framework/Versions/A/DAVKit
  Referenced from: /System/Library/Frameworks/CalendarStore.framework/Versions/A/CalendarStore
  Reason: image not found

たしかに、この場所にはファイルが存在していないです。
CalendarStore とも書いてあるので、iCal の CalDAV 関連にフレームワークなのかな、と想像しています。iCal が丸ごと消えているので、このパッケージのインストールに失敗したんでしょう。

DVD から iCal.pkg を取り出して展開して個別にファイルを置いてあげれば大丈夫かと考えてみましたが、iCal.pkg の読み取りはエラーになってしまいました。

月曜日にまたアップルストアに行って交換してくるしか無いかなぁ。

]]>
https://blog.bluegold.me/2009/08/snow-leopard-install-dvd-error/feed/ 0 253
Safari4 でフラッシュが使えない https://blog.bluegold.me/2009/06/safari4-and-safaristand-breaks-flash/ https://blog.bluegold.me/2009/06/safari4-and-safaristand-breaks-flash/#comments Thu, 11 Jun 2009 02:35:41 +0000 http://blog.bluegold.me/?p=212 Safari4がリリースされたので、すぐにバージョンアップして問題なく使っていたんですが、WordPressの記事を投稿しようとして不具合を一つ見つけました。

画像をアップロードしようとしたところ「Flashアップローダー」のボタンが表示されていないので、おかしいなと思い他のページも見ていくと Akismet や WordPress.com Stats の統計も見れなくなっていました。

Safari4 ではプラグインが別プロセスになったので、その関係で Flash に影響が出てるのかな、と思い Google で調べてみましたが、同じような症状の人がいないみたいでした。

自分の環境特有の問題のようなので、設定とかプラグインを見ていくと SafariStand を外したところで、Flash が見れるようになりました。

原因が分かったので、開発元のサイトから Safari4 用のプラグインをダウンロードしてきて、無事解決しました。

他にも同じ現象になる人がいるかもしれないのでメモしておきます。

]]>
https://blog.bluegold.me/2009/06/safari4-and-safaristand-breaks-flash/feed/ 1 212
GnuPGでメーリングリスト宛のメールを暗号化する https://blog.bluegold.me/2009/01/gpgmail-gnupg-group/ https://blog.bluegold.me/2009/01/gpgmail-gnupg-group/#respond Wed, 07 Jan 2009 15:38:31 +0000 http://blog.bluegold.me/?p=159 gnupg

年末にGPGMailのRelease 1.2.0(v56)が出ていたので、さっそくアップデートしました。ベータの取れた正式版としては初めてLeopardをサポートするバージョンだと思います。

GPGMailは暗号化メールの送受信をおこなうといった意味では必要な機能を備えています。しかし、鍵管理などはGnuPGの機能をそのまま使っているため、GnuPG自体の知識が必要となります。各ユーザの鍵に関してはMacGPGプロジェクトのGPG Keychain Accessを利用すればGUIから管理することができるようになりますが、メーリングリストのアドレスに複数の鍵を対応させるような設定はGUIからはできません。

日本語での情報がほとんど無いようなのでメモしておきます。

GnuPGでメーリングリスト宛てのメールを暗号化する場合の考えたかにはいくつかあるとは思いますが、基本的には「メーリングリストのアドレス専用の鍵で暗号化する」か「メーリングリストに参加している個々のアドレスの鍵で暗号化する」かのどちらかです。前者は送る側も受け取る側も通常のメールアドレス用の鍵と同じように扱えるため非常に簡単ですが、メーリングリストのメールを受け取る全てのユーザが同一の鍵を共有する事になるのでセキュリティ上の問題があります。通常は後者を選択する事になると思います。

この方法ではメールの送信者(つまりメールを暗号化する側)が、メーリングリストに参加している各ユーザの実際のメールアドレスをあらかじめ gpg.conf に設定しておく必要があります。

たとえば、ml@example.com というアドレスがメーリングリストで、実際には user1@example.com, user2@example.com の2つのメールアドレスに配信される場合、~/.gnupg/gpg.conf に以下のような記述を行います。

group   ml@example.com = user1@example.com user2@example.com

アドレスはスペース区切りです。アドレスの数が多くて1行に書ききれないような場合は、以下のように複数の行にわけて記述する事ができます。

group   ml@example.com = user1@example.com user2@example.com ...
group   ml@example.com = user20@example.com user21@example.com

この設定はMacGPGの GPGPreferences でも設定可能と言えば可能ですが、gpg.conf を直接編集するのと難易度はあまり変わらないように思います。

]]>
https://blog.bluegold.me/2009/01/gpgmail-gnupg-group/feed/ 0 159
POPFileを使用してGmailのラベルを設定する https://blog.bluegold.me/2008/12/gmail-imap-popfile-leopard/ https://blog.bluegold.me/2008/12/gmail-imap-popfile-leopard/#respond Thu, 25 Dec 2008 15:20:25 +0000 http://blog.bluegold.me/?p=153 今週から会社のメールがGoogle Apps for Your Domainに移行しました。今までのメールサーバはPOP3しか使えなかったのですが、Gmailに移行したのを機にIMAP4を使ってみることにしました。
私は主にLeopardのMail.appを利用してメールを読んでいるので、Googleの公式のヘルプにある通りの手順で簡単に設定することができます。

ただ、このままだとGmailが「迷惑メール」と判断したメールがMail.appでは未読メールとして表示されたり、Mail.appでメールを削除した際にGmailのゴミ箱に移動されずに「Deleted Messages」ラベルが付けられる、などの問題が発生します。そこで、Gmail側の「迷惑メール」フォルダなどにMail.appで「メールボックスの用途」を設定しました。これでメール管理をMail.app側に統合化する事ができ、便利に使えるようになりました。

POP3でメールを読んでいた頃はPOPFileを利用して、迷惑メールのフィルタやメールの振り分けを行っていました。Gmailには迷惑メールのフィルタ機能が元から備わっていますが、メールの振り分けをPOPFileほどは柔軟に設定できません。たとえば、会社のメールアドレスには誰かが全員用のエイリアス用に購読したNikkei BPやキーマンズネットのニュースがたくさん送られてくるのですが、単純なルールでこれらをまとめて「ニュース」フォルダに振り分けるのは(ほぼ)不可能です。

そこで、POPFileをIMAP4の環境で使用する方法について調べてみました。

POPFileのIMAPモジュールはPOPモジュールと異なりプロキシではありません。そのため、POPFileを利用するのにメールクライアントの設定を変更する必要はありません。これは良いことですが欠点もあります。プロキシとして動作しない為に、サブジェクトを変更したりX-Text-Classificationヘッダを付加する事ができません。

IMAPモジュールはメールクライアントの動作とは無関係に定期的にIMAPサーバに接続し、メールの本文の内容を判断して適切なフォルダ(Gmailの場合はラベル)に振り分けます。IMAPモジュールはいったん設定を行うと後は自動的に処理を続けるロボットのようなプログラムなので、クライアントPCで動作させるよりは常時稼働しているサーバの上で動かした方が良いのかもしれません。

IMAPモジュールの使い方は公式サイトの説明にある通りですが、Leopard(Mac OS X)で使用するには注意する点がいくつかあります。(POPFile v1.1.0 を使用しています。)

imap.gmail.com

POPFile コントロールセンターの「設定」ページの「IMAPサーバー ホスト名」にGmailのIMAPサーバ名、imap.gmail.com を入力しても接続できずに、以下のエラーがログに残ります。

2008/12/25 23:48:08 10142: IMAP-Client: 136: IO::Socket::SSL error: IO::Socket::SSL: bind: Address family not supported by protocol family
2008/12/25 23:48:08 10142: imap: 1624: Could not CONNECT to server.
2008/12/25 23:48:08 10142: imap: 1493: Could not connect to server.

エラーメッセージをGoogleで検索すると、IPv6が関係しているエラーのようです。Leopard に固有の問題のようですが、「imap.google.com の AAAA レコードが見つかる為に IO::Socket::SSL がサポートしていない IPv6 で接続しようとしている」ためにエラーになっているらしい。将来のバージョンで修正されると思いますが、それまでのワークアラウンドを考えます。

要は、imap.gmail.com の AAAA レコードが見つかることが原因なので、たとえば、imap.gmail.com の(IPv4の)IPアドレスを調べて、それをIMAPサーバーのホスト名に設定したり、そのIPアドレスを逆引きして得られる実サーバのホスト名を設定すれば、とりあえず使用できるようになります。(今、私の環境から調べるとrv-in-f111.google.comです。)ただ、imap.gmail.comを構成する多数のサーバの中の1台にしか接続できなくなるため、そのうち接続出来なくなるかもしれません。

日本語のIMAPフォルダ名

IMAPモジュールではPOPFileのバケツ毎に振り分けるIMAPのフォルダを設定する必要があります。この設定はPOPFile コントロールセンターの「設定」ページから行いますが、このページは日本語の IMAPフォルダ名に対応していません。たとえば、「迷惑メール」フォルダは「&j,dg0TDhMPww6w-」と表示されます。これは modified UTF-7 というエンコーディングだそうですが、このままでは振り分けるべきフォルダがどれなのかが分かりません。

これも将来のバージョンで修正されると思いますが、当面は以下のような方法で調べるしかないようです。

$ irb -rnet/imap
irb(main):001:0> %w(迷惑メール 下書き 送信済みメール ゴミ箱).each {|key| puts "#{key} -> [Gmail]/#{Net::IMAP.encode_utf7(key)}"}
迷惑メール -> [Gmail]/&j,dg0TDhMPww6w-
下書き   -> [Gmail]/&Tgtm+DBN-
送信済みメール -> [Gmail]/&kAFP4W4IMH8w4TD8MOs-
ゴミ箱   -> [Gmail]/&MLQw33ux-

]]>
https://blog.bluegold.me/2008/12/gmail-imap-popfile-leopard/feed/ 0 153
Mac OS X 10.5.6 と GPGMail https://blog.bluegold.me/2008/12/leopard-1056-gpgmail/ https://blog.bluegold.me/2008/12/leopard-1056-gpgmail/#respond Tue, 16 Dec 2008 15:48:47 +0000 http://blog.bluegold.me/?p=127 Mac OS X 10.5.6 が出ていたので、さっそく適用してみました。
アップデート後もしばらくは何の問題も無く使えていたのですが、Mail.app を起動したところクラッシュ。
再度実行したら、またクラッシュ。

クラッシュした時のメッセージを良く読んでみたら、原因が書いてありました。

アプリケーション Mail は予期せず終了しました。この問題は GPGMail プラグインが原因である可能性があります。

GPGMailは Mail.app用の GnuPG のフロントエンドで、会社でやり取りするメールの暗号化に使っています。アップデートを探しに開発元のSen:TEのサイトを見てみた所、

IMPORTANT: You need at least GPGMail d55 since MacOS X 10.5.6; previous versions of GPGMail will crash Mail.

と、とっくに対応されていました。

最新の GPGMail に入れ替えたところ、Mail.app が正常に起動するようになりました。

]]>
https://blog.bluegold.me/2008/12/leopard-1056-gpgmail/feed/ 0 127