Previous Topへ Next

OSXのtips4-10

今まで運用記録に書いてきたシステム運用のtipsを一カ所にまとめることにした。 要するに記事の量が当初の想定よりも多くなってしまい 私自身探すのが大変になってきたからだ。 ちょっとしたメモとしてのtipsも結構重要な情報になったりするので ここで項目を集めることにした。

anchor

AppleTVが突然切断される〜問題は無線LANかと思ったらそうではなかった〜またお前かTime Machine〜いやごめん、お前じゃなかった

先日来AppleTVが突然切断されて「共有ライブラリ無し」の表示なって止まってしまう症状が、ほぼ100%の確率で再現している。
ライブラリに使っているMac miniをチェックしているうちに接続は復帰して、しばらくしたらライブラリを読み込む。
ただ11分ほど音楽を聴いているとまた落ちる。

この原因を切り分けした。

まず疑われるのは無線LANの混線で接続が切れているケース。
AirMac、ターミナル、Mac mini、AppleTVを再起動かけたが改善しない。
AirMacユーティリティを起動して、無線LANのチャンネルを再設定。
2.4GHzのチャンネルが11ch固定になっていたのを自動にした。
5GHzは以前から自動だった。
この設定を見直したのは、昔一時期近所の無線LANとの混信で頻繁に切れるということがあったからだ。
でもやりながら多分効果がないだろうなと思っていたのは、Mac miniはイーサネットでAirMacに接続し、AirMacとAppleTVは5GHzで接続しているので2.4GHzは関係ないという点だった。

案の定改善しない。

手詰まりになってMac miniを観察していると、外付けハードディスクが結構な音を立てて止まってスリープに入ることに気がついた。

そこで省エネルギー設定を見たところ、コンピュータが15分でスリープする設定になっていた。
これは以前からこうだったはずだが、なぜかスリープに入ると接続も切れてAppleTVの接続が落ちるらしい。
この間無線LANは何も影響を受けないので、やはりMac miniとAppleTVの間のやり取りだけ切れているらしい。

そこで省エネルギー設定のコンピュータのスリープを「しない」に設定。

とりあえずこれで落ちなくなったが、問題はこうなった原因だ。
上記の通り、この設定は以前からこうだった。
しかし今までは別にAppleTVの接続が切れることは無かった。
スリープ中もバックグラウンドで通信はやっているらしかった。

それで例の外付けハードディスクだ。
これはTime Machineの専用ボリュームとして、常時マウントしていた。
これを外すのにまた、最近MacBook Proで悩まされているアンマウント失敗の問題が起きた。
いろいろ試して強制アンマウントに成功したので、引っこ抜くというところまでこじれなかったが、どうもTime Machineが何らかのストレスになっている気がした。

このTime Machineボリュームをいったん外して、スリープをまた11分に戻したところ今度はAppleYVとの通信は切れなくなった。 つまりまたしても悪さをしている大本はTime Machineということになる。

実は昨日からMacBook ProのTime Machineのディスクを新しいものに変えた。
これでどうなるか様子を見ることにした。

とりあえずAppleTVが切断される問題が起きたら、スリープを解除する〜これが対症療法的対応法。





AppleTV、Mac mini、AirMac一式再起動したがAppleTVが切れる問題が改善しない
そこでAirMacユーティリティを起動して無線LANのチャンネルを2.4GHz、5GHz両方とも自動に
以前近所の無線LANと混信して切れやすくなった時にこの方法で改善したからだ
しかし原因が無線LANが切れているのではないためこれは効果がなかった




そこで省エネルギー設定に入ってみると11分でスリープする設定になっている
どうやらスリープするたびに接続が切れているようだ
そこで今回はコンピュータがスリープしない設定にしたところ接続が切れなくなった
ただしこれは前からこうなっていたはずだ
試しに一度Time MachineのHDDをアンマウントして元の11分スリープに戻して
接続が切れるかテスト中だがどうも切れないみたいだ
つまりまたここでもTime Machineが悪さをしているということだ



<追記と訂正>
と思ったらTime Machineを外した状態でスリープを元に戻すと、また接続切れが再現した。
どうも今回はTime Machineは関係なかったようだ。
Time Machineさんすみませんでした…

で、原因なのだけど今回のiTunesとAppleTVのファームウエアアップデートのどれかが原因で、スリープ状態でバックグラウンド通信していた今までの仕様が変更になって、スリープすると切れる構成に変わったのかもしれない。

切れるタイミングを観察していると、スリープした時に切れるわけではないしどうも関係性がいまいちはっきりしないのだが、解除すれば切れなくなるのだけは確認している。




2012年12月5日









anchor

WiMAX導入でVPNが便利に使えるようになった〜出先から自宅Mac/PCをリモート、ファイル操作

自宅のMacなどを出先からコントロールするVPNをMacをVPNサーバー(LNS)としてアクティベートできるアプリを以前ここで紹介した。
VPN Activator

これを使ってiPhoneなどで、出先から3G回線を使って自宅Macをコントロールできる方法を紹介した。
iPhoneの3G回線で外部からMacをVPNでコントロールする

iPhoneでコントロールできるのも便利なのだが、やはり本命は出先でMacからすべてをコントロールしたい。
込み入った作業をするならMacの方が便利だからだ。
しかし今まではプロキシが咬んだ疑似テザリングで出先からはネット接続していたので、認証などの細かい問題がすっきりクリアできなくてVPNを完全に利用できていたとは言えなかった。

ところが以前にも書いたが、事情があってWiMAXを使うことになったので結局LTE移行も見送ったものの、Macの方も出先の波が飛ぶ場所ならどこでもネットにつながるようになった。
いやあこれは便利だ。
ネットに接続できるならVPNもフル活用したい…
これも意外なほど順調に進行した。

細かい手順の説明に入る前に、VPNで何ができるか説明したい。

そもそもVPNとは何かというと非常に簡単に言えば、自宅などのローカルネットワーク(Private Network)を仮想的にネット上に延長する(Virtual Private Network)がVPNということになる。
つまり自宅のLANでできることはすべてできる(理論上)ということになる。
それをネットでやるということは、自宅の機器のリモートをネットに預けるということになるのだが、何も安全策無しに預ければクラッカーの餌食だ。
もちろん「安全に」預けるということがこのVPNの要になる。

その具体的方法は図版を参照
それで何ができるかというと、VPNを通じて自宅のネットワークだけに許可されたネットワークに接続する、そこでのみ閲覧できるWebサイトを閲覧できる。
ファイルの共有も同じように利用できる。
さらにVNCやリモートデスクトップも利用でき、リモートを開いている機器の遠隔操作ができる。
出先からサーバーのメンテナンスの設定変更もできるし、Webサーバーのhtmlファイルを遠隔で編集して上書きができる。

私の場合自鯖で、Webサーバーを立てていてここでWebサイトの公開、WebDAVのサービスなども公開している。
一時期FTPサーバーも立てていた。
ここで問題なのはこの自宅鯖のWebサイトのディレクトリのファイル操作を外部からする方法が今までなかった。
内部のネットワークから共有を通じて弄るしか仕方がなかったのだが、VPNで外部から更新することができるようになった。
いままでFTPやWebDAVで外部からサイトのファイルをアップロードする方法を模索していたが、その時にいつもネックになっていたのはセキュリティの問題だった。

VPNを使うことでこの問題もクリアできたので、今後は自宅でないとサイトの更新ができないということは無くなった。

他にAppleTVなんかも同じノードのLANにつながっているので、これも出先から操作できないか実験してみたがなぜかこれはうまくいかなかった。
AppleTVは認証方式がまたVNCなんかとは違うようなのでつながらなかった。
これについては研究中だが、メディアサーバーを外から弄れてもあまり利用法がないのでちょっと後回し。





自宅のサーバー周り風景
上の段の一番右がモデム、その左がVPNサーバー(LNS)兼用のファイルサーバーのMac mini(Intel)
その隣がルータ兼用のAirMac Extreme、下の段がWebサイト、WebDAV等のサーバーのMac mini(G4)




ここに外部から接続するWiMAXのステータスをiPhoneからチェック
アンテナは2本と電波状況は良好といえない場所でも問題無く接続できた




物理的にはこんな風に接続されているWAN側からWiMAXを通じてDDNSで自宅のモデム経由、
AirMac Extremeのルータ経由でポートマッピングに従ってVPNサーバーのMac miniに接続、
そこからローカルネットワーク内のもう一台のWebサーバーのMac miniなどにルーティングされる




このようなネットワークをインターネットに公開するのは危険ではないかという疑問の答え
VPNとは図式化するならクライアントのMacBook ProからWAN、モデム、ルータも貫いてVPNサーバーの
Mac miniまでパイプを通すようなものでその中の通信は外からは一切見えず割り込みもできない
経路には多くのサーバが立っているがそこでは暗号化されたパケットが通過するのが分かるだけだ
VPNパススルーを可能にしたルータ、ファイアウォールをも貫いてVPNサーバのMac miniの
中で口を開いているので、もし外部から割り込むか盗聴するならクライアントのMacBook Proか
サーバーのMac miniを外部からクラックするしかないし、そこを守り切れば他は攻めようがない
その両端はいずれもルータやファイアウォールで守られているのでクラックする方法はない
またフィルタリングしているのはファイアウォールではなくクライアントとサーバーのVPNソフトなので
ピギーバッキング(正しいパケットに紛れ込んで侵入する手口)も不可能ということだ
それでVPNはトンネルとかパイプに喩えられる




自宅のネット環境は固定グローバルIPを持っていないが
こちらのDDNSサービスを利用してドメインを持っている
このドメインでVPNは利用できる
システム環境設定「ネットワーク」に入り左下の+ボタンでL2TPのVPNを追加する
サーバアドレスに固定グローバルIPかドメインを、
アカウント名はVPNサーバ側で設定した名前を設定する




L2TPの良いところはログインのパスワードとは別に共有シークレットという鍵を設定すること
L2TP自体がIPSecの中にL2TPの二重壁を構成するような物でこのような認証と組み合わされて
Microsoft標準のPPTPよりも安全性が高いネットワークになっている

anchor

VPN Activator
(Freeware)
OS10.6SnowLeopard対応OS10.7Lion対応OS10.8Mountain Lion対応

VPNサーバーは実はOSXにネイティブで実装されている。
デフォルトではアクティブになっていないがこのVPN Activatorを使ってGUIでアクティブにすることでMacOSXがVPNサーバーになる。

詳細な設定法はこちらのVPN Activatorの記事で取り上げたが、今回気がついたこと、設定を変えたところだけ解説する。

このアプリ自体は単なるアクティベーターなので、一度サービスをアクティブにすればこのアプリが起動していなくてもVPNサービスはOSXが起動している限り利用できる。
誰かのアカウントにログインしていない状態でも、常時サービスは生きている。





前回同様固定IPを振ったMac mini(intel)をVPNサーバにしたので
IPの4thオクテットは202〜203を設定、今回もGoogleのDNSのサーバードメインを使用
ここで設定したアカウント名、パスワード、共有シークレットが
先ほどのクライアントの設定情報になる
左下のスライドスイッチでサービスがアクティブになる
最近のバージョンはPPTPもサポートした




L2TPで必要なポートはUDPの500、1701、4500番なのでAirMacユーティリティ
ルータのAirMacにそれぞれ固定の202を使うMac miniサーバーにマッピングした
TCPの1723を開けているのはPPTPもクライアントとして使うためで今回の件とは無関係
なおIPの第4オクテット200番以降の固定IPに接続できないと
前に書いたが今回問題無く接続できている




ここまで設定がすんだらクライアント側のMacBook ProからまずVPNをつないでみる
ドメインやパスワードを間違えていなければここはあっさりつながるはずだ




また上のシステム環境設定ペインの「メニューバーにVPNの状況を表示」
にチェックを入れていればメニューバーアイコンでVPNをコントロールできる
ここからプルダウン一発で接続できる




リモートを取る場合はFinderで認識した相手側端末を選択、
「画面を共有」をクリックすることで相手のリモートを取れる




私は個人的にはScreenSharingMenuletを入れて
メニューバーアイコンから相手を選択してリモートを取っている




画面共有が起動して接続が始まる




接続に成功すると今度は相手側端末のログインパスワードを求められる




こうしてネット越しにVNCでリモート接続ができた
もちろん普通のMacと同じように地球の裏側のMacだって操作できる
OSXの画面共有はログインしていなくてもリモートが取れるので
こういう家族共用機兼ファイルサーバーなんて用途の時には便利だ




最初は何回かこういう表示が出るかもしれない
VPNは百発百中の確実なものというわけでもない




またVPNサーバーのMac mini自体につなぐとこのような表示が出ることがある
この場合は一度VPNを切断してつなぎ直してトライしてみる




これはWebサーバーのMac miniG4の画面も同時に取ったところ
このように複数のVNC接続が可能だ




そしてネットワーク上にWindows機があればもちろん
リモートデスクトップを利用してその端末のコントロールも取ることができる
あるいはWindowsPCにVNC Serberがインストールされていれば上記の手順で画面共有で接続も可能だ




次にネット越しにVPN経由でファイルのやり取りを可能にする
Finder上で見えていればフォルダをクリック、見えない場合は
コマンド+Kキーを叩いてサーバー接続のURLを入力して接続
URLはドメインではなくローカルIPでいいのはVPNがつながっていれば
もうステータス的にはローカルネットワークの中にいるのと同じことだからだ




接続が開始されたらこれもまたログインのパスワードを要求される




さらに共有ディレクトリがいくつかある場合は選択肢が出てくる




こうしてWAN越しに自宅の端末にファイルを渡したりもらったり
Webサイトのhtmlを直接エディットして上書きしたりなどが可能になる
つながってしまえばまさに自分のネットワークが外出先まで伸びてきたというイメージ
Windows機はひょっとしてつないだだけでは共有が見えないかもしれないが
上記のコマンド+Kで接続が可能だ



2013年1月6日









anchor

VPNとどこでもMy Mac〜どう違う?どっちが便利?〜それぞれのプリント手順も検証してみた

昨日Macを中心としたネットワークとWiMAXでVPNを利用して外部から自宅のネットワークを利用する方法を書いた。
WiMAX導入でVPNが便利に使えるようになった〜出先から自宅Mac/PCをリモート、ファイル操作

これを読んだ一部のMacユーザはきっと思ったに違いない。
「VPNってなんだか小難しそうだけど、そんなことしなくても『どこでもMy Mac』を使えば簡単なのに…」

これはある程度正しい。
実際コントロールしたい相手がMacのMountain Lionで動いているものばっかりだったら、VPNなんて考えなくても「どこでもMy Mac」で十分だと思う。

「どこでもMy Mac」とは何かをおさらい。
基本VPN(IPSec/L2TP)と同じものだ。
使っているポートもプロトコルもほぼ同じだけど、規格外のApple独自仕様が入っているのでVPNとは互換性はない。
ここいらの事情は.ibooksと.epubの関係なんかと似ている。

使い方はiCloudのチェックを入れてAppleIDのパスワードを入れる、あとはAirMacなどのルータにNAT-PMP(UPnP)を有効にするチェックが入っていない場合は入れる。
設定としてはこれだけ。
iCloudは最初からAppleIDでログインしているから、接続の時もリモートログインの時もパスワード認証を省略できる。
VPN/L2TPは2重の認証で入り口と出口で認証をいちいちやっているが、どこでもMy Macの場合はiCloudを利用していることで既に認証はすんでいるので、クラウド側でセキュリティ管理をしているというイメージか。

できることはほぼ同じでインターネット(WAN)越しにMacの遠隔操作ができたり、内部のファイルを操作できたりダウンロード、アップロード、上書きもできる。

できないことは相手がWindowsの場合、あるいはMountain Lion、Lion以外のOSを積んだMacの場合は接続できない。

VPNはリモート、ファイル操作だけでなくリモートでプリントができたりするがその手順も少し違う。
以下キャプチャーで説明。





まず「どこでもMy Mac」をアクティブにする手順を
システム環境設定共有に入って画面共有のチェックを入れる
リモートマネージメントが有効になっている場合は
これに画面共有は含まれているので特に変更は必要ない




同じくシステム環境設定iCloudに入ってどこでもMy Macにチェックを入れる
iCloudの認証をそのまま使うのでこれだけだが
初めて使う場合はAppleIDとパスワードを求められる




クライアント側のMacもiCloudどこでもMy Macのチェックを入れると
同じIDを使っているMacがFinderのサイドバーに見えてくる
これはローカルだけでなく地球の裏側にあるMacでも見える
これをクリックすると認証無しに共有が開き画面共有にも入れる
VPNとは違ってパスワードを求められないのがあっけないし
不安にもなるがこれは認証の考え方の違いの結果というところ




クライアント側のMacBook ProでWiMAXを使っていると「NAT-PMP」が入っていないから
動作が遅くなる可能性があると警告が出るがこれはどうにもならないので無視するしかない




どこでもMy MacはiPhoneのVPNからは接続できない
滅多に使うこともないから別に良いのだが有効にしていると
VPN/L2TPとコンフリクトを起こしてVPNも接続できなくなる
VPN使うならやはりどこでもMy Macは殺すということになりそうだ
Webサーバ用のMac miniはOSがTigerなのでやはりどこでもMy Macで接続できない
設定が簡単、認証を省略できるというわずかなメリットのために
VPNの汎用性を失うのは釣り合わないと思う
この規格もMac.comやmobileMeの様にいずれは消える規格だと思った



ということで自宅のシステムがMacのLion、Mountain Lionで統一されていて、出先でもMacBook Airなどで接続できる人にはどこでもMy Macはメリットがあると思った。
そういう人にはVPN/L2TPは必要ない。

メリットはなんせ設定が簡単で、チェックを入れてAppleID、パスワードを入れるだけでVPNサービスのアクティベーションがどうだの、予約NATでIP固定だの、ポートマッピングを設定しなきゃいけないがTCPじゃなくてUDPだよとか、そんなこと全く気にしなくていい。

残念な点は、Lion、MountainLion以外のMac、Windows、Linuxなどは蚊帳の外になること。
正直もう今はWindowsなどは無視できないと思うので、そういうところと共用できないのは厳しい気がする。
FTPをWAN経由でやるのはやっぱりセキュリティが不安なので、他人にのぞかれても別に問題無いファイルのやり取りにしか使えない。
Webサイトのhtmlのアップロードは悪用されるので問題があると思う。

ならVPNでやってしまえば良い。
うちの自鯖もG4のMac miniをサーバとして活用しようというテーマがあるので、OSをLion以上にアップデートすることができない。


以下はリモートでプリントを実行する手順を紹介する。
他のリモートプロセスはまだ試していないが、ドライバを使うプリントの手順がこうなら他も推して知るべしということだと思う。

そのうち、リモートでスキャナーも試してみたい。





VPN/L2TPもどこでもMy MacもようはWANの外側からつないで
あたかもローカルのネットワーク内にいるかのような操作ができるという理解だったので
単純に中で使っていたドライバで印刷できるのかと思っていたら…




このように「プリンタは接続されていません」の表示でプリント失敗
これはAppleTVに接続できなかった理由とも関係するのだがVPN(どこでもMy Macも)は
VPNルーティングのフィルターでBonjourのパケットを弾く仕様になっているようだ
これはVPN Activatorの作者さんもそういう現象があると書いていた
Bonjour経由の機器接続は一切不可能になるのはおそらくセキュリティ的な理由だろう




VPN/L2TP経由のプリンタはIP設定を使う
システム環境設定プリントとスキャンに入って
プリンタドライブリストの下の+ボタンで「追加」タグに入る
ここでIPを選んでプリンタのIPアドレスを入力しドライバを自動または手動で選択する
プロトコルはプリンタの種類によるが一般的なインクジェットはLPDで良いはず
頻繁に使うならプリンタのIPアドレスはNAT予約で固定に設定した方が良い




するとプリンタの選択プルダウンで先ほど設定した新しいプリンタドライブが見えているはず
名前を特に変更していなければIPアドレスの名前になっているのでそれを選択する




どこでもMy Macの場合はサーバ側のMacのどれかでプリンタ共有を開いておく
ここで接続権限を全員(EVERYONE)か特定のユーザだけかに特定することもできる
これがプリンタサーバになる




どこでもMy MacでもBonjourによりネットワークプリンタに直接つなぐことはできないが
接続先のMacがプリンタ共有を開いていればそのプリンタを使うことはできる
プリントタグに「近くのプリンタ」として見えているはずだ




ここにプリントするたびにパスワードを求められるがこれをクリアすればプリントできる
AppleIDを使っての認証はやはりうまくいかない
登録ユーザというのはプリンタサーバとして共有しているMacのログインユーザのパスワード




こうしてVPN経由、どこでもMyMac経由のプリントをやっていると
同じプリンタのドライブがいくつもドライブリストに並ぶことになる
ここらのネットワーク共有の事情を象徴している



2013年1月7日









anchor

handyPrintのPDF書き出し機能がなにげに便利

先日ここで紹介したhandyPrint (AirPrint Activator) はiPhoneやiPadなどのiOSデバイスから無線経由でネットワークプリントに印刷が可能な優れものアプリ。

iOS6からだっけ、iPhone、iPad、iPod touchなどのユーザはそのデバイスのアプリからAirPrint機能を使ってプリントアウトができるようになった。
めでたい。
めでたいのだが残念ながら、この機能が使えるプリンターの機種が非常に限られているため事実上ほぼ使えない機能になっていた。

ところがこのhandyPrint(旧姓 AirPrint Activator)のおかげでMacをiOSデバイスの母艦にしている人はネットワークで使えるプリントならどこの機種でもプリントアウトができるようになった。
これはすばらしい。
iPhoneやiPadからプリントアウトをすることはそんなにしょっちゅうあるわけではないが、しょっちゅうあるわけではないために、そういう必要が起こるとプリントしたい素材やURLをわざわざ自分宛にメールしたりなんだかばからしい気がしていた。

このhandyPrintのようなアプリのおかげで簡単にそういうことが可能になるので、私はドネーションしてライセンスを登録した。
詳細は上記リンク先で。

それで使ってみてもう一つ便利な機能があることに気がついた。
というか印刷できるという機能よりもこっちの方が重要かもしれない。

このhandyPrintの設定にチェック一つ入れるだけで、iPhone、iPadからPDFに保存できる。
保存先はhandyPrintのサーバになっているMacのデスクトップ(保存先は変更可)

iPadなどでつらつらWebを見ていて、見つけたものをちょっと保存しておきたいがプリントアウトするほどのものでもないという時に、これは便利かも。



システム環境設定handyPrintに入ってバーチャルプリンタータブに入る
ここの「Enable pront to PDF」のチェックを入れる
「Select destination folder」で保存先も指定できる




すると「Advertised pronters」のタブに「handyPDF…」
というもう一つのプリンタドライバが見える




iPhone、iPadなどのiOSデバイス側からAirPlayボタンをタップする
そこからプリンタの選択に入ると先ほどの「handyPDF…」という項目が見えているはずだ




それを選択してプリントボタンをタップする




するとhandyPrintサーバのMacのデスクトップなど指定の場所にPDFが生成される
Mac版のSafariで生成されるようなクリッカブルなPDFではないがメモ程度なら使える




Growlにも対応しているのでPDFが生成されたら通知されるのも便利



2013年1月8日









anchor

自分のIPアドレスを調べる〜ifconfig/ipconfigコマンドのこと〜ついでにホストを調べるarpコマンドのこと

自分のIPアドレスに今何が割り当てられているか調べるコマンドでWindowsには
ipconfig
というのがある。

ネットワークの設定をしている時に、そのPCのIPアドレスが必要になる時がある。
Macしか使わないユーザには想像しにくいことだが、WindowsにもGUIで自分のIPアドレスを確認するタグはあるのだがDHCP等の動的アドレスの場合、そこにIPアドレスは表示されていない。

そこで今現在のIPアドレスを確認する時にipconfigというこのコマンドを、コマンドプロンプトで実行する。





Windows7のネットワークプロパティの入り方になかなか
慣れないのでこれもメモ代わりに書き留めておく
コントロールパネルからネットワークと共有センターに入る
その左のメニューのVMWare環境なら「アダプターの設定の変更」に入る
ネイティブ環境だとここは違う表現になるのかもしれないが
ともかくここらの「設定変更」が旧ネットワークプロパティにあたる




そこにネットワークプロパティが見えているので
その中のローカルエリア接続のアイコンを右クリックする
そこでプロパティメニューをクリックすると
このローカルエリア接続のプロパティが見える
ここでIPv4を選択して右下のプロパティボタンをクリックする




固定IPが振られていたらここでIPアドレスを確認できるのだが
DHCPなど動的アドレスの場合は現在のIPは確認できない




そこで検索ウインドウにcmdと打ってコマンドプロンプトを呼び出す
ここにipconfigと打ってEnterするとこのように
現在のIP、サブネットマスク、デフォルトゲートウェイなどの情報を確認できる



Macの場合はシステム環境設定のネットワークを見ればDHCPであろうが、何だろうが現在のIPアドレスは確認できるので特に必要はないが、このipconfigに当たるコマンドがUNIXにも当然あるに違いないと思って調べてみた。
(というよりUNIXのコマンドを見てそれと同じ機能のものをDOSコマンドとして用意しているという順番の方が可能性が高いが…)

ipconfigがそのまま使えるのかと思ったら、よく見たら
ifconfig
だった。ほとんど間違い探しだなぁ…

それでifconfigコマンドを早速試してみた。





MacでTerminalを起動してifconfigと打ってみた
休止中のものも含めてネットワークカードなどのインターフェイスの状況を表示する
ステータスがアクティブになっている項目のIPアドレスが現在のIPアドレスということになる
全てを表示するifconfig -aというオプションもあるが表示は同じだった




前述のようにIPアドレス、サブネットマスク、
デフォルトゲートウェイ(Macではルーター)などの詳細は
システム環境設定ネットワークの該当ネットワークの詳細のTCP/IPのタブで確認できる
これはDHCPの動的IPの時でも同じなのでMacユーザはifconfigとか使う習慣がないのかもしれない




ちなみにMenu Metersなんかを使っていると
先ほどのifconfigの表示結果とほぼ同じ内容を日本語化したものを見ることができる
それでますますコマンドを使わなくなるかも…



ということでWindowsとUNIX(Linux)で自分のIPアドレスをどうやって調べるかというまめ知識かな。
以上の事情により、ネイティブなMacユーザ(つまり他の環境には触れようとしない人)にはほぼ無縁な世界ともいえる。

ついでにネットワークホストを調べるarpコマンドについても。





MacでTerminalを起動してarp -aと打ってEnterすると
同じセグメントにあるホストをMACアドレスと一緒に表示してくれる
ハードウエアのMACアドレスが分かっているなら他の機器が
今どういうIPアドレスで接続しているかを調べることができる




Windowsのコマンドプロンプトでもこのコマンドはそのまま使える
arp -aと打ってEnterするとセグメント内のホストのIPとMACアドレスが見える
こちらの場合はマルチキャストのローカルIPも見えている



2013年1月27日









anchor

自宅サーバのメンテナンスをちょっと簡略化してGUIへの負荷を軽くしてみた

Mac miniのG4/PowerPCを自宅鯖として使っていることはつとに取り上げているが、そのMac miniがGUIのクラッシュであえなく247日目にダウンした。
そのいきさつはこちら。
497日問題って対岸の火事と思ってたけど意外と深い問題なのかもしれない〜Mac miniサーバ連続稼働記録は247日でストップ

ただこの時もGUIはリモートから操作できなくなったが、その間もWebサーバーは正常に動いていたしWebDAVも問題なさそうだった。
VNC経由の操作だけがうまくいかないという印象だった。

ということはGUIを使わなければもっと長期間起動し続けるサーバが実現できるんじゃないか?…という悪い癖がまたムラムラとわき起こってきた。

そこでGUIでログインせずにコンソールでログインしてすべての操作をCUIでやることを考えた。
ところがこうするとTiger(OS10.4)で動いているMac miniの場合リモートを取れなくなる。
それはsshで取ればいいかと思い直したが、もうひとつWeb共有ディレクトリを常に監視するウイルス対策ソフトなどが無い。

勿論業務用のサーバセキュリティソフトを購入してインストールすればいいのだが、そういうことをしないでリアルタイムにウイルスなんかつっこまれた時にすぐ検知できるような方法は無いか…
別の検疫サーバを立ててそこからスキャンすることも考えたけど、ただでさえも非力なPowerPCのサーバをさらに常時マウント、常時スキャンの別のサーバを監視させるのはちょっと…

ということでやはりGUIではログインして従来のClamXav SentrySAVの組み合わせで常時監視することにした。

あまり面白みの無い結論だけど、これが一番安上がりで効果的な組み合わせということになるから。

ただそこに今までと同じようにVNCでログインして毎週メンテしてるんじゃ結局同じ負荷だから、VNCでログインは月に一回のメンテナンス以外では極力しないことにした。

そこでいままでGUIでやっていたSAVの手動アップデートは、自動アップデートが問題無く動いていることが確認できたので、自動に任せることにして確認は1〜2ヶ月に一回にした。
ClamXavの方は自動でアップデートはしてくれるがコンディションは常時見ておきたいので、これはsshでログインしてコマンドで実行することにした。

sshはMacのbashターミナルは標準でサポートしているので
ssh (ユーザ名)@(IPアドレス)
というコマンドを打てば、VNCとは関係なく遠隔で入れてコマンドで操作できる。
Mac同士だから使えるコマンドはMacのものがそのまま使える。

/usr/local/clamXav/bin/freshclam

で、clamのウイルス定義ファイルを更新する(パスが通っていればfreshclamだけでも更新できるかもしれない)
せっかくだから以下のコマンドでホームディレクトリのウイルススキャンもやっておく(これも同じくパスを通せばパス省略可)
/usr/local/clamXav/bin/clamscan -r --infected

WebサーバーなのでWebに公開している領域のスキャンもやっておく。
cd /Library/WebServer
でカレントディレクトリを移動しておいて同じコマンドをEnter
/usr/local/clamXav/bin/clamscan -r --infected

それとこれも月に一回程度のことだが、アクセス権の修復コマンドも実行しておく。
sudo diskutil repairPermissions /

これはGUIでいうところのディスクユーティリティのアクセス権修復と同じことをCUIでやっている。

それとせっかくだからSAVも週に一回程度ユーザ領域、Webサーバ領域の定時スキャンを設定した。

これらの負荷がかかっている時にWebサイトの読み込みをしてみたが、特に速度に問題は起きなかった。
この程度の負荷はどうってこと無いらしい。

先日実はツイッターの影響力がある人にサーバへのリンクを貼られて、一時的に読み込みが極端に遅くなったのだが、あの時はちょっと青くなった。
Twitter - ryoko174-
ということは彼女どんだけ影響力あるんだかwww

サーバの機能にはあまり関係ないが、メンテの時についでにやっていたキャッシュクリア、LocateDB再構築などのコマンドもその内調べて試してみる。
きっとあるはず。
キャッシュクリアはスクリプトかな。





サーバのメンテナンス手順を整理した
ssh (ログイン名)@(IPアドレス)でサーバのシェルにアクセスする
認証を終えたら/usr/local/clamXav/bin/freshclamと打ってclamavのウイルス定義を更新した




アップデートが完了したらユーザ領域をスキャン
/usr/local/clamXav/bin/clamscan -r --infected
というコマンドは感染したファイルだけを表示するコマンド




次にcdコマンドでライブラリのWebサーバ領域にカレントディレクトリを移動する
コマンドはcd /Library/WebServer




ここでも同じコマンドを実行、めでたく感染無し




さてシマンテックのSAVに関しては自動アップデートにお任せすることにした
また週一でユーザ領域とWebサーバ領域をスキャンするスケジュールを組んだ




自動スキャンの問題無しの表示はこんな感じ




あとは通常のメンテナンスとしてディスクのアクセス権の修復を実行
コマンドはsudo diskutil repairPermissions /
これはディスクユーティリティのアクセス権修復と同じ
これも頻繁にやる必要は無いけど半年もほったらかしにしておくと
相当ストレスがたまるので月に一回程度実行かな




sshを使うことにしてひとついいことはiPhoneやiPadを使って
出先からもメンテナンスや緊急操作ができること
アプリはiPhone、iPad版リモートシェルのvSSH Liteを使う
まずVPNで自宅につないであとはsshで接続する手順は同じ
Mountain LionになってからなぜかVPN越しのVNCは
受け付けなくなっていたがsshなら安定して接続できる




clamavのウイルス定義更新のコマンドを実行
定義更新もスキャンも自由に可能




アクセス権修復のコマンドも成功、勿論緊急時は再起動のsudo rebootコマンドも実行できる
シェルを使うメリットはコマンド打つのがめんどくさいのは最初だけで2回目からは
前回のコマンドを憶えているのでいちいちコマンドを打たなくていいこと
vSSHの場合は画面の左半分を上にタップスクロールすると過去のコマンド履歴を呼び出せる



2013年4月29日









anchor

ルーティングテーブルの切り方〜Windowsの場合、Macの場合<追記あり>

自宅ではあまりやることがないと思うが、ネットワークを複数セグメントに割ったり、複数アクセスポイントを設置したりするケースがネットワーク管理ではままある。

業務用のネットワークではむしろ普通にやるが、この場合のデフォルトゲートウェイとルーティングテーブルの設定の仕方について自分なりにメモ。

Macの場合、特にAirMacとかにルーティングをやらせている場合、家庭ではまずDHCPサーバ参照にするしそうするとネットワークの設定なんか触ることはまずない。
たまにWindowsユーザに
「デフォゲは何番ですか?」
と聞かれて
でふぉげ????
となるのが一般的なMacユーザだと思う。

デフォゲとはデフォルトゲートウェイのことで、別にWindowsの専門用語ではないのだが、ネットワークのそのセグメントのルート、外向きのゲートウェイを司っている端末のこという。

ルーティング(パケットの交通整理と理解すればいいか)をするのでたいていは専用機のルーターをここに置く。
AirMacもこの一種になる。
そしてたいていはセグメントの一番若い番号を割り当てる。

なので10.0.1〜で始まるローカルIPのネットワークの場合10.0.1.1、192.168.1〜で始まるネットワークの場合は192.168.1.1を割り当てる。
172.16.1〜の場合は…以下略。





1セグメント、1ゲートウェイのシンプルなネットワークの例
たいていの家庭、小規模事業所はこんな感じのネットワークになっていると思う
ルーティングを司るAirMacに内向きの10.0.1.1、
外向きのIPアドレス(インターネット接続などに必要なIP)を設定する
あとはLAN内に10.0.1.2から順番にIPが割り当てられていく
DHCPなら自動で割り当てだし手入力で固定IPを割り当ててもいい




この時にLANにつないでいるMacのネットワーク設定は
システム環境設定ネットワークで詳細に入ってする
この時にルーターの設定もする(手動の場合はだが)
これがWindowsでいうところの「デフォルトゲートウェイ」ということになる




例えばこういうケースがある
ローカルのネットワークは10.0.1.1をゲートウェイにしてWANにつながっている
これとは別のセグメントで172.16.3.1をゲートウェイとするネットワークがある
172.16.3.1は10.0.1.8というアドレスで最初のネットワークにも参加している
この別セグメント上の172.16.3.10というPCとWANと
両方に接続できるように10.0.1.14というMacBook Proを設定したい




またローカルネットワーク内にWANヘの別の出口がある
ひとつはPPPoEで普通にインターネット接続しており
もうひとつはVPNで特定のWAN二つながっている
この場合もほぼ上と同じ考え方になる




この場合デフォルトゲートウェイとは別のゲートウェイの設定が必要になる
これをルーティングテーブルという
Windowsの場合デフォゲとルーティングテーブルの表示はroute printというコマンドを
コマンドプロンプトに入力して表示する
上の赤線囲みは内蔵のNICのインターフェイス番号、下の囲みはデフォルトゲートウェイのIPだ




Windowsの場合のルーティングテーブルの設定
コマンドはroute -p add(パーマネントに追加)で
削除はroute deleteでできるので試してみる
オプションの順番はターゲットのネットワークの外向きIP、
サブネットマスク、ターゲットのルータのIP、
metricは接続の優先順位(若番が優先)NICがひとつしかない場合は
省略できるが次にif 0X2としてNICカードを選択することもできる




ルーティングテーブルが設定されるとPersistent Routesとして下にリスト表示される




Macの場合はどうするか
シンプルな方法はsudo route add -net 相手ネットIP -netmask サブネットマスク デフォゲ
となるらしいが私のところで検証できないのでメモとして
Macの場合はサブネットマスクを0/24という調子で簡略化して書くことができる
255.255.255.0なら0/24、255.255.0.0なら0/16とネットワーク名のIP(0/bit数)を使う
いずれにしてもこの方法は次回再起動まで有効で再起動後も残る設定は
StartupItemにAddRoutesとうファイルを作ってviでrouteを書き込む手順が別にある




Macでルーティングテーブルを確認するにはnetstat -rnと打って実行する




ちなみにサブネットマスクの数字はちゃんと
計算する方法があるのだが数学苦手な技術者の私には覚えにくい
(機械音痴の整備工とか字が読めない国語教師とかに喩えないように…)
いい方法を思いついたのだが一度この別ルートをデフォゲに登録してみると
サブネットマスクもコンピュータが自動で計算してくれる
これなら接続テストも兼ねられるので一石二鳥だ
数学できないのも捨てたもんじゃない…必要は工夫の母だ…
とか言っていないで覚えろよというツッコミは無しの方向でw



以上個人的メモで以下のサイトが参考になった。
スタティックルーティング ( route add とは )

[Mac]routeコマンドを使って常用のアクセスと開発環境へのアクセスと分ける -blog.hereticsintheworld

Persistent static routes.= Apple Support Communities

ASCII.jp:デフォルトゲートウェイの設定を間違えるとどうなる? (2-2)ネットワークの禁忌に触れる


<追記>
ルーティングテーブルのaddコマンドだが、WindowsVista以上からは管理特権が必要になった。
これは管理者アカウントとはまた別の権限で、管理者アカウントといえども他の全アカウントに影響を及ぼすような設定変更の場合は管理者特権でアプリを起動することが必要になる。

テンポラリーに管理者特権でアプリを起動する場合は、アプリのアイコンまたはショートカット上で右クリックして「管理者として実行」をクリックで起動する。
コマンドを管理者特権で実行する場合は当然コマンドプロンプトを管理者特権で起動することになる。
方法はスタートメニューから「すべてのプログラム」でアクセサリを開きその中のコマンドプロンプト(のショートカット)の上で右クリックする。

参考
アプリケーションを管理者権限で実行する方法(Windows 7-Vista)





WindowsVista/7/8ではルーティングテーブルを切るコマンドは管理者特権が必要になった
コマンドを管理者特権で実行するにはコマンドプロンプトを管理者特権で起動しないといけない
方法はスタートボタンからすべてのプログラムを開いてアクセサリの中の
コマンドプロンプトのアイコンの上で右クリックをして「管理者として実行」で起動する




テンポラリーの場合でもこのような確認タグが出る
悪意あるバッチを自動実行されないような安全策が施されているということか




ちなみに7では(多分Vistaでも?)route printコマンドを打つと
IPv4のマップだけでなくIPv6のマッピングも表示されるようになった
日本語エスケープされていることにも注目(今まで知らなかった)



2013年7月28日









anchor

Mac、Windows、Linux相手を選ばず超カンタンにネット越しにしかも無料で遠隔操作が可能〜Google Chromeのリモートデスクトップを試してみた

Mac同士、またはMacとWindowsPC、またはMacとLinuxPC、またはLinuxPCとWindowsPCなどリモートデスクトップを取れるGoogle Chromeのプラグインが面白そうなので試してみた。

これのメリット・デメリットを整理すると…

まず特徴は…
これがGoogle Chromeというブラウザのプラグインとして提供されることだ。
だから動作条件はWindowsXP以上、Mac OS Xの10.6以上、Linuxについては条件不明…多分Google Chromeが動けば動く。

それとGoogle Chromeがインストールされていること。
条件はこれだけだ。
ネットワーク設定がどうの「VPNが必要」だのそういうのは一切求められない。

インストールもここからアドオンをGoogle Chromeでダウンロードしてインストールする。
料金は無料。
Chrome ウェブストア - Chrome リモート デスクトップ

あとは接続のPINコードを設定して、サーバ側はシステム環境設定のペインで共有を許可する。

以上で準備完了。
詳細は以下のヘルプがわかりやすいが、従来のリモートデスクトップをVPNで使うことを考えると画期的に簡単だ。
Chrome リモート デスクトップ アプリ - Chrome ヘルプ


メリットとしては…
ブラウザを通じてサービスとして機能が提供されるので、MacやPCのファイアウォールの設定とか、ルータのポートマップの設定とか、IPマスカレードがどうのとか一切気にする必要がない。

VNCやMacの画面共有、Microsoftのリモートデスクトップのように同じネットワーク内のリモートデスクトップを提供する機能の場合、インターネット越しでリモートを取るにはセキュリティ上VPNなどの設定が不可避なのだが、これはブラウザのポートをつかってWebの80番ですべて済ませてしまうので、VPNなども気にする必要がない。
ほとんどすべてのブラウザにはSSLという強力なセキュリティがある。
もちろんこのGoogle Chromeも実装しているので、第三者からリモート情報をタップされて取られてしまうという心配はない。

サービスの内容としてはTeamViewerに近いが、専用アプリを使うのではなくGoogle Chromeというブラウザを使うのがユニークだと思う。
だから敷居も低いと思う。

設定は驚くほど簡単だ。
Googleにログインして自分のアカウントと紐付けしたPINコードを設定するだけですぐに使い始められる。
こういうサービスの場合サービスを提供する主体の信頼性が一番問題になってくるわけだが、そこはあなたがGoogleを信じるか信じないかということに尽きる。
勿論巨大企業には社会的責任が求められるので、そうそういい加減なことはできないと思うが。

ローカルネットワーク内の接続は勿論、インターネット越しに地球の裏側の自分の端末にも接続できる…しかもお手軽に…これが最大のメリットだと思う。

もうひとつメリットを挙げるなら、リモートデスクトップと同じように完全にコントロールを取る「マイパソコン」というモードとは別に、遠隔で誰かを助けてあげる「リモートサポート」というモードがあるのがさらにメリットと言える。

これは「マイパソコン」と機能的にはほぼ同じなのだが、ログインのPINコードが最初に設定したホストの固有のPINコードではなく、毎回ホストが共有を開くたびに発行される一回きり有効なPINコードでログインする。

ワンタイムパスコードなので、一度セッションを切ってしまうと同じPINコードで二度と接続できない。
またセッションを開いている途中でも一定の時間が過ぎると「リモート状態を続けるか?」と確認してくる。
ここでリモートを取られているホスト側がOKを押さないと自動的にセッションは切れてしまう。
この確認タグはリモート側からも見えているが、リモートからOKをクリックすることはできないので、共有を開いている人が毎回許可しないと遠隔を取り続けることはできないことになる。

これはあまり親しくない相手にVPNやVNCなどのパスワードを教えたくないので、大きなメリットになる。
ネットのお知り合いにちょっと操作を教えてもらいたい時に、これでリモートを取ってもらえば自分のパスワードを公開しなくていいし、相手がもしこのワンタイムパスコードを悪用しようと思っても次回からは無効だ。
セッションも一定時間ごとにホストが許可しないと切れてしまうので、うっかり共有を開いたまま…ということもない。

MicrosoftのRemoteDesktopはリモートを取っている間は、ホスト側の画面はログオフされてしまうので相手が何やっているのかさっぱりわからないが、このGoogle Chromeならリモートを取られている間も自分のデスクトップは見えているので、まさにチュートリアルにはうってつけの機能だと思う。

もうひとつメリットはMac、Windows、Linuxを相互にどちらをホストとクライアントにしてもつなげることか。
しかも同じGoogle Chromeを使うので手順も各OSでそんなに違わない。


デメリットとしては…
あまり思いつかないけど、やはりブラウザの表示機能なので、VNCや画面共有に比べるとやや反応が遅いことかな。
特に立ち上がりは時間がかかる。
同じローカルのネットワーク内で使っても感じるので、これはブラウザを使う性質上仕方がないのかもしれない。

またセーフティとしてシステム環境設定に「共有無効化」のボタンがあって、これはDisableにしている限りリモートをうっかり取られることはないのだが、やはりファイアウォールもポートマッピングも関係なしにリモートが実現してしまうというメリットが、簡単にセキュリティホールになりうるというデメリットにもつながる点だ。

しかももしこれで不正にリモートを取られたら、ファイアウォールをはじめ最近の大掛かりなネットワークモニターのソリューションでも一切検知は不可能だと思う。
なんせネットワークに流れるのはポート80番の普通のWebサイトと同じようなパケットだけだし、それはSSLで暗号化されているから、監視側からこれがクラッカーの乗っ取り通信だと認識することすらできないと思う。
その意味では取り扱い注意ではある。

上記のワンタイムパスコードは一回きり有効だから問題無いが、「マイパソコン」の方で最初に設定するPINコードは十分強度がある桁数にして、絶対に外部に漏れないように管理することが必要になる。





Google Chromeをインストールしていない人はまずブラウザのインストールから始める
Google Chromeで上記のダウンロードページに入ってリモートデスクトップのアドオンをダウンロードする




Google Chromeはダウンロードの進行が下に見える
ここをクリックしてもいいしFinderからもインストーラのディスクイメージをマウントできる




インストーラのイメージをマウントするとそこにインストーラがある




以下インストーラの指示に従ってアドオンをインストール




インストールが完了するとGoogle ChromeのサービスでGoogleに
Chromeリモートデスクトップというメニューが増えている
ここからリモートデスクトップに入る




すると最初にアクセス許可の設定を求められる
これはリモートホスト側に使う予定がない端末でもこれを済まさないと先に進めない




リモートデスクトップは最初のアクセス権設定の時に
チャットメッセージ、メールアドレスの表示などの許可を求めてくる
これもホスト側で使う予定のない端末でも全部許可しないと先に進めない
レビューでここに不満を書いている人がいたがとにかく許可しないと使えない




ホストにする予定の相手のMacにもプラグインをインストール同じ設定をする




このアドオンのメリットの「リモートサポート」を試してみる
ホスト側でこの共有ボタンをクリックするとワンタイムパスコードを表示するのでこれを相手に渡す




リモートを取る側でアクセスボタンを押すと出てくるフォームにこの12桁のパスコードを入力する
このコードは一回きり有効で毎回ユニークなパスコードが生成される
相手がこのコードをもう一度使って不正アクセスしようとしても接続できない




こうしてカンタンにリモートが取れた
この間、ルーターやファイアウォールをいじる必要はない
ブラウザのSSLでセキュリティを確保してWebサービスとしてリモートを渡している
なのでVPNも設定していないのにインターネット越しに地球の裏側の相手のリモートも取れる
SSLの安全性についてはもう既に充分実績があると思う




ブラウザをフルスクリーン表示するとこんなイメージ




さらに上の青いプルダウンを引き出すとリモート画面だけのフルスクリーン表示も可能
サイズの調整がなかなか自由ではないのだがこれはVNCの共通の悩みかもしれない




このリモートサポートは一定の時間が経過すると共有を継続するか聞いてくる
これはリモートホスト側でしかOKがクリックできない




継続するボタンをクリックしないとこの通りセッションは自動的に切れる
うっかり共有を開きっぱなしでもホスト側ユーザがセッションを続けたいという
意思表示をしないとセッションは自動的に切れてワンタイムパスコードも無効になる
初心者があまり親しくない上級者にリモートを渡して操作を教えてもらうにはいい方法だと思う
これならVPNやVNC、Macのログオンパスワードなどを相手に教えることなしにつなげて
設定変更しなくてもあとで管理権を取られてしまうというリスクもない




ちなみにこの上のプルダウンはMicrosoftのリモートデスクトップと
同じようにセッションを切ったりの操作ができる
下のフローティングはホスト側でセッションを切りたい時に操作する




今度は出先から自分のパソコンに接続する「マイパソコン」モードを試す
ここからはホスト側、つまりリモートを取られる方の設定
この最初のメニューの下のボタンで共有を開く




次に接続の時にパスワード代わりとして必要なPINコードの設定を求められる
これとGoogleアカウントの紐付けが個人の認識のベースになりセキュリティの基礎になる
なのでPINコードは十分な強度のある桁数でないといけない
キャプチャーは4桁で設定しようとして暗号強度が弱すぎると怒られている図
もう一度共有を無効にすればこのパスコードは毎回変更できる




Webサービス側にパスコードを登録したらすぐに
システム環境設定のHost Prefernceのペインが起動してくる
ここに同じパスコードを入れるとホスト側端末とGoogleのWebサービスのマッチングが完了する




ちなみに共有を解除したい時はシステム環境設定のこのペインを起動する




ここに「共有を無効化」するボタンが用意されている
これが不用意にリモートを取られないようにする最終安全装置になる




リモート側のGoogle Chromeには同じGoogleアカウントを持つ他の端末の共有が見えている
共有に入るにはここから
なおリモート側も共有を有効にするボタンがあって
同じ設定ができるがリモート側は特に共有を開かなくても接続はできる




共有に入るとPINコードのフォームが現れるので先ほど設定したホストのPINを入力する
 




こうして接続が完了
フルスクリーンの設定にしていてもこのようにサイズが自動で切り替わらないこともある




こちらの「マイパソコン」の方は画面サイズの設定メニューがひとつ多い
これとシステム環境設定のディスプレイ設定を組み合わせてサイズ調整すればいい




スクリーンサイズを調整したリモート画面
ブラウザベースではあるがVNCと遜色がない表示だと思う
キー操作もマウス操作も問題無いがタップ設定を継承しないのとMac同士でも
キーボードショートカットが大部分利かないのがちょっと慣れが必要
ところで相手のホスト側はGoogle Chromeを起動していないのに注目
リモートはGoogle Chromeのモジュールを使うだけなので
共有を開く設定が完了したらもうGoogle Chromeを起動していなくてもいい
再起動後もGoogle Chromeを起動しなくても共有設定は有効だ
あとはリモート側でリモートビュワーとしてGoogle Chromeが必要なだけだ




面白いなと思ったのはこのリモート画面のメニューから
ctrl+Alt+Deleteとプリントスクリーンのキーを送れること
MacからWindowsを操作する時に重宝しそうだ
ctrl+Alt+Deleteは強制終了のバルカンピンチだがログオン画面呼び出しや
KVMの切り替え操作にも使われるのでこれがリモートで使えるのは便利だ




Google Chromeは一度設定してしまえばお手軽で
使いやすいと感じたが使い方を誤るとセキュリティホールになる危険性はある
不安を感じたらアンインストールの方法も確保しておきたい
そこで例によってSuspicious Packageでインストーラの中身をチェック
/Library/LaunchAgents/org.chromium.chromoting.plist
/Library/PreferencePanes/org.chromium.chromoting.prefPane
/Library/PrivilegedHelperTools/org.chromium.chromoting.me2me_host.app
/Library/PrivilegedHelperTools/org.chromium.chromoting.me2me.sh
/etc/newsyslog.d/org.chromium.chromoting.conf

などこれもなかなか大変そうと思ったら…




アプリケーションフォルダの中にちゃんとアンインストーラを仕込んでくれていた
一度アンインストールを試してみたいと思うが一応安心だ




カンタン、確実、さらに一応セキュリティにも注意が払われているGoogle Chrome最強!…
と言いたいが最強はやはりMacOSX同士をVPNで接続する方法
このようにアップデート中の画面やログオフ中の画面まで見えるのでメンテの時に困らない



ということで遠隔操作フェチの私としてはブラウザだけでどうやってリモートを安全に渡すのかその仕組みに興味があったのだがなかなか興味深い方法で実用化されている。
どこの家庭でも職場でもWebブラウザはポートマッピングもされているしブラウザにはSSLも仕込まれているので改めてそのあたりの仕組みづくりは必要ないという画期的な発想が面白い。

何よりも一度共有を開いてPINコードを設定してしまえば、あとは何度でもリモート側でGoogle Chromeを起動してそのPINコードを入れるだけで普通につなげる。
その時に接続環境でルータが邪魔するとか、パケットフィルタで接続コマンドを撥ねられるということも考えにくい。
インターネットに接続できて、Webサイトを表示できる環境であればどこでもつなぐことができる。
このカンタンさ、確実性は画期的だと思う。

こんなにカンタンなのだが、やはりMac同士でVPNの組み合わせが最強と思うのはこういう時OS Xの画面共有ならログオフ中でもアップデート中でもリモートから画面が見える。
まさにKVM感覚で使えるのでこれとVPNを組み合わせたら海外からでもMacのメンテができてしまう。

それでもこのGoogle Chromeを推せる状況は大いにあり得る。

結論はMac+VPN最強なのだが、例えば職場とかVPNを構築できない場所ならどうする?
相手がWindowsならどうするという条件が入ってくると、このGoogle Chrome最強ということになるのかもしれない。

ことに最近はVNCの開発がちょっとおぼつかないので、選択肢としてこういう方法を知っておくのはいいと思う。




2013年9月15日









anchor

AppleTVを使ってテレビで森の音を鳴らすアプリとAirPlayの組み合わせ方

これもライフハッカーのネタで先日森の音を鳴らし続けてくれるサイトが紹介されていた。
Birdsong.fm

このサイトにアクセスしてPLAYボタンをクリックするだけで、Mac、PCから森の音が鳴り続ける。
ヒーリング効果である。

春の森の音はサイトに接続するだけで無料で流しっぱなしにできるが、他の季節の音、他のシーンの音も有料で購入することもできる。

ただ、せっかくならこの音をMacの内蔵スピーカーではなくAppleTVか何かを通じてテレビで流したい。

と思っていたらちゃんと本家サイトでiPhoneアプリも配布されていた。
それがこちら。


anchor

Birdsong.fm
(Freeware for iPhone, iPad)

名前の通りBirdsong.fmをiPhone、iPadなどで楽しむアプリ

そこでこれをインストールしてiPhoneで再生。
AirPlayでAppleTVに送って、リビングは森の音に充たされることになった。
これは快適。
音楽に飽きた時、そういう気分の時、やってみると気持ちが落ち着く。





Birdsong.fmはBirdsong.fmの森の音をiPhone、iPadで鳴らすことができるアプリ
まずこれをインストールする
下のPLAYボタンをタップすると森の音が流れる




ここでホームボタンを2回押しすると下にマルチタスクのリストが出てくる
これを右にドラッグするとこのように再生ボタンが出てくる
これをさらにもう一度右にドラッグ




するとボリュームコントロールとAirPlayボタンが出てくる
AirPlayボタンをタップすると…




外部の音声を送ることができる機器のリストが出てくる
キャプチャーはAppleTVのテレビと無線LANでAirMac Express
につながった外部スピーカーが選択できるという図
今回はAppleTVにつないで前の再生ボタン画面に戻って再生




こうしてテレビは森の音で充たされた
画面はBirdsong.fmのサウンド画面になっているがミラーリングスイッチを入れると
iPhoneの花がゆらゆら揺れる再生画面も送ることができる




フリーで利用できるのは春の森の音だけだが音を増やしたい場合はそれぞれ有料で購入できる
それぞれiTunesStoreの一曲ぐらいの値段



2013年9月18日









anchor

そうだ!サンバいってみよう!〜Windowsのクライアントがアクセスする場合のファイルサーバはやっぱりこれでしょという楽屋落ちw

口絵写真は英語版Wikipediaより〜
イメージです。
あくまでイメージです。
本文とはほとんど関係ありません…(~_~;)

ということでサンバである!
(なにがだ?)

これまで自宅ネットワークはMacとiPhone、iPad、iPodなどのアップル製品中心に構成されていた。
仮想マシンの上ではWindowsやLinuxなどを走らせていたが、先日も書いたようにWindows実機が入った。
するとファイルサーバに問題が起きる。

ファイルサーバといっても特別のことをしている訳ではなく、Mac OS Xを起動したMac miniの共有設定でファイルの共有を開いているだけだ。
アクセス権などの設定でどこの領域を誰に公開するかは細かく設定できるが、Macのデフォルトのファイル転送プロトコルはAFP(Apple Filing Protocolみたまんまやんけ)というプロトコルのみオープンになる。

これは旧Macユーザなら懐かしいAppleTalkのファイル転送プロトコルが切り離され、TCP/IP上でも機能するように汎用化されたものでApple製品同士の転送は未だにこれによっているが、実はApple製品でしか使えないプロトコルだ。

普通にMacをサーバにしてファイルを共有するとデフォルトではこれしか開いていないので、Windowsからは接続もファイル転送もできない。
WindowsのCIFS共有は最近のMacはデフォルトで検知できるのでMacからWindowsのファイル共有は見えるし触れる。

以前も触れたけど自宅のWebサーバ兼ファイルサーバはOSはタイガーたんである。
つまりOS10.4である。
詳しく言うとOS10.4.11である。

Windowsのファイル転送プロトコルはSMBだ。
SMBをリバースエンジニアリングしてUNIXなどで使えるようにしたプラグインがSAMBAだ。
OS10.4 Tigerの対Windows用のSMBプラグインはSAMBAだ。
だからサンバだ!おどろうぜ!

というわけでSAMBAの設定を有効にした。

ちなみにMacがSAMBAを積んでいたのはSnowLeopardまでで、Lionからはマイクロソフト純正SMBに準拠したsmbdになってしまったそうだ。
サンバおどれな〜い…ということらしい。

それぞれの設定法が以下の通り。





OS10.4Tigerで駆動しているファイルサーバ、Webサーバの
Mac mini/G4PPCはデフォでAFPの共有しか開いていない
今回のVAIO導入でWindowsでもアクセする必要が出てきたのでサンバ!の設定をする
システム環境設定共有に入ってサービスの中の「Windows共有」のチェックを入れる
右下の共有に接続できるアカウントを設定しないといけない
なお注意書きにある通りWindowsからアクセスする時の方法は
「ファイル名を指定して実行」¥¥IPアドレス¥共有フォルダ名と打って実行する
¥¥10.0.1.2¥mutaみたいな感じ…Macユーザにはなじめない作法だが…




またSMB共有の場合はアクセスできるアカウントの設定が必要だ
OS XのSAMBAはシンプルなので内部に設定したアカウントしか選択できない




ちなみにMac mini/IntelはOS10.8 Mountain Lionで運用しているがこちらはサンバ!ではない
設定もちょっと変わってファイル共有のチェックをいれるとその中にオプションボタンがある
これを開いて共有プロトコルを選択できる画面が開くのでSMBのチェックを入れる
ここでもどのアカウントに接続を許可するかをチェックできる



2013年10月29日









anchor

AirMac Expressなど古い無線LANルータをMavericksから設定できるようにしたい…のは無理なのでやっぱりLionのご登場と相成った

MavericksやMountain Lion(多分Lionも)を使っているユーザなら周知の事実だがAirMacの設定ユーティリティのAirMac ユーティリティはバージョン6になってインターフェイスの雰囲気が大きく変わってしまった。
変わったのは雰囲気だけでなく、6以降の新しいAirMac ユーティリティはおむすび型のAirMacベースステーションや最初の世代のAirMac Expressなどをサポートしなくなった。

しなくなったが、AirMac ユーティリティが6に上がっても従来通り5.6もユーティリティフォルダの中に同居させることができたので、そんなに気にしていなかった。

ところが先日気がついたのだがMavericksではついにAirMac ユーティリティ5.6は起動すらできなくなってしまった。

それでも6があるから問題ないと思っていたがふとルーターとして使っているAirMac Extremeを再セットアップしたらそれとWDSでつながっているAirMac Expressはどうなるんだろう?
とふと気になった。
調べてみるとやはりMavericksからAirMac Expressのリモートは取れないらしい。

そこで何か方法は無いかいろいろ調べてみたがやはりMountain LionまたはLionの環境が必要なようだ。
あるいはいっそWindowsにAirMac ユーティリティをインストールするか。

MavericksからAirMac Expressの再設定をする方法はVMWare FusionVirtual Boxのような環境でLion以降のMacかWindowsを使うしか無い。 手順は以下の通り。

こちらのページよりユーティリティのインストーラをダウンロードしてくる。
Mac OS X Lion 用の AirMac ユーティリティ 5.6

ただこのインストーラをそのままLionやMountain Lionで起動してもインストールに失敗する。
AirMac ユーティリティ6が共有のdaemonやAgentを使用しているからで、これらを無視してアプリ本体を手動でインストールすればインストールに成功する。





Macに標準でバンドルされているAirMac ユーティリティはバージョンが6になっている
今まで5.6と二つ入れておくことができたがついにMavericksから5は動かなくなってしまい
このAirMac ユーティリティ6ですべてやらないといけない




ところが我が家では音楽を無線で飛ばすAirMac Expressがまだ現役で動いている
これがあるおかげで床や天井に無粋なケーブルを這わさなくてもよくなった




このAirMac ExpressはAirMac ユーティリティ6では諸元の読み取りができなくなった
当然設定変更もできない
これだとAirMac Extremeをリセットした時に困るじゃないか!と、ふと気がついた




AppleのサイトからAirMac ユーティリティ5.6を落としてくる




これをインストールするのだがMavericksではどのみちこれはもう動かない
そこでVMWare Fusion上でMountain Lionにインストールを試してみた
結果はMountain Lionすら動作条件に合わないという表示




そこでLion(OS10.7)で試してみた
私はOSマニア、OSコレクターではない、と普段はいっているがさすがに
Lionを置いておく意味はあるのかと自分でも疑問だった
しかしAirMac ユーティリティはLionでないと動かないというAppleのサポートページに勇気づけられて
「そらみろ意味があったじゃないか」とドヤッていたらなんとLionでもインストールに失敗した




原因はこれ
これはPacifistでインストーラの中身を開いたところだが
ライブラリフォルダにdaemon、システムフォルダのCoreServicesの中に
Agentをインストールするようになっている
これがver.6と共用になっていたため上書きができなくてインストールに失敗していたようだ




結局このdaemonとAgentは共用なので無視していい
アプリ本体を取り出して直接ユーティリティフォルダにドロップすれば良い




AirMac ユーティリティ5.6を起動して無線LANに繋ぐが
VMWare Fusionはデフォルトでブリッジ接続になっていた
これは設定でNATで無線LANか自動選択をしないと仮想マシンの外とつなげない




こうして無事仮想環境のLionのAirMac ユーティリティから
古いAirMac ExpressやAirMacベースステーションにも接続できるようになった
基幹のAirMac Extremeは無くても問題ないがネットワーク全体をリセットする場合やはり無いと困る



2014年1月26日









anchor

自宅VPNサーバーがMavericksアップデート以降つながらない〜正確にはログインしていないとつながらない問題

先日ハイブリッドドライブ化したMac miniを自宅のVPNサーバーとして使っている。

このサービスはどうせバックグラウンドで動いているので家族共用機として使いながら裏でVPNサービス、ファイルサービスをするという構成にしていた。
ところがMavericksにアップして以降VPNにつながらないという現象がたびたび起きていた。

テストの結果、Mac miniのどれかのアカウントにログインしていないとVPNサービスがWANに対してオープンにならないことが分かった。
当然Mountain Lionまではログオフ状態でもVPNサービスは有効だった。

これは困った。
そこでログオフ状態だとWOL(Wake On LAN)が必要なのかと思い試行錯誤してみた。





ある日VPN(L2TP)がつながらないことに気がついた
テストでは間違いなくL2TPは有効になっていて何度やっても
接続に成功するのに出先からは接続できない




何が問題なのかチェックしてみたら
システム環境設定省エネルギー設定がスリープする設定に変わっていた
ここを変更してもMavericksを上書きインストールすると設定が元に戻ってしまうらしい
いくつか元に戻る設定が見受けられた




これが原因かもしれないと思いコンピュータはスリープしない設定に変更した




この設定変更は重大な変更にあたるらしくシステムから
「本当に変更しても良いのか?」という念押しがでてくる
こうしてスリープしない設定にすればVPNの接続に
反応しなくならない…という目論みは外れた
結局ログオフするとVPNに接続できないのは同じだった




こういう時のWOL(Wake On LAN)だよねと最新版のWOLをダウンロードしてきた
久しぶりに使うWOLだがここで私は2重の意味で思い違いをしていたことを思い知った
一つはWOLはMacではすでにBonjourの機能の一つとして統合されているため必要ないこと、
もう一つはWOLは同一セグメントにいないと効果がないこと
つまり同一セグメントに入るためにWOLを使うことを思いついたのに
WOLは同一セグメントでないと相手を起こすことができない…というループ



こうしてVPNは外からつなぐにはログオフ状態では使えないことが判明した。
外から同じネットワークセグメントに入るためにWOLを使うことを思いついたのに、仕様を調べるとWOLは同じセグメントからLANに接続するときのみサーバーを揺り起こすことができる機能だということを知った。

これってループじゃん。

もう一つ初めて知ったのはOS9時代から愛用していたWOLだが、現在ではMacのBonjourの機能とお統合されていて、Wake on Demandという名前でスリープ解除のコマンドを投げられるようになっている。

Wake on Demand および Bonjour Sleep Proxy について

つまりMacには必要ないということだ、少なくともMac同士の場合は。

サーバ側がアカウントにログオンしないとVPNに外部から接続できないというのはMavericksの仕様ということらしい。
もちろんOS X Serverを導入すればログオンは必要なくなる。
OS X Serverは料金たったの2000円也だ。
たった2000円ならばサクッと買ってしまうというてもあるのだが、折角クライアント機でもVPNサーバにできるVPNActivatorを導入しているのに、サーバーを導入してしまったら悲しいではないか…
サーバーを自分で構築するテストをしているのに…

ということで残念ながらしばらくはMac miniはログインした状態で運用することにした。
何か方法があるのかもしれないけど今のところ見つけ切れていない。




2014年2月9日


<追記:2014/06/01>

この問題はOSのクリーンインストール、設定の手動復元で解決した。








anchor

MacBook Proがスリープから復帰できなくなった〜iPhoneやWindowsPCや別のMacからsshを使って強制終了することでディスクトラブルを予防する

Mavericks導入以来たびたび起こっていたシステム終了失敗とスリープ復帰失敗は、最近ユーザフォルダを再構築することで前者は改善に失敗したが、後者はほぼ起こらなくなった。

それでも根絶できたわけではなく、この1ヶ月でスリープ復帰失敗は一回起きている。
その時に以下の方法で物理的な強制終了を回避できたのでメモを。

iPhoneから終了をかける場合は、vSSH Liteを使う。
このライト版ならフリーウエアで使えるから気軽に試せると思う。

vSSHはiPhone上でssh、またはtelnetを使用できる専用ターミナルという内容のアプリだ。
sshでリモートを取ってターミナルコマンドでMacBook Proを外から終了させる。

スリープ復帰失敗するとキーボード、マウス、トラックパッドからの操作がいっさい不可能になる。
操作可能なのは電源ボタンだけだ。
勢い強制終了の
コマンド+Control+電源ボタン
で強制終了したくなる。

しかしこれをあまり頻繁に繰り返しているとそのうち内臓ディスクが死ぬ。
これはHDDだけでなくSSDも同じことなので注意が必要だが、スリープ復帰失敗して操作できなくなったら注意するもクソもない。

UNIXにはバルスのような滅びの呪文がある。
それがhaltコマンド。
shutdownコマンドは同じものでhaltはどうやらプロセス的にはshutdownコマンドを呼び出しているようだが、shutdownコマンドはいつ終了するかオプションをつけないといけないのに対してhaltはこのたった4文字打っただけでシステムが終了するので「バルス」的だ。

このコマンドをTerminalに打てれば良いのだが、スリープ復帰失敗でTerminalも当然呼び出せなくなっているので、外からシェルを開いてコマンドを打ち込む。

その方法がsshでiPhoneの場合はvSSHで、WindowsPCの場合は 以前にも紹介したTera Termが使える。
同じMac同士なら普通にTerminalを起動してsshコマンドで遠隔を取って終了させることができる。





iPhoneからvSSHを使ってMacBook Proに接続する
Connection設定画面でIPアドレス、ユーザネームを入れてConnectをタップ
とても簡単だ




ログイン時に管理者パスワードを要求される
ログインに成功したら終了コマンドはsudo haltと打ってreturnキーをタップ
システムプロセスも終了するのでルート権限で実行するsudoが必要になる




WindowsPCから終了をかける場合はTera Termを起動する
ホスト名にIPアドレスを入れてsshを選択してOK




SSH認証を求められるのでユーザ名、パスワードを入力
ここではチャレンジレスポンス認証、つまりパスワードによる認証を使う




もう一度管理者パスワードを聞いてくる




これでMacBook Proのシェルにログイン完了
あとはUNIXコマンドが普通に使える




suコマンドも試してみたが遠隔からはルートになれないのが仕様らしい
ここでもsudo haltで終了できる
(追記:ルートになれなかったのはこのホスト側の問題で実際にはなれることが判明しました)




一番大事なことを忘れていた
これを可能にするにはMacBook Proのシステム環境設定
共有ペインでリモートログインを有効にしておくこと
そしてここのsshのログインホスト名を記憶しておくことが大事




Mac同士の場合はTerminalを起動してsshコマンドでターゲットを入力
つまりssh [ユーザ名]@[IPアドレス]と打ってEnter
hiiragiというユーザ名の10.0.1.204に繋ぎたい場合はssh hiiragi@10.0.1.204となる



以上の方法でMacBook Proがスリープから復帰できなくなった場合も、iPhoneやWindowsPC、別のMacからなどどこからでもhaltコマンドで終了をかけることができる。
これがディスクを保護する効果については限界もあるかもしれないが、電源ボタン長押しは本当にコンセント引っこ抜きと同じでディスクにストレスをかけるのに対して、これは一応システムが終了プロセスを踏むので、ディスクの保護にはなって安全かと思う。

安全ということは問題もあるわけで、例のシステム終了失敗になりそうな時にhaltで終了してもやはり失敗になる。
システム終了失敗問題にはこの方法の効果は限定的だということだ。
用途としてやはりスリープ復帰失敗した時の緊急終了の手段にとどまると思う。




2014年5月11日













Previous Topへ Next





site statistics