*3:何度か間違っていたみたいだけど最終的には無事解除出来た。09:22iPhoneのバックアップパスワードを忘れたら大変という話Tweetもっと読むコメントを書く2014-10-23ブロードバンドルータインターネットさらばBBR-4HG自宅サーバを稼働している関係上、NATループバックが必要と固く信じているので、BBR-4HGをずっと使用し続けていた。フレッツの契約が200Mbpsになってもこいつを使い続けていたので、こいつのせいで最大100Mbpsのままであった。ヤマハのルータだとNATループバックが普通に使えるという話もあるのだが、いかんせんヤマハのは高くて手が出ない。そこへようやく現れたのが同じバッファローのWZR-1750DHP2である。ファームウェアアップデートの履歴を見るとVer.2.20で「NAT-Loopback機能に対応しました。」とさらっと書いてある。いう重要な機能はもっと宣伝しようよ......。そんなわけで買って来ました。ケーズデンキで16,800円だったんだけど交渉の結果13,500円になりました。ありがとう店員さん*1。Computersこの商品を含むブログを見るこんにちはWZR-1750DHP2なお、こいつの無線LAN機能には全くもって興味が無いため、速攻で無線LANに関する機能は全てオフにされた。完全に有線ルータ扱いである。用があるのはギガビットイーサネットとNATループバックだけだからな。購入時のファームウェアバージョンは2.20。NATループバックに対応したバージョンであった。Extreme、NAS、テレビ&レコーダだけなので、1階2部屋・2階3部屋からの有線接続を無理にルータに突っ込む必要も無いため、4ポートで十分。BBR-4HGから接続IDとパスワード、DHCPの割り当て一覧、接続先経路の一覧、アドレス変換の一覧などなどをコピーして新ルータに設定。キーチェーンに控えていた接続IDが古いものだったり、DHCPの割り当てを上手く編集できなかったりしたが、特に問題無く設定は完了。入れていたマルチメディアボックスに物理的に入らん。幅が大きいのでBBR-4HGがあった場所には入らないし、ひかり電話ルータの上に重ねると蓋が閉まらん。ひかり電話ルータにネジで仮留め*2したので落ちはしないと思うが。そのうちボックス内部の整理もしないといかんな。ボックスのリプレースか。NATループバック自分のサーバに設置しているIPアドレス表示CGIにアクセスしてみると、ルータのLAN側IPアドレスが表示された。BBR-4HGではWAN側IPアドレスが表示されてたから、本当に外からアクセスしている形だったが、そうではなくあくまでアドレス変換ルールに従ってLAN側に転送してるだけみたいだな。BBR-4HGでは「デフォルトに設定した接続先で取得したIPアドレス」にしか外部から接続出来なかったが、WZR-1750DHP2ではどのIPアドレスでも接続の待ち受けが可能になった*3。以前は固定IPアドレスの設定をデフォルトに、動的IPアドレスの設定を2番目に設定し、外に接続するときは接続先経路の設定で動的IPアドレスを使って外に出る*4ようにしていた*5。この仕様だと、デフォルトを動的IPアドレスにしておいて、「固定IPアドレスでアクセスしたいドメイン/IPアドレスだけに経路を設定」すればいいので非常に楽で良い。設定インターフェースは今風だが、そこかしこにBBR-4HGの臭いがプンプンします。BBR-4HGをNATループバックの為だけに使い続けていた俺みたいな人が買い換えるには良いと思います。*1:と言いつつ貼るのはAmazonへのリンクである。*2:NTTからすれば何しやがる、という所業だがそこ以外に留める場所が無いのだ。*3:PPPoEマルチセッションのどのIPアドレスを使ってもサーバを立てられるということ。*4:192.168.x.0/24からの接続は動的IPアドレスを使うように設定。WZR-1750DHP2ではこの設定が出来ない。*5:固定IPアドレスで外にアクセスしたくないから。Serverに更新されたのだが、Mavericksになって設定が変わったようで、変なタイミングで実行されるようになってしまった。それを修正したのでメモ。変わったか?今回問題にしているのは、/etc/periodic/{daily|weekly|monthly}/に置かれたスクリプトを定期的に実行する設定。Xでも同じ*2なのだが、設定が異なっている。2629746秒ごと*5に1回となってしまった。何時に起動する、という指定ではなくなっている。指定されているのは実行間隔で、このためにあらぬ時刻に実行されていた。職場のサーバではログローテートやプロキシサーバの集計を行っているのでこれはまずい。Lion以前と同じ設定に直せればいいや、ということで、それを目標とした。設定の確認とにもかくにも、今と以前の設定を確認するところからスタート。あるので、これの中身を確認する。-sでrootになり、defaultsコマンドで確認してみる。例示はdailyのものである。("/usr/libexec/periodic-wrapper",daily);}となっている。StartCalendarIntervalがなくなり、LaunchEventsに置き換わっている。dailyに変更されている。manを見るとわかるが、periodic-wrapperを直接実行することは出来ない*6。これはなんなんだ?となるが、/usr/sbin/periodicは健在で、こちらに適切な引数を与えて実行すれば良いので、取り敢えず深く考えないことにする。基本的には以前と同じにすれば良いので、実行すべきコマンドを適切に変更した上で、スケジュールをLaunchEventsではなくStartCalendarIntervalで指定すれば良い。オリジナルの設定ファイルは、拡張子をplis_として別名保存し、設定を変更してみた。以下は変更の為のコマンドである。launchctlで一度unloadして、ファイルをコピーし、設定を書き換えたのち、再びlaunchctlでloadする。赤字で書いた部分を変更すれば、任意の日付・時刻に実行させることができる。/System/Library/LaunchDaemons/com.apple.periodic-monthly.plist書き換わったかどうか確認してみよう。子子子子子子(ねこのここねこ)を参照のこと。*1:ファイルサーバについては実はあまりめでたくなかったが、今回は関係無い。*2:/etc/{dai|week|month}ly.localがあると続けてそれを実行するのも同じ。*3:1日*4:7日*5:約30.4日*6:実行してみても、実行されて欲しいスクリプトが実行されない。2011・SSD256GB+HDD750GB)を入手したので、せっかくだからFusionDriveにしてみたもの。Drive化を参考にした。普段からTerminal使ってる人にとっては、「壊してしまうかもしれないという気持ちに打ち勝てる勇気を持てるか」よりも、こういう間違いの方が怖いと思う(まあ間違ってたら先に進めないだけだったけど)。結果Xbenchで測ってみた。Driveが281.08とちょっと遅い。blocks]うーむ......。MacBookに3G/LTE通信機能が搭載されたらいいのにな。そんな願いにアプローチするLidSyncPANiPhone5のテザリングは便利である。俺も常時Lightningケーブルを2本、ポケットに持ち歩いているが、やはりiPhoneを取り出し、ケーブルを繋ぎ、iPhoneが落っこちない場所を確保して、と結構面倒くさい。そんな中、上記の記事が流れて来た。確かはてブのホットエントリーだった気がするが、まあどうでもいい。俺的な問題点は蓋の開け閉めだけかぁ......EasySIMBLが必要?あんまり入れたくないなあ......この2点。よろしい、ならば自分で書くしかあるまい。基本的にAppleScriptで制御すること。特殊なユーティリティの使用禁止。Mavericksの基本機能だけで使えること。優先される他のネットワーク接続(たとえばWiFiによる接続)が検出されたらテザリング切断。優先される他のネットワーク接続が無くなったらテザリング開始スクリプト普通にポインタを操作して接続・接続解除を行う場合、メニューバーのBluetoothアイコンをクリック接続したいiPhoneの名前をクリック「ネットワークへ接続」または「ネットワークから接続解除」をクリックという流れになる。大前提として、メニューバーにはBluetoothが表示されているものとするのでその辺のエラー処理は省略。接続・接続解除のためのAppleScriptこのスクリプトはコンパイルして適当な場所(~/Documents/AppleScript/TetheringController.scptとか)に放り込んでおく。"テザリングを開始しました。"テザリングを停止しました。addressを取得できるかどうかで、そのnetworkserviceが接続されているかどうかを判断することにしてみた。PANなのでこんな感じになってますが、必要に応じて該当する部分を変更・追加すれば使えるんじゃないかなー、と思います。サービス名とか、if文とか。PAN"やWi-Fiは、「ネットワーク」システム環境設定でのサービス名。#サービス名が空白を含む場合は""で全体を囲むか、空白をエスケープすること。"Documents:AppleScript:TetheringController.scpt"))'#Wi-Fiの接続を使用するのでPANの接続は切る。10#次のループに行く前に10秒待ちます。/usr/local/bin/TetheringControllerしておきます。ほいでもってlaunchd用のplistファイルTetheringControllerを呼び出して起動してくれるようにするための設定ファイルです。今回は自分だけで使うので、保存場所は~/Library/LaunchDaemons/com.gururi.tetheringcontroller.plistです。version="1.0"><dict><key>KeepAlive</key><true/><key>Label</key><string>com.gururi.tetheringcontroller</string><key>OnDemand</key><false/><key>ProgramArguments</key><array><string>/usr/local/bin/TetheringController</string></array><key>RunAtLoad</key><true/></dict></plist>監視のオンオフAppleScript次で最後。こいつは~/Library/Scripts/に放り込んでおいて、スクリプトメニューバーに表示し、実行する度に監視の開始・停止を相互に切り替える。ファイル名、俺は「トグルテザリング監視」にしてる。まあファイル名は自分が分かればいいのでお好きにどうぞ。run以上を適切な場所にインストールした上で、監視のAppleScriptを実行すればよろし。一度監視を開始すれば、ログアウト/再起動後も監視は継続されます。インストーラパッケージ基本的に俺が使うために作った物を「使う物好きもいるかもなー」的な考えで公開しているだけなので、そんなものは無い(・ω・)追記LidSyncPANと同様、初回起動時に「システム環境設定>セキュリティとプライバシー>プライバシー>アクセシビリティ」からTetheringControllerに対して制御の許可を与えてやる必要があります。Wifiその後スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。