ThinkPad R31にCentOS6.5を入れてみた

もう10年以上前に購入したThinkPad R31(IBMのロゴ入りです!)を死蔵していたのですが、CentOS6.5を入れてみることにしてみました。
これまで死蔵していた理由は、さすがにCeleron1GHz(最近のCeleronではなくて、PentiumIIIの頃のCeleronです)とメモリ512MB(これでも限界まで増設してあるのです)ではWindowsXPといえどもセキュリティ対策ソフトが入っていると非力過ぎることと、なぜかX-windowを動かすとしばらくして画面が死んでしまうのでLinuxで使うこともできないことでした。
しかし、近頃見つけた(出ている)CentOS6.5のライブCDを一晩動かしていても安定しているようなので、インストールしてみることにしました。

ところが、ライブCD上の「Install to HardDrive」を何度クリックしても、しばらくCD-ROMにアクセスした後沈黙してしまいます。ライブCDではなく、ライブDVDにしてもだめ。そこでライブDVDでコンソールを開いてインストーラを起動してメッセージを確認して見たところ、メモリ不足でグラフィカルインストーラは起動できず、コンソール内でCUIのインストーラが立ち上がっていました。

で、HDDのWindowsXP以外を削除した後の空き領域にインストールするよう操作を進めてみたところ、rootのパスワードやタイムゾーンなどの質問のあと、ライブDVDの内容をコピーを行って指示にしたがってリブートしてみたところ、様々な初期の設定項目がでてきました。

再起動後、適当に設定していったところ、CUIのログイン画面へ到達。rootでログイン後、一般ユーザーを作成して、再ログイン。startxで無事にXが起動しました。とりあえずは画面が死んでしまうことはない感じです。これから日本語化や各種サービスのインストールを続けるか、あるいは様子をみてWindowsXP領域を含めてすべてCentOSにするか考え中です。

baidu.jpへの通信を遮断

百度(Baidu)が提供しているIMEのBaidu IMEやSimejiが入力した情報を無断で送信していたというのがニュースになっています。BaiduのIMEはいろんなソフトにバンドルさせてインストールさせようとするので、いつの間にか・・・ということもあろうかと思います。
自分の場合はLinux中心なので(とりあえずBaiduについては)心配いらないのですが、念のため自宅の無線ルータでブロックすることにしました。

Whoisによると119.63.192.0 – 119.63.199.255が百度JPのアドレス範囲ということらしいので、119.63.192.0/21 へのパケットを遮断する設定をしてみます。(他にこの範囲にない 112.78.125.22 というのもあるようなので、これも設定します)

まず、ルータの設定画面を開きました。

screen1

詳細設定の中に、「パケットフィルタ設定」があるので、これを開きます。下記画面はさらに「11~20」を押して11番目から20番目のエントリを表示したところです。この中の下の2つ(優先度が19と20)がBaidu関連のもので、すでに設定した後の画面です。(1~18はデフォルトで設定されていました)

screen2

「追加」を押してエントリーを追加します。外向き(out)パケットを廃棄させるように設定します。優先度には他と重ならない値を設定します。

screen3

これで「設定」を押した後、「保存」を押して保存して完了です。(同じようにもう一つの設定も行います)

ルータで設定すればOSも関係ないし、PCが何台あってもルータ1台設定すれば完了ですので楽ちんです。ただし、simejiを使うスマホはルータを通らないので、個別に削除するなどの処置が必要です。

BaiduのIMEはいろんなところにバンドルさせたり、公告を出したりしてどうやって金儲け・・・と言わないまでも、運営しているかわからなかった(どう考えてもまともにビジネスモデルが成り立つと思えない)ので裏に何かあるのではないかと気持ち悪かったのですが、やはりカラクリがあったと思わざるをえないですね。

全ファイルスキャンしてみた

年の瀬ということもあり、所有する全ファイル(すべてのファイルがFreeNASに入っている)をKasperskyでウイルススキャンをかけてみたところ、秋月で買ったGPSデータロガー GT-730FL-S に添付のCDROMのアプリケーションにトロイの木馬があるという警告が出た。とりあえず、このファイル(ImageSetup_Canmore.msi)を削除して再スキャン。

・・・その後、問題のあるファイルはこれだけだった。
でも、このGPSロガー、結構あっちこっち出回ってたと思うんだけど、大丈夫なんだろうか?

TOCOS Wireless Engineを試してみた

秋月でTOCOS Wireless Engineを入手してみたので動かしてみました。

入手したのはUSBドングルタイプのToCoStickを1つと、モジュールのTWE-Lite DIPの半完成品タイプ2つです。半完成品なので、マッチ棒アンテナとピンヘッダを半田付けしないといけないです。モジュールの端子とピンヘッダの端子がかなり近いので、ショートさせないように気をつける必要があります。

アンテナとピンヘッダを取り付けたら、初めからモジュール内にはアプリケーションが書き込まれているということで、まずはTWE-Lite DIP使用方法(初級編)に沿って動かしてみました。当然かもしれませんが、無事に動きました。本当に「あっ」という間に動くようになります。これだけで簡単なリモコンが実現できそうな感じです。(実際にはIDがぶつからないように設定変更するべきですが)

次に、TWE-Lite DIPを子機だけ1台に設定し、ToCoStickを親機にして制御してみることにしました。
・・・が、ToCoStick用のアプリケーションはLinux版は存在しません。ですので、Android版を試してみました。手持ちの中華Android4.0パッドでは動きませんでしたが、Xperia Aでは問題なく動作しました。こちらの画面では電波の強度も表示できるので、自室(鉄筋コンクリートのマンションで共用通路側です)に子機を置いて、Xperia + ToCoStickの組み合わせで歩き回って見たところ、奥のベランダ側の窓際で電波強度はギリギリ、共用通路側は自室前は問題ありませんが、隣家の前まで行ってしまうと電波強度はギリギリでした。まあ、WiFiの電波も飛び交っている所ですし、窓は防犯用の網入り窓ガラス + アルミ合金製ブラインドがついている(しかも閉めっぱなし)なのでしかたがないところだと思います。

次にToCoStickをLinuxマシンにさしてターミナルプログラムで115.2kbpsにて /dev/ttyUSB0 をみてみると、子機から飛んでくるデータがすでに見えています。TWE-Lite DIP使用方法(上級編)をみると、UARTでの制御は簡単そうです。

また、Raspberry Piに挿して、sshでRaspberryPiにログインした後、

$ screen /dev/ttyUSB0 115200

とすると子機からのデータが流れてくる様子をみることができます。(終了は CTRL-A + 大文字K)

ちょっと動かしてみただけですが、TWE-Liteは非常に扱いやすくまとめられていて、いろいろ工作のネタがありそうです。特に初めから収められているアプリケーションはIDさえ変えて混信回避の策をとれば十分にいろんなことに使えそうです。それに何といっても『認証済みの無線モジュールが秋葉原で安価に手に入る』というのは夢のようです。
欲を言えば、縦方向に場所を取るマッチ棒アンテナではなく、チップアンテナやパターンアンテナタイプがあればいろんなものに押し込むのに便利な所ですが・・・。

xrdpで日本語キーボードを使う

xrdpが動いているホストに rdesktop で接続にいくと、キーボードマップが英語になってしまっており、記号入力などで難儀します。

で、直す方法を調べたのでそれをまとめておきます。

解決方法はこちらに記載がありますが、まとめると、記載の最後にあるファイル「km-e0010411.ini」をダウンロードして、 /etc/xrdp に以下のファイル名で置くと解決しました。

  • km-0411.ini
  • km-e0010411.ini
  • km-e0200411.ini
  • km-e0210411.ini

つまり、

$ cd /etc/xrdp
$ sudo wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini
$ sudo cp km-e0010411.ini km-0411.ini
$ sudo cp km-e0010411.ini km-e0200411.ini
$ sudo cp km-e0010411.ini km-e0210411.ini

で完了です。

 

 

OpenVPNをインストールしてみた

自宅内のネットワークに自宅外からアクセスしたい、と長らく思っていたのですが、ずっと先延ばしにしてきました。しかし、どうしても家にあるソースコードなどにアクセスしたい場面が出てきましたので、OpenVPNをインストールしてみました。

通常は自宅内にOpenVPNサーバを立ててルータから port forwarding をかけるのでしょうが、残念ながら自宅で配られるIPアドレスはクラスBのプライベートアドレス(172.16.0.0/16)なので、自宅まで辿り着けません。ルータは自分のものではないので、もちろん port forward も受けられません。

となると、どこかインターネット上に中継点が必要になります。google先生に聞いてみると、さくらのVPS上にOpenVPNをインストールしている方が結構いることがわかりましたので、別なVPS鯖を確保してやってみました。細かい手順は先達がたくさんいますので、インストール手順は省略します。

構成としては、こんな感じです。

Screenshot

さくらのVPS上にOpenVPNをサーバーモードで立てて、宅外クライアントと自宅の間を client-to-client 転送でルーティングします。ローカルネットワーク側はRaspberryPiにOpenVPNをクライアントモードでインストールして、自宅内とさくらのVPSの間でルーティングをさせました。

インストール後、セキュリティ上の懸念から、FreeNASについては普段はローカルIPからのアクセスのみに変更し、外部からアクセスする場合はその際に変更することにしました。

無料VPSサービスを試してみた!

host1free + CentOS6 編

ログインしたらまずアップデート。

# yum update

111Mのアップデートと出たが、とにかくアップデート。
次に、SSHのログインポート変更。/etc/ssh/sshd_config の最初の方の

# Port 22

Port xxxx

に変更して、

# /etc/init.d/sshd reload
sshd を再読み込み中: [ OK ]

としてから、他のローカルシェルからログインできることを確認する。ちなみに CentOS の方は nano はなくて、vi が入っていた。

次に開いているポートを確認。

# netstat -untap

うーん、こちらは(Debianと比較して) smtp と httpd が開いている。Apache2がデフォルトで入っている模様。テストページも表示できてしまう。sendmailの方は要らないので

# yum -y remove sendmail

でアンインストール。Apache2の方は自動起動解除する。

# chkconfig | grep httpd
httpd 0:off 1:off 2:off 3:on 4:off 5:off 6:off  ※デフォルト確認
# chkconfig httpd off
# chkconfig | grep httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

自動起動がOFFになった。戻すときは、

# chkconfig --level 3 httpd on
# chkconfig | grep httpd
httpd 0:off 1:off 2:off 3:on 4:off 5:off 6:off

とする。

wheelグループのユーザーIDを追加する。

# useradd xxxx
# passwd xxxx
ユーザー xxxx のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。
# usermod -G wheel xxxx

/etc/pam.d/su を編集し、「auth required pam_wheel.so use_uid」の行のコメントを外して、wheelグループのみが root になれるようにする。

# visudo

で /etc/sudoers を編集。最後の方の、

## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

のコメントを外してsudo コマンドが使えるようにする。
一般ユーザーでログインして root になったり sudo が使えることを確認したら、/etc/ssh/sshd_config を再度編集して、

#PermitRootLogin yes

の行を

PermitRootLogin no

に変更して、

$ sudo /etc/init.d/sshd reload

として設定ファイルを再読み込みさせてルートでのログインを禁止する。

次に、セキュリティアップデートの適用を自動化する。

# yum -y install yum-cron
# /etc/rc.d/init.d/yum-cron start
# chkconfig yum-cron on

うお、インストールするとsendmailもインストールしてしまう。

# chkconfig sendmail off

で起動を止める。

とりあえず今日はここまで。

無料VPSサービスを試してみた!

host1free + Debian7.0 編

いろいろググっていたら、無料のVPSサービスがあるらしい、ということがわかったので試してみました。
試してみたのは host1free というサービスです。登録方法については「host1free」でググると、日本から試した方が結構いるようで、先達の知恵を借りられます。

ユーザー登録時にOSを選択できますが、自分はDebian7.0 64bitを選択しました。登録すると直ちに確認のメールが飛んできて、それでユーザー確認が済むと2時間くらいして「使えるようになったよ」というメールが飛んできていました。(欲張って複数登録すると、「有料サービス使え」ってアカウント剥奪されるらしいので、試す人は気をつけて!)

でコントロールパネルにログインしてみてみると、DISK 10GB、RAM 128MB、SWAP 256MB というスペックで、コントロールパネルによればすでに動作している模様でしたので、

$ ssh root@IPアドレス

でアクセスしてみると、無事にログインできました。とりあえず、

# apt-get update
# apt-get upgrade

として、OSのアップグレードをおこないましたが、update の時点でアクセスできないサーバがありました・・・・とりあえず、放っておいてupgradeしました。後日再トライしてみます。

sshdはすでに動いているようなので、/etc/ssh/sshd_configを修正して ssh でログインする際のポート番号を変更します。(なんと、デフォルトでは vi が入ってないことがここで判明・・・)

# cd /etc/ssh/
# nano sshd_config

初めの方にある「Port 22」の行を適当なポートに変更します。変更後、

# /etc/init.d/ssh reload
[ ok ] Reloading OpenBSD Secure Shell server's configuration: sshd.

として、再読み込みさせて、別のシェルから

$ ssh -p ポート番号 root@IPアドレス

としてログインできることを確認します。
確認できたら、

# apt-get install ufw
# ufw default deny
# ufw allow ポート番号
# ufw enable

として、変更したsshのポート番号以外を塞ぎます。SSHでアクセスができなくなるかもしれない、という警告が出ますが、そのまま実行したら・・・・固まっちゃいました・・・。
そういえば、ifconfigの結果が怪しかったのだった・・・。

# ifconfig
lo Link encap:Local Loopback 
 inet addr:127.0.0.1 Mask:255.0.0.0
 inet6 addr: ::1/128 Scope:Host
 UP LOOPBACK RUNNING MTU:16436 Metric:1
 RX packets:0 errors:0 dropped:0 overruns:0 frame:0
 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:0 
 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
 inet addr:127.0.0.2 P-t-P:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.255
 UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
 RX packets:20311 errors:0 dropped:0 overruns:0 frame:0
 TX packets:11796 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:0 
 RX bytes:26771927 (25.5 MiB) TX bytes:827575 (808.1 KiB)
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
 inet addr:x.xxx.xxx.xxx P-t-P:x.xxx.xxx.xxx Bcast:x.xxx.xxx.xxx Mask:255.255.255.255
 UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

どこかにPPTPで接続してる感じなのを忘れてた・・・。さくらのVPSとはこの辺が違いますね。

・・・貝になってしまったサーバはどうしようもなさそうなので、サーバコンソールの「rebuild」から新しいrootのパスワードを入れ直して再インストールすることにしました・・・。

・・・といっても、5分くらいで再インストール完了。

・・・で、再トライするも、何のポートを開ければ回避できるのかがわかりません。かといって、いくらなんでも ファイアウォールなしでは気持ち悪いので、CentOS6 に変えてみることにしました。

また気圧計の電池がなくなりました

前回10月30日に電池交換した気圧計ですが、今日電池がなくなって止まってました。
今日の昼間は稼働していたので、ほぼ25日間の動作ということになります。単三で作れば2ヶ月くらい駆動できるかな?
自作の電池駆動機器で簡単にこれだけの期間連続動作させられるようになるなんてしばらく前には予想できませんでしたね。

秋月に新しいユニバーサル基板が登場

秋月電子のサイトを見ていたら、新しいユニバーサル基板が出ているのを発見。

従来の2.54mmピッチの端子間に表と裏にそれぞれ異なる向きで電源バスを這わせて、交差点の部分にスルーホールを設けた構造みたい。
単一電源の回路であれば電源・GND配線が格段に簡単になる上に、4層基板には届かなくても電源インピーダンスは確実に下がるはずので、いろいろ作りやすくなりそう。
(かといって、沿面距離は何をしても大幅に小さくなってしまうので、高電圧がかかる回路は絶対に避けないといけないですが)

プルアップやプルダウンの抵抗・パスコンも1005のチップ品を使えば電源グリッドのスルーホールから直接接続できそうな感じ。1608ではちょっと苦しいかな(いけたらうれしいのだけど)

サイズはBタイプCタイプの2種類。今度見かけたら買ってみることにします。