2018年06月10日(日) - 22:42 | カテゴリ:
PC
外出用ノートPCに、ThinkPad x201を使い続けていたのだが、
先日のWindows10 1803を適用した辺りから挙動が著しく変になっていた。
前々からスクロールが効かなかったり、バッテリー制御が変になる事はあったのだが、
ディスプレイの明るさが調整出来なくなるのが出た辺りで、
「こりゃアカン…」と思い新しいPCの物色を開始。
ちなみに、明るさ制御はレジストリを下記の通り書き換えたら復活した。
※下記は自己責任で
—
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001]
—
KEY:”FeatureTestControl”
VALUE:0xFB20 |
………
候補としては、持ち運びを最優先に考えた「Panasonic CF-RZ6」
何時も通りの「Lenovo ThinkPad x250」の二つが上がっていたのだが、
ジャンク屋で状態が相当良いジャンクThinkPad x250を売っていたので確保。
ただ、液晶がHDサイズだったのでコチラを自力でフルHD化してみた。

本体が25,000円、FHD液晶が11,500円からクーポン値引きで10,000円の合計35,000円。
状態の良さを考慮するとかなりお買い得だった。
液晶がHDサイズ、CPUがCore i5-5300Uのタイプだった事もあり安かったのかもしれない。
ただ、初期状態でメモリが8GBあったのでコレに決めた。
SSDは今まで使っていた(画面奥に転がっているx201)を移植、液晶は速攻で交換した。
久々にThinkPadをバラしたのだが、初っぱなから液晶の前面パネル爪を2箇所折った (´;ω;`)
ただその辺りはThinkPad。他の爪で補えるように設計されているので、はめ込んでしまえば問題無かった。
HDDのSSD交換は特に問題無く終了。微妙にパネルを戻しずらかったがこんな物だと思う。


写真でも判る通り、シール跡が少しあるものの塗装ハゲ無し、凹み無し、ゴム足完備の筐体。
ここまでキレイな物を見かける事は少ないので素体としても良い買い物だった。


液晶はアマゾンでLP125WF2-SPB2を購入。ヤフオクでも良かったのだが、
アマゾンの方がトータルで安かったのでこちらにした。
ちなみに、LP125WF2-SPB1で出る液晶光度調整が出来ない問題は出なかった。
キーボード・トラックポイントは、ほぼ未使用な状態。
もしかしたら前オーナーは外部キーボードで操作をしていたのかもしれない。
指紋認証モジュールもちゃんと動いたので、Windows10の指紋認証をONにした。
………
で、今まで使っていたThinkPad x201をどうするかなのだが、
このまま廃棄すべきか、Linux筐体として使い回すか迷う所。
x201のキーボードが打ちやすく、ハッカソンみたいな事をやる時に重宝する。
いっそのこと、Windows機をx250、Linux機をx201の両刀使いになるのも良い気がしてきた。
MacBookも併用していたり場面に応じて使い分けている事もあり、
適当なSSDを入手出来たらLinux化を本格的に検討しようと思う。
« 続きを隠す
2018年05月19日(土) - 22:57 | カテゴリ:
Linux
ns-lab BBのサーバ群は基本的に仮想サーバで構築しており、
ハイパーバイザーはKVM・Hyper-Vが主に、VPSを借りたりもしている。
その時微妙に問題になるのが深夜のスクリプト処理でCPUが奪い合いになる事と、
/dev/randomのエントロピー不足によるReadLockであったりする。
今までは表面化していなかったのだが、kernel 4.16辺りで導入された、
“crng_init” の初期化仕様変更に伴い、起動直後から/dev/randomを直参照する必要が出てきた。
ただ、起動直後は乱数の元となるエントロピーが溜まっていない為、
ReadLockが発生してしまいOSの起動が止まってしまった。
この問題に行き着く迄に1週間を費やし、kernelリビルドを10回程実行 ヘ(゚∀゚ヘ)
LKML.ORGを見るとこの問題の対応方針がまだ決まっていない見たいだが、
CVE-2018-1108の脆弱性対応も含まれているらしく、仕様がひっくり返る事は無さそう。
「だったら起動直後からエントロピーを蓄積出来る方法が無い物か」と、
/dev/randomエントロピー蓄積に使えそうな物を探してみた。
Google翻訳片手に頑張った自力解釈なので、間違いがあってもごめんなさい。
ちなみに、下記方法を使っても今回の問題は解決出来ないのであしからず (´・ω:;.:…
理由は最近わかったのだが、問題となっている “crng_init” はkernel読込み時に参照するコードであるが、
下記の方法はkernelが起動した後のOS階層で実行される為、そもそもタイミングが違うらしい。
- TPM (Trusted Platform Module)
rngdから「-o /dev/random -r /dev/my_hw_random_device」の様に定義して利用する
ノートPCに搭載されているチップで、TPM内で公開鍵を作る事も出来る
20KB/s程度のエントロピーを作れるらしく、TPMを搭載しているならば有用な手段
- HAVEGE (Hardware Volatile Entropy Gathering and Expansion)
daemonが/dev/randomのIOに直接エントロピーを提供するらしい
多くのディストリビューションでパッケージが提供されているので手軽に実装出来る
- bcm2708-rng / bcm2835-rng
Raspberry Piで使える手法。ラズパイのバージョンによりチップも変わる
kernelで [bcm2708-rng (bcm2835-rng)] モジュールを呼び出した後、
rngdを起動する事で/dev/randomのエントロピー収集元として、
/dev/hwrngを参照するようになる
- NeuG (True Random Number Generator)
A/D変換器のノイズをエントロピーとして利用する
A/D変換を使う為ハードウェアが必須となり、FST-01Gが存在する
- VirtIO RNG
仮想環境はハードウェアに直結する実装が少ない為、エントロピーが不足しやすい
「だったら、ホストOSのエントロピーをパススルーする」のがVirtIO RNGの手法
libvirtで利用するならコチラのサイトでXMLの設定方法を紹介している
………
乱数エントロピーは色々な種類があり、超高価な物なら核反応の分裂数を使ったりもするらしい。
調べればもっと出てくると思うが、個人レベルで入手出来る物だとNeuG辺りになるのかもしれない。
後はRaspberry Piに搭載されているBCM2708も良い乱数元になりそう。
どれを選ぶにしても本来の目的であった “crng_init” 制御には使えないのだが、
/dev/randomのReadLockはハマると怖いので動作仕様を把握しておこうと思う。
« 続きを隠す
2018年04月21日(土) - 01:01 | カテゴリ:
Network
今まで自宅の無線LAN環境はマルチベンダーを前提に、
家庭用のバッファローAPを使いつつ、大トラフィックはAironetに流す構成にしており、
レスポンスもそれなり早かったので満足してた。
ただし、昨今はIPv6の検証を行う事も日常的になってきており、
そんな中で無線LANだけはIPv6に対応していないのがネックとなっていた。
という事で結構前に衝動買いしたAironet 2600を押し入れから引っ張りだし、
無線環境を刷新してみた。
全体構成図は下記の通り。
部屋が複数あるので自宅の対角線上にAPを2台配置しつつ、
1台のAPで2.4GHz・5.2GHzを同時出力する構成にしてみた。
※下記ではAP1台で1種類の周波数に見えるが、実際は両周波数を出力中

SSIDはIPv4専用・IPv6専用を用意する事で、用途に応じた使い分けを出来るようにした。
無線LANセグメントのデフォゲは1台のルータで処理をしているが、
NW負荷はそれ程高く無いので問題無いと判断した。
別部屋に置いていたイーサネットコンバータは、今までWLI-TX4-AG300Nを使っていたが、
流石に老朽化して不調になる事も多々あったのでNTP設定で話題になったTP-Link製にしてみた。
軽く触ったが、W53/W56に対応していない事や、管理画面のログイン処理が雑だったり、
無線APなのに謎のTCP/22が空いた状態になっている以外はは問題無かった。
…無線セグは元からルータでACLかけているので、
やばそうな通信はAnyDenyした上で使おうと思う ヘ(゚∀゚ヘ)
………
上記構成で唯一嵌まったところとしては、
Aironet実機型番とIOSバージョンの組み合わせによっては、BVIのIP指定方法が変化する点。
通常のAironetはBVI1に管理IPアドレスを1つ付与する運用をすると思うが、
ns-lab BBの既存APではBVIを敢えて2つ以上作成していた。
ただ、今回購入したAironet2600ではBVIを1つしか作成出来ない事に気付かず、
管理I/FとしてLInkUPはしているが、ARPは引けない事象が発生した (´・ω・`)
原因はBVI2以降に対応していない為、元からIP疎通は出来ないのに、
BVI1以外を作成した段階でMACアドレスが強制的にBVI1以外に適用されてしまい、
ARPを引けなくなるからだった。
という事で、今回からAP1台で1管理IPの構成に変更も行った。
………
という事で小さな事に嵌まりはしたものの、今の所は快適にIPv4/IPv6で通信が出来ている。
ただ、無線AP製品は長期間使ってみないと善し悪しがわからないので、
暫くは今回構築した構成で行こうと思う。
« 続きを隠す