「サイト管理」カテゴリーアーカイブ

Mavericksの時計 を time server に同期させる。

Mavericks の時刻同期がおかしい。ここで変更を試みたが、まだだめだ。だからntpd を別途インストールすることにした。
OS X MavericksのNTPサーバと同期がとれないステキ仕様を参考にNTPをインストールしてみる。
NTP Software DownloadsからDevelopment 4.2.7p425 の http
20140226ntp-00
をクリックしてダウンロードする。Productionの4.3.6p5 はMavericks では使えないようだ。
20140226ntp-03 をダブルクリックして解凍する20140226ntp-04
このフォルダを/temp 内に移動させる。TinkerTool で . で始まるファイル/フォルダを可視化しておくと面倒がない。
以降はターミナルで su になって実行したほうが楽だ。 /tmp/ntp-dev-4.2.7p425 に行って、congfigure を実行する。Xcode が無いとエラーとなり、Xcodeをインストールするかとか聞いてくるから、指示にしたがってインストールする。

sh-3.2# ./configure
checking for a BSD-compatible install… /usr/bin/install -cchecking whether build environment is sane… yes
(略)
config.status: creating evconfig-private.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing libtool commands

となるから、さらにmake する。

sh-3.2# make
Compiling with GCC now generates lots of new warnings.
Don’t be concerned. They’re just warnings.
Don’t send bug reports about the warnings, either.
Feel free to send patches that fix these warnings, though.
(略)
Making all in tests
make[3]: Nothing to be done for `all-am’.
make[2]: Nothing to be done for `all-am’.

warning: が沢山でてくるが無視だ。make install する。

sh-3.2# make install
[ ! -r ./../COPYRIGHT ]
|| [ check-COPYRIGHT-submake -nt ./../COPYRIGHT ]
|| /Library/Developer/CommandLineTools/usr/bin/make check-COPYRIGHT-submake
(略)
x html/warp.html
x html/._xleave.html
x html/xleave.html

/usr/local/sbin にntpd ができる。
本来のntpd は
/usr/sbin にあるから、こいつは使えないように別名(最後に~を付ける)で保存しておく。/usr/sbinで

sh-3.2# mv /usr/sbin/ntpd /usr/sbin/ntpd~

シンボリックリンクを張る。

sh-3.2# ln -s /usr/local/sbin/ntpd /usr/sbin/ntpd

確認する。

sh-3.2# pwd
/usr/sbin
sh-3.2# ls -al
(略)
lrwxr-xr-x 1 root wheel 20 2 27 07:55 ntpd -> /usr/local/sbin/ntpd
-rwxr-xr-x 1 root wheel 61840 10 23 07:51 ntpdate
-rwxr-xr-x 1 root wheel 134272 10 23 07:51 ntpdc
-rwxr-xr-x 1 root wheel 375024 10 23 07:51 ntpd~
-rwxr-xr-x 1 root wheel 2029 10 23 07:51 ntptrace
(略)

/etc/ntp.conf にtime server を書き加え、確認する

sh-3.2#  cat ntp.conf
server ntp.nict.jp minpoll 6 maxpoll 10
server ntp1.jst.mfeed.ad.jp minpoll 6 maxpoll 10
server ntp2.jst.mfeed.ad.jp minpoll 6 maxpoll 10
server ntp3.jst.mfeed.ad.jp minpoll 6 maxpoll 10

ntp.nict.jp は独立行政法人 情報通信研究機構の time server で一般ユーザがガンガンアクセスしても問題ないとアナウンスしているサイトだ。
ntp1.jst.mfeed.ad.jp〜ntp3.jst.mfeed.ad.jp はインターネットマルチフィード株式会社がサービスしているtime server でこれも自由に使っていいらしい。
ntpd を止めて再度読み込ませてもいいが、Mac自体を再起動して動作するかを確認することにする。再起動して動かないと困るからだ。
んで、再起動して2、3分後、ntpq -pn を実行する。

Mac:~ hoge$ ntpq -pn
remote refid st t when poll reach delay offset jitter
=================================================================
*133.243.238.164 .NICT. 1 u 36 64 377 11.384 -0.288 0.314
-210.173.160.27 172.29.3.50 2 u 33 64 377 11.581 0.620 0.387
+210.173.160.57 172.29.3.50 2 u 22 64 377 11.961 0.424 0.114
+210.173.160.87 172.29.3.60 2 u 8 64 377 11.271 0.666 0.182

ということで、同期している。
システム環境選定の日付と時刻では;
20140226ntp-05
 
と横並びに出て来ちゃうが、ご愛嬌だな。
朝9時前にインストール、設定したが、午後6時の結果は;

Mac:~hoge$ ntpq -pn
remote refid st t when poll reach delay offset jitter
=================================================================
*133.243.238.164 .NICT. 1 u 242 512 377 11.600 -0.314 0.760
-210.173.160.27 172.29.3.60 2 u 131 512 377 11.656 0.658 0.575
+210.173.160.57 172.29.2.50 2 u 109 512 377 11.828 0.393 0.109
+210.173.160.87 172.29.3.50 2 u 106 512 377 11.416 0.763 0.312

とピッタンコだ。これまでは0.2秒くらい平気でずれていたからな。

電波時計のための電波受信モニタ

鉄筋の建物の室内では電波時計のための電波が届かない。どこが受信できるかをチェックするモニターを作ることを試みた。
aitendo の電波時計モジュール(40/60KHz)[D606C] を購入してみた。送料込みで 1,500円くらいだ。
届いた部品にはマニュアルが添付されていない。コストを下げるためだと添付の文書にある。サイトにかいてあるからそれを見ろということだが、サイトにある情報は;

仕様・機能
●C-MAX社AMレシーバーチップCME6005を使った電波時計モジュールの完成品、バーアンテナ付属、動作周波数:国内40KHz/60KHz帶対応のデュアルバンド、動作電源:1.5-3.5V、動作電流:450-650μA、静止電流:0.1-2μA、感度(最小):(40KHz)50μV/m、(60KHz)30μV/m、●寸法:(基板)22.0×20.0mm、(バーアンテナ)8.67×9.64x60mm、●表記価格:1セット
ピンアサイン
V=動作電源、1.5-3.5V、G=GND、F=動作モード設定:lowレベル→40KHzモード;highレベル→60KHzモード、TN=ネガティブ信号出力、TP=ポジティブ信号出力、P=Power ON input

だけだ。
これだけの情報では不足で、例えば、ピンのPは電源の On-OFF を調節する端子だがどうやって ON-OFF をコントロールするのか分からない。
CME6005 のマニュアルを読むと:

PON
If PON is connected to GND, the receiver will be activated. The setup time is typically 0.5 sec after applying
GND to this pin. If PON is connected to VCC, the receiver will switch to Power Down mode.

とある。キットの端子がこのICの端子そのままが接続されているのかは分からない。多分そうだろ。ということで端子PをVccに接続すると動作停止、GNG接続で動作開始ということになった。電源のON-OFFで動作のON-OFFを行うと、正常に起動するのに時間がかかると、IC のマニュアルに書いてある。だから電源は入れっぱなしということになる。
P端子をGNDに接続すると動作し、Vcc に接続すると動作停止するようだ。ただし、動作停止中はキットのTP端子はhigh level に維持される。TN端子はlow level になる。
したがってこのキットは常に電源に接続し、ON-OFF  は端子Pに加える電圧で調節することになる。
電波の受信状況をLEDの点灯具合でチェックすることとするので、TP 端子を使うときは正負のロジックを逆にしないと、動作停止時にLED が点灯しっぱなしということになる。
とりあえず、バラックで作成し、鉄筋の建物の外にでたら、LEDが点滅を繰り返し、室内ではLEDが消灯したままという状況が確認できた。
20140224wave_checker-1
パソコン本体の近くに持ってくるとLED (写真中央上の青い丸)の点滅が高頻度になり、ノイズを拾っていることがわかる。正しく受信できると、点灯と消灯の繰り返し頻度がゆっくりになる。ちかちか早く点滅を繰り返すのはノイズをひろっていることになる。文章で表現するのは難しい。オシロスコープの画面を撮影すればいいのだろうが、オシロスコープは鉄筋の建物内でオシロスコープの入力線を室外までのばすことができない。他の方法でできたらやってみよう。LEDの点滅状況の動画を撮影した人がいるから、こんな感じで点滅をくりかえしていればいいことになる。
収納するケースだが、バッテリーを収納することができるのがいいというわけで、自転車用のライトをダイソーで見つけてつかうことにした。ここのパクリだ。
20140224wave_checker-2
裏にあるプッシュスイッチを押すと ON(右2回点滅ー中央1回点滅ー左2回点滅を繰り返す)ー3つとも同時点滅ー3つとも点灯のままーOFF を繰り返す。 3つすべて点灯すると 38 mA の電流が流れる。真ん中の基盤を取り除き、3つあるLEDをそのまま流用すればいい。写真にはないが、反射板がある。この反射板があると、基板やアンテナが収容できない。
回路図だ。上に述べているように動作停止時LEDを点灯させないためにTN出力を使っている。LEDに流す電流がこのままだと少ないので、反射板もないのでちと暗い。100Ωを直列にしたが半分の50Ωでもいいかも。あるいは2S495というジャンクのトランジスタ1石なのを、ダーリントンに接続したらいいのかも。実用になるから変更しない。

20140224wave_checker-5

完成したのが下の写真で;

20140224wave_checker-3

キットの基板もバーアンテナを固定することなく、ビニールテープで絶縁して突っ込み。蓋を閉めると

20140224wave_checker-4

こんな風になる。裏の本来のスイッチのところにスライドスイッチをつけて ON-OFFスイッチとした。

電波が届かないと、点灯しっぱなし あるいは消灯のまま。ノイズ源に近づけると高頻度で点滅する。ゆっくり点滅をしている状態が電波を受信できている状態だ。

これで、鉄筋の建物内のどこが受信状況がいい場所かを判断できる。

これが、室内の電波時計の時刻合わせを行うための、はじめの一歩だ。

つぎは、ブースターの作成だ。アンテナとコンデンサで 40 kHz に共振させて、アンテナをドライブする回路をつくればいい。こっちの方が問題だな。

[ 追記 ]

とほほ。自宅でチェックしたらどこも受信は不十分。室外に出てもだめ。福島の方向に鉄筋のビルがあるからか。南が開けているけど北九州の電波が使えるかな。ぎりぎりだろ。

Mavericks の時刻同期

というわけで無事 su, sudo が実行可能になったので、時刻同期の間隔を変更するために /etc/ntp.conf を書き換えた。
sh-3.2# cat ntp.conf
server ntp.nict.jp minpoll 6 maxpoll 10
ついでに起動時に時刻同期させるために /etc/hostconfig の TIMESYNC=-NO- を書き換えた。
# This file is going away
AFPSERVER=-NO-
AUTHSERVER=-NO-
TIMESYNC=-YES-
QTSSERVER=-NO-
んが?「This file is going away」だって。使えないのか?ま、書き換えたままにしても害はないはず。使えないのかもしれないが。

sh-3.2# ntpq -pn
remote refid st t when poll reach delay offset jitter
==================================================================
*133.243.238.243 .NICT. 1 u 35m 128 377 11.076 -35.368 41.970

の状況で、再起動してみる。

sh-3.2# ntpq -pn
remote refid st t when poll reach delay offset jitter
==================================================================
133.243.238.244 .NICT. 1 u 29 64 3 11.999 59.107 0.533

となった。reach が 377 から 3 になったので、再起動時に時刻同期を実施したんだろ。頭に * がまだ付いていないが、そのうち付いて時刻同期サーバとして確認されるはずだし、*はすぐ付くようになった。

Mac OSX 10.9 Mavericks でrootユーザを有効にする

どうしてもターミナルで sudo を行いたい。Mavericks ではデフォルトで root になれないようになっている。Apple Support で調べると;

1) 「ユーザとグループ」環境設定を開いて「ログインオプション」をクリック
し、カギのアイコンをクリックしてロック解除します。必要に応じてパスワー
ドを入力し、「ロックを解除」をクリックします。
2) 「ネットワークアカウントサーバ」セクションで、「接続」または「編集」を
クリックします。
3) 「ディレクトリユーティリティを開く」をクリックします。
4) カギのアイコンをクリックしてロックを解除してから、管理者名およびパスワ
ードを入力します。
次のいずれかを実行します:
5−1)「編集」>「ルートユーザを有効にする」と選択してから、「パスワー
ド」および「確認」フィールドにルート・ユーザ・パスワードを入力します。
5−2)「編集」>「ルートユーザを無効にする」と選択します。
5−3)「編集」>「ルートパスワードを変更」と選択してから、新しいルート・ユ
ーザ・パスワードを入力します。

となっている。5)がわからない。「編集」ボタンがウインドウの中に無い。2)の「接続」または「編集」ボタンはウインドウの中にある。5)の「編集」とはメニューバーにある「編集」なのだ。
もうちょっと一言加えてくれればいいのに。 例えば 「次のいずれかを実行します:」 を「メニューバーの編集から次のいずれかを実行します:」にしてくれればすぐわかったのに。
本家の英語版を直に日本語にしたからだな。
「5.Do one of the following:」 を「5.Choosing Edit from Menubar, do one of the following:」にしてくれればよかったのだ。
こういうところをマニュアルを作るときに注意する必要がある。操作がわかっている人がマニュアルを作る訳だが、初めての人には言葉足らずとになってしまう。だからといって、くどくど書くと、長過ぎて逆にわかりにくいことになる。
管理者の作成する実習書は、どっちかというと後者の長過ぎるパターンになっているな。むずかしいところだ。学生からは「書いてないからわからない」と「くどくど長過ぎて読めない」というクレームが来るのだ。
実習書に書いてあるのに教員に聞きにくる。聞きに来た学生の実習書を見ると。その操作の指示文にマーカーで色がついている。なんてこった。読んで理解し重要部分をマークするというのが本来の姿なのだが、マークするのになれてしまい、重要と思われる部分を探してマークするという操作が主になってしまっているのだ。読んだつもりになっているのだ。

Active Directory 配下のパソコンの時計

事務系のPCは Active Directory の下にあって、クライアントPCはドメイン・コントローラに時刻同期する。あるクライアント機の時刻が日本標準時から7秒くらい遅れているのに気が付いた。
で、担当者に聞いたら許容範囲だという。ほんとかよ。ずさんではないのか?ドメイン・コントローラが外部のNTPサーバと同期するのが1日1回だそうな。1日1回だとドメイン・コントローラの時計が最大で10秒くらい狂うだろうな。
いいのかよ?
これがきっかけで管理者のMacの時刻同期をしらべてみた。

Mac:~ hoge$ ntpq -pn
remote           refid      st t when poll reach   delay   offset  jitter
==================================================
*133.243.238.164 .NICT.           1 u   47   64  377   11.532  -114.82  83.502

だって。0.1秒遅れていた。システム環境→日付と時刻の 日付と時刻を自動的に設定 のチェックボタンをOFF/ON にして再度同期させてみた。

Mac:~ hoge$ ntpq -pn
remote refid st t when poll reach delay offset jitter
==================================================
133.243.238.243 .NICT. 1 u 24 64 1 12.663 -0.035 0.001

同期した。polling 間隔は

Mac:etc hoge$ cat ntp.conf
server ntp.nict.jp

と設定されていないじゃん。どうやらMavericksには時刻同期にバグがあるらしく、いろいろ議論されている。
いじってみるかな。
いじった結果はこの記事だ。

電波時計を合わせる

入試監督にあたったら腕時計の時刻合わせが必須だ。試験会場が異なるとき、開始と終了の時刻が異なるのはまずい。許される誤差は1分以内だろう。試験時間の、たとえば60分間をきっちりと守る方が重要だ。今時、60分間の誤差が1秒以上ある腕時計を使用している奴は皆無だ。しかし例外がいて、それは中年Hだ。中年Hの腕時計はアナログ、ゼンマイでみてくれだけでネットのオークションで購入したやつで、自動巻なのに巻いてくれない代物だ。どこがいいのかそのセンスが疑われる代物だ。中国やベトナムで売っている500円の偽ブランド時計のほうがまともに動く。
最近は多くの時計が電波時計だ。電波状況が良ければ一日数回、時刻を合わせてくれる。管理者の腕時計もそうだ。しかし、時刻合わせができてないと単なるクオーツ時計で、最大で1ヶ月15秒程度狂っちゃう。電波時計が時刻合わせできているかどうかは、見た目わからない。
試験会場である教室には出欠管理システムがあって、学生証がフェリカカードなので、学生証を端末に近づけることで出席が記録される。当然時計があるわけで、端末の液晶画面には時刻が表示されている。管理者の腕時計とこの端末の時刻表示を比べたら、管理者の腕時計の方が3秒くらい進んでいる。このくらいの時間差は入学試験の実施に問題があるわけではない。
出欠管理システムとは入力端末とサーバがネットワークを組んでいて、サーバがどっかにあって一括記録しているシステムだ。ネットワーク・サーバは、stand alone でない限り普通はインターネットで時刻合わせを毎日実施している。したがって、電波時計であるにも関わらず、管理者の腕時計のほうが時刻合わせができてないと判断したのだ。
自宅は鉄筋だから、福島のおおたかどや山標準電波送信所の 40kHz の標準電波JJYが室内に届かない。だから夜中に腕時計は時刻合わせできる環境にない。昼間も、多くは鉄筋のビルの中だから時刻合わせに失敗している可能性がある。だから管理者の腕時計がずれているのだと判断したのだ。
パソコンは、defaultでどっかのtime server にアクセスしているので、パソコンの時計の誤差は1秒以内だ。確認できるるサイトは独立行政法人情報通信研究機構の日本標準時だ。パソコンと管理者の腕時計をくらべたら一致している。はて?出席管理システムの時計が狂っているのでは?
自宅の電波時計は、勿論室内に置いてあるので、電波が届かず時刻合わせできていない。15秒くら進んでいた。ではどうやって時刻合わせしたらいいのだろうか。電波を受信できる場所で、時計を強制電波受信モードにする必要がある。しかも、2,3分放置する必要がある。室内のどこが電波を受信できる場所かはすぐにはわからない。室外に持ち出せば受信できることがわかっているのだが…
というわけでネットでなにかいい方法がないかな?と探してみたら;
シチズン9ZZ005-008 [ACウェーブテラー 電波時計用ブースター] てのがある。これは電波の中継器だ。1万6千円もする。このブースターは電波を受信できるところに設置しないといけないが、我が家の室内のどこで受信できるかわからない。このような状況でこの価格では購入するのは冒険だな。
C7L361 Internet接続 NTP対応時計 てのもある。これはNTPでネットワークから得た時刻情報を電波にして発振する機械だ。インターネットに接続して使うものだ。1万3千円くらいする。電波時計の近くに置いておけばいい。それでも高い。
お手軽で一番安いのは;
電波時計用JJYシミュレータである。これはWindowdsのアプリで、発想がすばらしい。NTPで得た時刻情報を、オーディオ出力にしちゃうのだ。オーディオ出力は20kHzまでしか再生しないが、歪みが生じると高調波が生じる。この高調波が40kHzになるような音を出力させるのだ。音量を最大にすると歪むので高調波がより多く出現する。これを利用するのだ。スピーカーコードとかイヤホーンコードにこの音を流す=電流が流れると電波がでてきちゃうのでこれを電波時計が拾えばいいという仕組みだ。なんせ「ただ」だ。たいていヘッドフォンとかイヤホンはころがっているしな。パソコンの音声出力に外部スピーカーをつなげているというのも普通だ。
やってみた。

20140218Clock

 
パソコンのオーディオ出力に外部スピーカーをつなげてあったからそのスピーカーの側面に電波時計を並べてたてて、マニュアルにしたがって、最大に出力させて、電波時計を強制受信させたら2分程度で時刻合わせができた。音量を最大に設定しても、そもそも、再生できる周波数ではないので音は出ない。とはいうものの、時刻情報がエンコードされている部分でパルス音が、小さくポツポツと出てくる。スピーカーのコーン面に平行に並べたらだめだった。飛ばす電波が微弱だからだ。電波時計のアンテナの向きとスピーカーの位置関係が関係するのでアンテナの位置、向きを調べてやればいいのだが、裏蓋をあけてアンテナを探すのも面倒だからな。試行錯誤といってもコーン面と平行か垂直かだけしか選択するところがないからな。
NTPを使うので誤差は最大で1秒くらいでてくるだろう。しかし、そんな単位で仕事しているわけじゃないからな。
再度、出席管理システムの時計がずれていることを確認して、ちくってやろ。明後日、関係する会議があるからな。
[ 追記 ]
確認したら3秒出席管理システムの時計がずれていた。ついでに事務の秘書のPCの時計も調べたら7.5 秒狂っていた。こちらはActive Directory の配下にあるらしい。Active Directory のドメインサーバの時計が狂っているからだ。

Mailman-docomo問題

メーリングリストのdocomoユーザの誰か一人がメールアドレスを変更したり、受信拒否していると、同一リスト内の他のdocomoユーザにもメールが届かなくなっちゃう問題だ。このブログに何回か書いた。docomo 550 Unknown userMailman 普通配送メールを個人別にカスタマイズ
このような状況だとdocomo からの 550  Unknown userメールは;

<aaaa@docomo.ne.jp>: host mfsmax.docomo.ne.jp[203.138.181.240] said: 550
Unknown user eeee@docomo.ne.jp (in reply to end of DATA
command)
<bbbb@docomo.ne.jp>: host mfsmax.docomo.ne.jp[203.138.181.240] said:
550 Unknown user eeee@docomo.ne.jp (in reply to end of
DATA command)
<eeee@docomo.ne.jp>: host
mfsmax.docomo.ne.jp[203.138.181.240] said: 550 Unknown user
eeee@docomo.ne.jp (in reply to end of DATA command)
<gggg@docomo.ne.jp>: host mfsmax.docomo.ne.jp[203.138.181.240] said:
550 Unknown user eeee@docomo.ne.jp (in reply to end of
DATA command)
<hhhh@docomo.ne.jp>: host mfsmax.docomo.ne.jp[203.138.181.240] said: 550
Unknown user eeee@@docomo.ne.jp (in reply to end of DATA
command)

となる。
このとき、aaaa@docomo.ne.jp、bbbb@docomo.ne.jp、gggg@docomo.ne.jp、hhhh@docomo.ne.jp にはメールが配信されている。しかしmailman は配信できなかったとして、フラグを立てて、次回からは配信しなくなってしまう。共通しているのがeeee@@docomo.ne.jpだ。
どうやらeeee@docomo.ne.jpが受信拒否、あるいはもうなくなっちゃったメールアドレスなんだろうか。試しに eeee@docomo.ne.jpに別途メールを送信するとエラーメールが返ってこない。本当に無いでたらめのアドレス xxxx@docomo.ne.jp にメールすると 550 Unknown user xxxx@docomo.ne.jp が返ってくる。ということは、docomo は本当に無いメアドに対してはちゃんと返事をするようなので、もしeeee@docomo.ne.jpが犯人なら受信拒否しているということになるが…. こいつが犯人と決めつけていいのか、わかららない。
[ 追記 ]
どうやらeeee@docomo.ne.jpは犯人ではなかったようだ。メアドの変更も、受信拒否もしていない。別の一人のユーザが、スマホを紛失して、送受信停止処置していたようだ。連絡くれよな。したがってdocomoからのエラーメールではどのメールアドレスが有効でないのかはわからないことになる。困ったな。

公開DNS

Domain Name System(ドメイン ネーム システム、DNS)とは、人間にとって覚え易い名前を機械にとってわかりやすい数字に変換してくれるシステムだ。この機能を持つ機器をDNSサーバという。逆変換も行う。だからこの機械(サーバ)にexample.comのip address は?と聞くと123.123.123.123 と返事がくる。逆にip address で聞くとドメインネームであるexample.comを返してくれる。
わからないと、自動的により上のDNSサーバに聞きに行って返事をくれる。そこでもわからないとさらに上のサーバに聞きに行く。上のサーバとはm の場合はabc.example.comのDNSサーバで、さらに上はexample.comのDNSサーバ、そこでもわからないとac.jp のDNSサーバ、さらに上はjpのDNSサーバということになる。その上は?というと世界中に13台ある。13台といっても論理的にだ。管理しているのはほとんどが米国、スウェーデンとオランダと日本に1台ずつだ。
クライアント(あんたのことだ)がこのページを読みに行きたくてURLをブラウザで入力するとまず一番近いすぐ上のDNSサーバにip address を聞きに行く。ここに登録されているのは、あなたの所属するネットのDNSサーバで、ここに登録されていないと、その上のサーバに、そこでもわからないとさらに上のDNSサーバにと聞きに行く訳だ。それぞれのDNSサーバは自分の範囲のドメインネームは必ず登録してある。mの場合はabc.example.comのDNSサーバに登録してあるのだ。でわからないときは最上位のDNSサーバに聞く訳で、最上位のDNSサーバは jp だったらjpのDNSサーバに、そして jp のサーバはcom だったら comのDNSサーバに、さらにexammple.com だったらexample.comに、そしてdef.example.comだったらdef.example.comのDNSサーバに聞きに行き、そこでabc.def.example.com のip address は123.123.123.123 だとわかる訳だ。
このようなTree構造になっているので、最上位のDNSサーバをルートサーバ(根っこのサーバ)というわけだ。
だれがどう考えたって、何億とあるユーザからの問い合わせがルートサーバに行ったら大変だ。たいてい、途中のサーバが、これまで問い合わせのあったドメインネームを一時的に記憶している。だからルートサーバまで問い合わせることはほとんどないだろうけどそれでも全世界をカバーするのでルートサーバの負荷は大きい。
もしドメインネームとip address の対応を変更すると、途中のDNSサーバに記憶されている昔の名前がなくならない限り最新の情報が返ってこない。しばらく時間がたって記憶が更新されないと遠方からの問い合わせに昔の名前が返って来て接続できないことになる。めったに変更できないわけだ。
スマホを買って新しく契約したとき、電話番号が誰かが使っていたものだと、その誰かの知り合いから電話がくることになる。その知り合いの電場番号簿が更新されないかぎり間違い電話になるわけだ。これと同じだ。
管理者の携帯の場合、もらった電話番号の以前の持ち主は、その筋の人から借金をした人だったらしく、怖いお兄さんから「借金を何時返す?」という脅しの電話が何回かあった。楽しんだよ。
閑話休題。で、DNSに話をもどすとユーザからの問い合わせが殺到したら返事に時間がかかる。しかし、自分の所属するネットのDNSサーバに問い合わするのが普通だ。そのDNSサーバはそのカバーする範囲からの問い合わせにしか答えないのが普通だ。よそからの問い合わせに答えていられないからな。とすると、自分が使っているDNSサーバの能力が低くてすぐ過負荷になると、URL  を入力しても、なかなかページがでてこない。だからといって自由に使えるDNSサーバなどめったにないからしょうがない。ところがGoogle が提供しているようで
8.8.8.8
8.8.4.4
というip address のDNSサーバは誰でも使っていい。あっちの大学はネットが遅いので、このgoogle提供のDNSサーバに変更してみた。問題ない。ちと早くなったかもね。

ファイヤーウオール・ルータFWX120でpptpを通す

YAMAHAルータFWX120でPPTPを通すのに苦労した。ポリシーとかがよくわかってないからだ。NVR500 とかだったら静的なフィルタだけ設定すればよかったのだが、こいつにはポリシーフィルタの設定があって、入力遮断フィルタのあとにこの設定したポリシーが加わるのでポリシーの設定もしないといけないのだ。ポリシーを変更することは滅多に無い、というか、ありえないので適当に加えただけにした。なんせ極小研究室だからな。
LAN2 (WAN)の入力遮断フィルタの設定は;

20140205router_filter

 だ。ぼかしてあるのは、ルータの外にある所属部門共通のファイルサーバのip address だ。SMB で動いているのでwindows のファイル共有のためのプロトコルを通さないといけない。他は遮断しないと、学内から管理者のサブネットが丸見えになっちゃうからな。このファイルサーバだけやりとりするようにした。private ip address なので別に隠す必要はないけど、管理者が管理しているアドレスではないので隠しておいた。
上の3つはMicrosoftのサービスのポート番号135についてだ。1)送信元がなんであれ特定のip address (この場合はファイルサーバ)のポート135宛は通す、2)と3)はポート135のパケットは通さない、ということで、上にある方が優先するので、135ポートについては1)だけになる。
次の4〜6行目の設定はポート135のパケット同様で、ポート137〜139についての制御だ。ポート137〜139についてはこれもMicrosoftのサービスでNetBIOS NetBIOS Name Service、NetBIOS NetBIOS Datagram Service 、NetBIOS NetBIOS Session Serviceのことだ。YAMAHAはNETBIOS_NS-NETBIOS_SSNと表現しているだけだ。このポート番号が宛先のTCP/UDPプロトコルも特定のip address 以外は全部遮断だ
次の7〜9行目はポート番号445についての制御だ。これは445/TCP Microsoft-DS Active Directory, Windows shares 、445/UDP Microsoft-DS SMB file sharingでWindowsのファイル共有プロトコルだ。445については、7)宛先が445ポートはルータ外に通さない、8)特定のip address (この場合はファイルサーバ)側から445ポートの宛先はルータ内に通す、9)445ポートの宛先はルータ内に通さないという設定で、8)が上にあるので9)に優先されることになる。
これで特定のip address(この場合部署のファイルサーバ)以外はWindowsのファイル共有ができなくなる。ルータ外からルータ内(サブネット)のパソコンを覗くことができなくなる。
ファイルサーバを使ってルータ内の共有フォルダを探すのはこれでできないだろうと思うけどいいのかな。
PPTP(Microsoft Point-to-Point Tunneling Protocol )についてが10、11行目である。TCPのポート番号1723 を通す(ルータ内から外へ)必要がある。逆は設定しなくていい。GRE はプロトコル番号47だがTCP/UDPではないのでポート番号はない。両方向に通せばいい。
ポリシーフィルタだが、デフォルトにGREが通るように加えるだけでいいようだ。1723ポートについては加える必要がないようだ。

20140205router_policy

LAN2  LAN1  *  *  GRE の行をデフォルトで加えただけで通る。めんどうだなぁ。

でもしょうがない。管理者のサブネット内はMacもWinもファイルの共有が全く自由にしてあるので、秘密ファイルを外部から覗かれてしまう訳にはいかない。サブネット内は自由にしておかないと色々面倒だからな。便利とセキュリティは相反するからな。

なんでPPTP が必要?それは文献を得るのに現在パートタイムで働いている職場の図書館にリモートでアクセスするからだ。
PPTPで接続が確立していることはパソコンでも表示されるのだが、確認のためには確認くんというサイトが便利だ。どっからアクセスしているかip address とサーバ名がわかるからな。
Windows で「たまねぎ」を使ったとき本当にトレース不可能であることを確認するのにも使える。そんな不埒なことはしたことがないけどね。

エクセルのグラフの色の順番を変更する

エクセルでグラフ、たとえば円グラフを作成するとき、デフォルトの色の順番が気に入らない。
アンケートは大抵、「はい」「どちらかというとはい」「どちらともいえない」「どちらかというといいえ」「いいえ」とか5段階の選択肢がある。このとき 「はい」から「いいえ」の色を虹に揃えて赤橙黄緑青にするとか、あるいは逆にと青緑黄橙赤なんかの順がいいのではないかというわけだ。
Mac の Excel 2011  の話だ。
第一の問題は、MacではデフォルトでLibraryフォルダが見えない。そこで、各ユーザのライブラリフォルダを可視化しないと以下の操作が難しい。
ターミナルを起動し
chflags nohidden ~/Library
を実行する。
リボンの「ホーム」のタグで右端に「テーマ」がある。右のタイルのアイコン20140131excel_themeから好きな配色を選ぶ。
しかし、好きな配色はないだろう。
Powerpoint を起動する。リボンの「テーマ」を選び、右のほうの「テーマオプション」から「配色」をクリックする。
20140131Powerpoint_theme
 
一番下に「新しい配色パターンの作成…」があるのでクリックする。
20140131Powerpoint_theme-2
 
アクセント1〜6の色を「色の変更」から変更する。名前を付けて保存すると「テーマオプション」の「ユーザ定義」に現れるようになる。
このユーザ定義ファイルは /ユーザ/[ユーザ名]/Library/Application Support/Microsoft/Office/ユーザテンプレート/個人テーマ/Theme Colors/ に .xml という拡張子が付いたファイルである。ものすごく深い所にある。この拡張子のファイルはExcel でそのまま使えない。
Powerpoint で配色を今作ったユーザ定義にして、テーマの保存をクリックする。
保存先を聞いてくるが、デフォルトの拡張子は.thmx になっている。なってなければフォーマットからスライドテーマ(.thmx)にして保存する。
Excel に戻って、リボンの「ホーム」「テーマ」の「テーマ」のプルダウンメニューから「テーマの参照」を選び、先ほど保存した.thmx ファイルを指定する。グラフの色の順番はアクセント1〜6の順になるだろう。
一度、参照ファイルを指定すると、今度はユーザ定義にそのファイル名の設定が出現するので次回からは、いちいち参照ファイルを探す必要がなくなる。
しかし、面倒だな。
ユーザテンプレートのフォルダのエイリアスを作ってデスクトップに置けばアクセスが早くなる。