2019-10-31

ルーターに侵入の試みは1日に約4,000件

我が家のルーターにアタックしてくる件数は1日で3,500〜4,200件くらいです。


1分当たりでは3件未満ですので、それほど多い状態ではありませんが、毎日これくらいの件数がルーターでブロックされています。



まぁ、飽きもせずにやってくるヤカラにご苦労さん、といいたくなる程度にはきているということです。


もっともほとんどは自動でキャプチャーしたパケットを解析して機械的にアタックしているだけです。



万一侵入経路が発覚した場合は容赦なく攻めてくるか、踏み台にして利用するか、あるいはほかへの攻撃のためのプログラムを仕込むか、いろいろでしょう。



このブロック数は、使う端末数などが多ければそれに比例して増えると思われます。












IPv4 アドレス枯渇問題について

欧州では本年11月に IPv4 が枯渇するようです。



これまで世界では何度もこのアドレス枯渇問題が議論され、一部には IPv6 に移行したサイトもありますが、まだまだ圧倒的に IPv4 でのサービスになっています。






国内でもプロバイダをはじめ次のような対策が講じられてきました。



1.グローバルアドレスは動的割り当て方式にする。

  これは接続時のみ割り当て、切断時はそのアドレスを「未使用」状態にして
  未使用状態のアドレスを使い回す。

  ほとんどのプロバイダはこの方式です。


2.グローバルアドレスは割り当てないで、プライベートアドレスを割り当てる。

  ソフトバンクなどはこの方式です。

  また、モバイルでもこの方式を採用しているところは年々増えています。


3.ハイブリッド形 ①(PPPoE + IPoE 方式)

  IPv6 との併用ができるようにし、IPv6 の本格的普及時に備える。

  従来の IPv4 サービスサイト(現在は圧倒的にこのタイプのサービス)には IPv4 で
  通信し、IPv6 サービス(まだ極めて少ない)には IPv6 でできるようにする。


4.ハイブリッド形 ②(トンネル方式)

  IPv4 over IPv6 といわれているもので、どちらかというと PPPoE の混雑時の速度
  低下対策としてサービスされてきましたが、3項と似ています。


  速度低下はフレッツネクスト網を PPPoE で使う場合に発生します。


  3項との違いは IPv4 通信を PPPoE ではなく IPv6 のパケット内に入れて、
  ネットワーク・イネイブラーといわれる事業者の設備で IPv4 または IPv6 で接続
  サービスする方式です。

  ただし、ポートの使い方が2項同様、制約を受けますので自局がサービスする場合
  などに影響を受けます。



以上のような対策が講じられてきても IPv4 アドレス枯渇問題は避けようがなく、いつ枯渇するかは時間の問題になっています。



今般、欧州で近々おとずれる枯渇問題は早晩世界中の地域で発生します。


日本とて例外ではありません。


一般ユーザーがどうこうできる問題ではありません。



ただ、3項や4項の対応をすることによって、来たるべき事態に備えることはできます。


現在できているサービスが制約を受けるかも知れませんが、PPPoE との併用で切り抜けるしかありません。



モバイルも IPv4 と IPv6 の両方に対応したデバイスが主流になってきており、意識せずとも3項の状態になってきています。

 (古い機種はこの対応ができないものもまだ少なくありません)。



WiFi スポットはほとんどが「プライベートアドレス割り当て」です。






抜本的にはすべてのサービスサイトが IPv6 に移行し、ユーザーも IPv6 でサービスが受けられるようにすることでしか枯渇問題は解決しないのです。





逆にすべてが IPv6 に移行すると、IPv4 アドレスは一気に未使用状態になりますから、新たな活用方法が議論されるかも知れません。



管理人の場合、そのような時期までこの世にいないと思いますから、余計な心配はしませんが。











2019-10-28

LinkStation は Debian Server 化しなくても Linux Server として使える

個体をバラして HDD を取り出してこの HDD に Debian インストーラーを書き込む、というような面倒なことはしなくても Server として使うことができます。


もちろん、Debian Server 化するほうがサーバー機能は充実しますが、一方で元々の LinkStation の機能が使えないことも生じます。


顕著なものが DTCP-IP です。


これはこれで困りますよね。


ほかの大半の機能は Debian Server 化してもできる設定が可能ですが、DTCP-IP だけはフリーライセンスのパッケージが存在しないので、できません。




管理人は、LinkStation の Debian Server 化(LS210D0101C と LS-AV1.0TL/A の2機種)もしてみました。



きっかけは syslog server を立てたかったからです。


Mac を syslog server 化してルーター/ RTX830 の syslog を取得できるようにはしましたが、Mac にほかの機器のログが溜まるのは抵抗感もありました。


といって、すでにある Raspberry Pi 3B を syslog server にするのも抵抗感があります。


なぜなら、Raspberry Pi 3B は SD カードを HDD 代わりにしていますので、頻繁な書き込みは SD カードの寿命を短くしてしまいますので避けたいからです。




Debian Server 化すること自体に興味があったこともありますが、Debian Server 化すると DTCP-IP が使えず、結局は元の LinkStation に戻すかどうかで悩み、結果的に戻しました。



戻すことに決めた理由は、ネイティブな LinkStation のままでもパッケージのインストールができ、当初の目的の syslog server 化ができたからです。



多数のヒトが共有するサーバーには向きませんが、個人利用もしくは少人数での利用ならば、LinkStation はコンパクトで、共用ディスクとしても使用できますのでうってつけです。




ながなが前置きを記述しましたが、本題です。



LinkStation のサーバー化は次の手順で行います。


1.ssh でログインできるようにする
2.ログインして ipkg というパッケージ管理システムをインストールする

  debian ならば apt(dpkg)が使えます。

  LinkStation にも apt の仕組みはありますが、バッファロー自身が使うための
  ものみたいで、ユーザーには使えません(dpkg も使えません)。

3.必要なパッケージを ipkg でインストールし設定を行って使う




Web Server / Mail Server / Asterisk Server 等々に仕立てることができます。

また、コンパイルや make もすることができるようにもなりますから、ソースから機能を作成することもできます。


まさにサーバーです。



バッファローの NAS は新品の場合で 1万円強からあります。
中古でよければ、ヤフオクやメルカリ、Amazon などで 1,000 円〜数千円 くらいで手に入ります。




具体的には次のようにします。


1.ssh でログインできるようにする

  acp_commander.jar というツールをダウンロードしてきます。
  これは、java スクリプトでできた「1ラインコマンドツール」ですから、
  Windows でも Mac でも使えます。

  このツールを使って、

   ① root のパスワード設定をする
   ② root 権限で、ssh の設定ファイルの一部を修正しログイン可能にする
   ③ ssh をリスタートさせる
   ④ ssh でログインする

  という手順で行います。
  
   NAS : LinkStation に ssh で入れるようにする や、

   LS-AVL に ssh で入れるようにする や、

   LinkStation に ssh で root ログインできるようにする にやり方が記載されています。


2.ログインして ipkg というパッケージ管理システムをインストールする

  これは、LS-AV1.0TL/A と LS210D に ipkg をインストール に記載しています。


3.必要なパッケージを ipkg でインストールし設定を行って使う

  syslog server(syslog-ng サーバー)を設定した事例を

   LinkStation ネイティブ LS210D に syslog server を立てる

  に記載しています。





以上で LinkStation のネイティブ機能を損ねることなくサーバー化ができます。



ただし、ssh で root 権限で入れるようにしていますので、

 ■ セキュリティに気をつけること

 ■ 不用意に設定をいじると NAS として立ち上がらなくなるリスクがある

ので、自分が何をしているかを理解しながら扱わないと文鎮化してしまいます。


もっともその場合の元への戻し方も当ブログのほかの記事に記載していますので、あわせてご覧ください。











2019-10-25

LinkStation ネイティブ LS210D に syslog-ng server を立てる

LS210D に元々入っている syslog デーモンは外からのログを受け入れることができません(LS210D のログを外部に出力設定はできます)。


なぜか、LS210D よりも古い機種である LS-AVL の syslog は外部のログを受け入れる log server 機能があります。




ネイティブ LS210D に ipkg 環境を整備しましたので、syslog-ng をインストールすれば syslog server にできるはずです。


まずは、syslog-ng をインストールします。


[root@LS210DF58 ~]# ipkg  update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable//Packages
Updated list of available packages in /opt/lib/ipkg/lists/cs08q1
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/cross
Successfully terminated.
[root@LS210DF58 ~]# ipkg  install  syslog-ng
Installing syslog-ng (2.0.10-2) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/syslog-ng_2.0.10-2_arm.ipk
Installing glib (2.20.4-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/glib_2.20.4-1_arm.ipk
Installing eventlog (0.2.7-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/eventlog_0.2.7-1_arm.ipk
Installing psmisc (22.17-1) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/psmisc_22.17-1_arm.ipk
Configuring eventlog
Configuring glib
Configuring psmisc
update-alternatives: Linking //opt/bin/killall to /opt/bin/psmisc-killall
update-alternatives: Linking //opt/bin/pidof to /opt/bin/psmisc-killall
Configuring syslog-ng

To use syslog-ng, comment out any lines in /etc/inittab referring
to syslogd or klogd before you start syslog-ng for the first time.
After commenting the lines, run /opt/etc/init.d/S01syslog-ng.
The program will be started automaticaly at the next reboot.

Log files will be created by default in /opt/var/log.
Successfully terminated.
[root@LS210DF58 ~]#


上記の紫字部分に、

  syslog-ng を使用するには、syslog-ng を初めて起動する前に、syslogd または
  klogdを参照している /etc/inittab の行をコメント化します。
  行をコメント化した後、/opt/etc/init.d/S01syslog-ng を実行します。

  プログラムは、次回の再起動時に自動的に開始されます。

とありますが、/etc/inittab の各行をコメントアウトしてしまうと NAS を起動できなくなりますのでこのメッセージは無視します。


私は、疑問を懐きながらもコメントアウトして、再起動できなくなってしまいました。

修復のために、ディスクを Lubuntu PC につないで、これを元に戻して再起動できましたが、一時は慌てました。


 ::sysinit:/etc/init.d/rcS
 ::restart:/sbin/init
 ::shutdown:/etc/init.d/rcDown
 ::shutdown:/bin/umount -r /
 ::respawn:/sbin/agetty -L ttyS0 115200 vt100




実際の /etc/inittab は上記の内容ですが、冷静に考えると syslog-ng とバッティングするものはありません。




一度、syslog-ng を起動してみます。


[root@LS210DF58 ~]# /opt/etc/init.d/S01syslog-ng  start
[root@LS210DF58 ~]#


起動されました。


このままではまだ syslog server にはなっていませんので、/opt/etc/syslog-ng/syslog-ng.conf を編集します。


不要行を削除し、ログ対象のサーバー(ルーター RTX830 です)を定義します。




以下は編集後の /opt/etc/syslog-ng/syslog-ng.conf です。


syslog-ng は syslog や rsyslog とは少し設定ファイルが異なり、「構文」を持っています。

'options' と、'destination' と 'filter'、'log' からなり、それぞれ次の役割があります。


 'options'  :全般的なオプションを定義します 
 'destination':出力先を定義します
 'filter'    :入出力条件を定義します
 'log'    :’filter' 条件をどの 'destination' に適用するかを定義します。


[root@LS210DF58 ~]# cat  /opt/etc/syslog-ng/syslog-ng.conf
#
# Syslog-ng example configuration for for NSLU2 Unslung 3.x
#
# Copyright (c) 1999 anonymous
# Copyright (c) 1999 Balazs Scheidler
# $Id: syslog-ng.conf 5159 2007-01-12 20:37:44Z fcarolo $
#
# Syslog-ng configuration file, compatible with default Debian syslogd
# installation.
#

options { long_hostnames(off); sync(0); perm(0644); };
# 'perm(0644)' で作成されるログ・ファイルを root ユーザー以外が読めるようにする
# これは共用フォルダーに書かれたログファイルを Mac(PC)から読むためです

source src { pipe("/proc/kmsg");unix-stream("/dev/log"); internal(); udp(port(514)); };

destination authlog { file("/opt/var/log/auth.log"); };
destination syslog { file("/opt/var/log/syslog"); };
destination cron { file("/opt/var/log/cron.log"); };
destination daemon { file("/opt/var/log/daemon.log"); };
destination kern { file("/opt/var/log/kern.log"); };
destination messages { file("/opt/var/log/messages"); };
destination rtx830 { file("/mnt/disk1/Data/rtx830/${YEAR}${MONTH}${DAY}_rtx830.log"); };
# RTX830 のログファイルを NAS のデータフォルダーに置く
# ファイル名は 20191025_rtx830.log のように日付ごとに作成するようにする
# これによりログ・ローテーションが不要になる 

filter f_auth { facility(auth); };
filter f_authpriv { facility(auth, authpriv); };
filter f_syslog { not facility(authpriv, local1); };
# syslog から facility 'local1' を除外
filter f_cron { facility(cron); };
filter f_daemon { facility(daemon); };
filter f_kern { facility(kern); };
filter f_messages { level(info..warn) and not facility(auth, authpriv, local1); };
# messages から facility 'local1' を除外
filter f_rtx830 { facility(local1); };
# rtx830 の facility 'local1' を指定(rtx830 のログのファシリティ番号は 'local1'

log { source(src); filter(f_authpriv); destination(authlog); };
log { source(src); filter(f_syslog); destination(syslog); };
log { source(src); filter(f_cron); destination(cron); };
log { source(src); filter(f_daemon); destination(daemon); };
log { source(src); filter(f_kern); destination(kern); };
log { source(src); filter(f_messages); destination(messages); };
log { source(src); filter(f_rtx830); destination(rtx830); };
# rtx830 のログは destination(rtx830) とする設定
[root@LS210DF58 ~]#




構文チェックは次のようにします。
エラーがあればそのようにメッセージされ、なければプロンプトだけが戻ります。


[root@LS210DF58 ~]# /opt/etc/init.d/S01syslog-ng  -s
[root@LS210DF58 ~]#



エラーがなければ出力先のディレクトリを作成し syslog-ng を再起動します。

[root@LS210DF58 ~]# mkdir  -m  666  /mnt/disk1/data/rtx830
[root@LS210DF58 ~]# /opt/etc/init.d/S01syslog-ng  restart
[root@LS210DF58 ~]#


あとは RTX830 のログ出力先を RTX830 のコマンドで指定します。

syslog  host  1ww.xxx.yyy.zzz('1ww.xxx.yyy.zzz' は LS210D のアドレス)


このコマンドを入力すると YYYYMMDD_rtx830.log が作られて出力されます。



以上で、ネイティブ LS210D が syslog server になりました。




実際に LS210D の共用フォルダーを見てみますと下図のようになっています。

RTX830 ルーターのログが 20191025_rtx830.log / 20191026_rtx830.log ファイルとして採取されています。


日付ごとに採取されているのが見て取れます。

ログの中身にも 24:00 までが前日分、0:00 以降が本日分、というように採取されています。


したがって、ローテーションも不要です。




画像をクリックして拡大





NAS の共用フォルダーですから、いつでもログを見ることができますので便利です。

ログを見るためにルーターにログインしなくても済みます。



Mac の場合は .log はデフォルトではコンソールアプリが表示しますが、テキストエディターなどでも見ることができます。





ipkg によって、こういうことが可能になりますので Debian Server 化は結果的にはしなくても済んだことになります。









2019-10-24

IPoE(IPv6)接続について

PPPoE(IPv4)接続での混雑時間帯(概ね 20:00 〜 24:00)における速度低下の酷さは、NTT 光回線の場合に発生しています(CATV 事業者の J:COM も速度低下が酷いようですが)。



これはプロバイダと NTT との接続点が「一定の帯域幅以上には自由にできない(細い)」ことが原因です。


NTT 回線を使った場合はプロバイダ経由が速度低下を引き起こしていますが、これはプロバイダが悪いのではなく、NTT の接続約款で遅くならざるを得ない契約をプロバイダが強いられているのが原因です。



使うユーザー一人一人に十分な帯域が与えられていないのが原因なのです。


混雑時間帯でなければ、その時のユーザー数が少ないので、一人あたりの帯域が広く使えるので速度低下がさほど無い状態になるのです。


速度低下は VDSL 方式か光ファイバー方式かの区別なく起こってしまいます。


ギガ回線契約していても、酷いときは 1〜2 Mbps あるいはこれ以下なんていうこともあります。



この接続点を経由しないで、IPv6 接続して、この IPv6 の中に従来の IPv4 パケットを通す方式が IPv4 over IPv6(トンネリング方式)です。


IPv6 はプロバイダとの接続点を経由しないで、NTT の NGN を直接経由しますので、速度低下しにくいということです(NGN バックボーンは十分な帯域幅がある)。


ただ、インターネットに出ていく(入ってくる)ときには、現状では殆どのサービスサイトが IPv4 ですので、これを IPv6 内にカプセル化された(トンネリング化された)状態から IPv4 に戻す必要があります(入ってくるときは IPv4 から IPv6 へカプセル化)。


それを行っているのが V6プラスなどのサービス事業者です。



大きく以下の3つの方式が国内ではサービスされています。

 ■ MAP-E(V6プラス:JPNE、OCN、BIGLOBE)
 ■ DS-Lite(transix:MFEED)
 ■ 4rd/SAM(BBIX:ソフトバンク光)



方式により一長一短がありますが、外からの接続性は V6プラスに優位性があります。


外向きはどれを使っても実態的な差はありません。




なお、独自に回線を提供している au(KDDI)、nuro 光、eo 光(関西地区のみサービス)は PPPoE でも混雑時間帯の速度低下はあまりない、とのことです。


これはこれらの回線提供事業者が接続点を NTT のような「一定の太さ」に限定していないからです。




トンネル方式がプロバイダを経由しないのにプロバイダ契約が要るのはなぜか?


NTT は NTT ネットワークに閉じたサービスしか提供できません(法律上)。


そこで、プロバイダがインターネット接続サービスを提供しているわけです。



V6プラスなどのサービス事業者(JPNE ほか)のサービスを使う場合、プロバイダ契約があって、プロバイダからサービス事業者への接続設定がなされて初めてサービスを受ける、という仕組みです。



そのために、プロバイダはサービス事業者におカネを払っていて、したがってユーザーにもプロバイダ契約でおカネを徴収しています。



ですから、トンネル方式が嫌ならば au(KDDI)、nuro 光、eo 光などを使うしかありませんが、戸建ての場合はともかく、集合住宅の場合は簡単には乗り換えできません。



まず、J:COM が入っている集合住宅の場合は au(KDDI)を導入できません。

グループ企業なのでお互いの商圏は不可侵になっているためです。




nuro 光や eo 光は集合住宅の躯体部に工事が必要ですので、建物のオーナーもしくは管理組合の許可が要ります。


許可されないケースも少なくありません。



一方、NTT は大半の集合住宅に対して VDSL 方式などの配線で設備済み、となっており、これが自由な競争を阻害しているとも言えます。




なので、NTT 回線がある場合で他の回線提供事業者(au/nuro/eo など)の回線が引けない場合の速度低下対策はトンネル方式にならざるを得ない、ということになります。






こういういきさつがありますので、私は V6プラスを @nifty をプロバイダとする契約をして使っています。


回線は NTT 東日本の VDSL 方式です。
NGN(NTT 東日本の回線)の VDSL での基本性能は 95 Mbps 前後です。

V6プラス接続時の速度は 90 Mbps前後ですから、まずまずといえます。


現在、マンション全体の光ファイバー化を NTT 東日本と協議して推進中です。


光ファイバー化ができれば、V6プラスで数百 Mbps が期待できます。








2019-10-23

LS-AV1.0TL/A と LS210D に ipkg をインストール

LS-AVL には apt は入っているものの、これは仕組みをバッファローが使っているだけで、リポジトリもローカルだし、Debian の Stable を設定しても使えません。


かといって dpkg は依存関係を含めて処理するのは荷が重いし、リポジトリもうまく認識されませんので実質的に使えません。



ipkg は少し古いのですが、インストールできてパッケージもいくつかインストールできました。



作業用ディレクトリに ipkg のインストール用シェルを wget します。
これを実行して ipkg を落とし込みます。

# cd /work
# wget http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/teraprov2-bootstrap_1.2-7_arm.xsh
# sh teraprov2-bootstrap_1.2-7_arm.xsh
Optware Bootstrap for teraprov2.
Extracting archive... please wait
bootstrap/
bootstrap/bootstrap.sh
bootstrap/ipkg-opt.ipk
bootstrap/ipkg.sh
1224+1 records in
1224+1 records out
bootstrap/optware-bootstrap.ipk
bootstrap/wget.ipk
Creating temporary ipkg repository...
Installing optware-bootstrap package...
Unpacking optware-bootstrap.ipk...Done.
Configuring optware-bootstrap.ipk...Modifying /etc/init.d/rcS
Done.
Installing ipkg...
Unpacking ipkg-opt.ipk...Done.
Configuring ipkg-opt.ipk...Done.
Removing temporary ipkg repository...
Installing wget...
Installing wget (1.12-2) to root...
Configuring wget
Successfully terminated.
Creating /opt/etc/ipkg/cross-feed.conf...
Setup complete.



/opt/etc/ipkg.confvi で編集して次のソース(src)を末尾に追加します。
                                                                                       
src cs08q1 http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/                          




あとは任意のパッケージをインストールできます。

最初に最新化をしますので次のようにします(結果的には不要でしたが)。


# ipkg update
# ipkg upgrade
Nothing to be done
Successfully terminated.






パッケージは /opt/bin 配下に配置されます。


パッケージの一覧は "ipkg list" で得られます。



主なものを抜粋すると以下のようなものがあります(アルファベット順で apache の前にもありますし、後ろも asterisk18 との間にも、結構たくさんあります)。

  apache 2.2.20-1
  asterisk18
  avahi
  bash
  binutils
  busybox
  cups
  dhcp
  dict
  diffstat
  diffutils
  dnsmasq
  emacs22.3-1
    ・
  ・

 


また、インストールしたパッケージは "ipkg list_installed" で表示されます。

インストールに際しては、最初に "ipkg update" でリポジトリを読み込みます。

その後で "ipkg install [パッケージ名]" でインストールします。




とりあえずインストールしたパッケージは、次のものです。


 zsh  less  file  vim  gcc  make  nano  binutils 


試しに

# nano /etc/syslog.conf 

としてみると、ちゃんと nano の編集画面になっています。










オリジナルの LS-AVL には無いパッケージをインストールできる環境がやっとできました。



openvpn などもありますので、結構遊べるかも。


syslog 関係では rsyslog はありませんが、syslog-ng はあります。


ですので、大抵のことはできそうですし、gcc / make も入れましたからソースから作ることもできます。







【2019-10-24 追記】


同じやり方で「ネイティブ LS210D」にも ipkg はインストールできます。




ipkg をインストールするとなぜか、/dev/sda2 が / (root) のみならず /opt にもマウントされます。 

でも /etc/fstab には /opt のマウント設定はされません。

 [root@LS210DF58 /]# df -h
 Filesystem                Size      Used Available Use% Mounted on
 udev                     10.0M         0     10.0M   0% /dev
 /dev/sda2                 4.6G    903.4M      3.5G  20% /
 tmpfs                   121.1M     84.0K    121.0M   0% /tmp
 /dev/ram1                15.0M     96.0K     14.9M   1% /mnt/ram
 /dev/sda1               946.4M    215.8M    683.0M  24% /boot
 /dev/disk1_6            917.8G      1.5G    916.4G   0% /mnt/disk1
 /dev/sda2                 4.6G    903.4M      3.5G  20% /opt ➡ ココ
 [root@LS210DF58 /]#

 

 


【2019-10-27  追記】


/dev/sda2 に /opt がマウントされる仕組みがわかりました。


まず、ipkg の実際のインストール場所は /mnt/array1/.optware です。
これを /opt にマウントしています。


実際には起動時のシェルである /ete/init.d/rcS の最終行に optware シェルを呼び出す記述が追加されます(ipkg インストール時に)。


optware シェルの中では、" mount  -o  bind  /mnt/array1/.optware  /opt " を実行しており、この結果 /opt に実態のあるディレクトリ( " /mnt/array1/.optware " )がマウントされます。


これを " df -h " で見てみると、上記のように

   /dev/sda2                 4.6G    903.4M      3.5G  20% /opt

と表示されます。

起動時のシェルによるマウントなので、/etc/fstab では定義されていません。

つまり、/dev/sda2 にマウントしているというよりは、上記のような仕組みで /opt にマウントされた結果  " df -h " では /opt がある /dev/sda2 にマウントポイントがあるかのように表示された、ということです。

シンボリックリンクではなくディレクトリにマウントする、という方法を取っているようですが、なぜかはまだわかっていません。



------------------------------

パッケージが新たにインストールできるならば、Debian Server にしなくても Server として使うことができます。


Debian ほどにはパッケージが揃ってはいないとはいえ、大抵のことはできてしまいます。



「ネイティブ LS210D」ですから、元々の NAS 機能はまったく制約を受けません。

したがって DTCP-IP も使えます。


Debian Server 化するとこの DTCP-IP が使えなくなっていました。

これは DTCP-IP のライセンスの関係で、フリーライセンスが存在しないためです。




ほかの LinkStation は持っていませんのでわかりませんが、おそらく同じ方法で ipkg のインストールが可能なのではないかと思われます。












2019-10-21

バッファローは MacOSX Catalina への対応ができていない

Catalina から 32 ビットアプリが締め出されます。

64 ビットに対応させないと Catalina では動作しなくなります。


Apple は Mojave では 32 ビットは使えるようにしていて、「ただし 64 ビット版に変えるように」との警告はしていました。


Catalina ではいよいよ 32 ビットアプリが使えなくなってしまうのです。


私の使っているアプリではバッファロー NAS 用の「アップデーター」、「Navigator2」の2つだけが引っかかります(ルーターの設定アプリも引っかかるのですが、これは Web で設定できますから問題は回避可能です)。



ほかのアプリはフリーソフトを含めてすでにすべて 64 ビットになっています。




すぐには Catalina へのグレードアップはしないのですが、いずれ行わなくてはなりません。


バッファローのこれら2つが 64 ビット対応されないといつまでもアップグレードできないことになります。


NAS の HDD 故障時などに復旧できなくなってしまいます。



そこでバッファローサポートにそのことを指摘し、対応時期に関して問合せましたら、「LinkStation 本体もアップデーターも動作確認が取れていません。動作確認状況も未定です」なんて、トンチンカンな回答があって大変噴飯ものです。


そもそも「本体は Catalina で問題にはならない」はずで、アプリだけが未対応なのです。

ホントにわかってないですねぇ。




動作確認を頼んだことはありません。


64 ビット対応はいつ行うのか? と問合せましたらこのトンチンカンな回答です。


バッキャローですな、このクソサポートは。



Navigator2 もバッファローの HP で公開されているものは Ver2.99 で 32 ビットです。


Apple Store で公開されているものは Ver3.00 でこちらは 64 ビットです。

Appe Store での古いバージョンは Ver2.40 でこれに対する修正だと思われ、以下の内容が更新されたようです。

 ・ダークモードに対応
 ・NAS の情報や通知メッセージを含む定義ファイルアップデート機能の追加
 ・NAS アイコンを更新
 ・ユーザビリティを改善
 ・IP アドレス変更不可問題を修正
 ・その他軽微な問題を修正




ところが、そのことはバッファローの HP のどこにも触れられていません。

Apple Store の修正版と、製品に付属(または HP で公開)のものは互いに連携したものではなさそうなのです。




大変後手後手になっていますね。


Mac ユーザーはバッファロー製品を使うな、ということでしょうか。



Navigator2 も HP のものは 32 ビットですから、HP に「Catalina では Apple Store にある Ver3.00 を使ってください」とするか、HP のものも Ver3.00 にすることですがこれも何のアナウンスもありません。



「アップデーターは 32 ビットのまま」なのです。





ことの重大さに気がついていないのでしょうか。



Apple の新バージョンOS のポリシーによることであっても、64 ビット対応は世の趨勢ですから、言い訳にはなりません。


64 ビットで make し直せば済むことなんですが。


本件、拡散してください。





【2019-10-22  再回答あり ➡ まったく解決の見通しなし


本件再問い合わせに対する再回答がありましたが、「今後の対応についての情報はない」とのことで、事の重大性の認識が欠如しているとしか思えませんねぇ。


これって、バッファローのサポート問題なのか、開発やデリバリー部門を含めた企業体質問題なのかはわかりませんが、少なくともサポートがクソなのだけは確かです。










2019-10-20

V6プラスルーターは YAMAHA で決まり!!

V6プラスに関する記事(2017-11-20 V6プラスでできないことを明確にして回避できることを考える)が相変わらず閲覧数トップをキープしています。



2年前の記事ですが、いまだに多くの方々に閲覧されているようで、大変ありがたく思います。



さて、V6プラスを安定して使うにはルーター選びが非常に重要です。


私のお勧めは、少し価格が高いのですが、YAMAHA ルーターです。



WiFi 付きならば NVR700W で、WiFi なしでよければ NVR510 / RTX830 / RTX1210 があります。


中でもお勧めはコスパ面から RTX830 で、私も使っています。




WiFi は別のルーターをアクセスポイント(ブリッジ機能)で使えばいいのです。



ですが、V6プラスルーターは某 A -Ter?、某B、某IO-D???、某EL??? 社製はいずれも「強く」お勧めしません。


とにかくルーターの不安定動作に悩まされたくなければ、高くても YAMAHA がお勧めです。



RTX830 を使い始めてから、ルーターの不安定さや、セキュリティ機能の不満などから開放されてすこぶる快調です。




PPPoE ルーターで使用ならば、某????社製でも構わないのですが、V6プラスを使うならば、YAMAHA 一択です(と、私の考えです)。




さらに V6プラスと PPPoE を併用の場合でも YAMAHA 1台で両方を使えます。

VPN も装備されています。



次点で HGW でしょうか(400 番台または 500 番台)。



ただ、HGW は NAPT テーブルが不足の場合があり得るらしく、NAPT 溢れになった、という報告も一部にあるようですが、私が3ヶ月ほど使った限りではそういう事象はありませんでした。





VoIP はすでに通常使用で問題ないので、最近は評価などはしておりません。



スマホも iPhone に替えてからは、あれこれ設定やアップデートなどで悩むこともなくなりましたので、Android 機関連の記事も新しくは触れていません。



ルーターも RTX830 に替えてからは問題がなくなったので、これもいじるようなことはなくなりました(ほったらかしです)。




いまはもっぱら、某B社製の NAS が遊び相手です。

これを、Debian サーバーにしたり、また元に戻したり、かなり自由に扱える状態になってきました。


機種はいまのところ、LS210D / LS-AVL の2機種ですが、遊んでいるうちにいろいろと見えてきて、かなりの機種について同様なことが可能なこともわかってきました。



Raspberry Pi 当ブログ開設当初からありましたが、NAS の Debian Server 化によって、Raspberry Pi よりも優れた環境を整えることができました。




NAS も一通りのことはやりましたので、この先何をしようかと、考え中です。



年末までには VDSL 方式から光ファイバー化ができそうですので、少しそちらの対応があります。



光モデムの設置位置がいまの部屋(書斎)から居間に替わりますので、RTX830 も居間に移動、書斎には HUB を追加し、ルーターの移動に伴い LAN の接続の向きが変わります。










バッファロー NAS 未割り当て領域に Debian を debootstrap する

debootstrap がオリジナル LS210D でうまくいかず、Lubuntu PC でクロスインストールでもうまくいかず。



LS210D 改め Debian Server を使ったクロスインストールをし、やっと debootstrap でパッケージがインストールできました。


インストールが成功したということは、debootstrap は Debian との親和性が一番あるということですねぇ(当然ですよね)。



Debian 機でクロスインストールするのが一番確実かもしれません。



やり方はこうです。

1.オリジナル LS210D と同じディスクを用意します

  空き HDD にオリジナルの LS210D を復元したものです

  Lubuntu PC に入っていた 500 GB の 2.5” HDD で代用し、パーティション7用に、
  オリジナルと同じ 6.6 GB を未割り当て領域設定したものです

2.Debian Server に "cd /; mkdir debian; mkdir work" で2つのディレクトリを作ります

  debian:インストール先にするディレクトリ
  work   :作業用ディレクトリ

3.ターゲットディスクを Debian Server に SATA=USB ケーブルで接続します

4.パーティションをフォーマットします

  # mkfs.xfs -f /dev/sdb7

5.これを /debian にマウントします

  # mount /dev/sdb7 /debian

6.次の各ステップを実行します

  /# cd /work
  /work#  wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.116_all.deb
  /work# ar -x debootstrap_1.0.116_all.deb

   ➡ ar なしエラーになったので、apt で binutils を急遽インストール
    改めて ar で deb を解凍

  /work# ls
  control.tar.gz    data.tar.gz  debian-binary  debootstrap_1.0.116_all.deb
  /work# cd /
  /# tar zxvf /work/data.tar.gz
  ./
  ./usr/
  ./usr/sbin/
  ./usr/sbin/debootstrap
  ./usr/share/
  ./usr/share/debootstrap/
  ./usr/share/debootstrap/functions
  ./usr/share/debootstrap/scripts/
  ./usr/share/debootstrap/scripts/aequorea
  ./usr/share/debootstrap/scripts/breezy

  〜 省略 〜

  ./usr/share/debootstrap/scripts/wily
  ./usr/share/debootstrap/scripts/xenial
  ./usr/share/debootstrap/scripts/yakkety
  ./usr/share/debootstrap/scripts/zesty
  /# cd /root
  ~# debootstrap --arch armhf stretch /debian http://ftp.jp.debian.org/debian
  I: Retrieving InRelease
  I: Retrieving Release
  I: Retrieving Release.gpg
  I: Checking Release signature
  I: Valid Release signature (key id 067E3C456BAE240ACEE88F6FEF0F382A1A7B6500)
  I: Retrieving Packages
  I: Validating Packages
  I: Resolving dependencies of required packages...
  I: Resolving dependencies of base packages...
  I: Checking component main on http://ftp.jp.debian.org/debian...
  I: Retrieving libacl1 2.2.52-3+b1
  I: Validating libacl1 2.2.52-3+b1
  I: Retrieving adduser 3.115
  I: Validating adduser 3.115

  〜 省略 〜

  I: Configuring tasksel...
  I: Configuring tasksel-data...
  I: Configuring libc-bin...
  I: Configuring systemd...
  I: Base system installed successfully. ➡ 当メッセージでインストール成功がわかる
  ~# ls -l /debian ➡ /debian に作られたディレクトリ(配下に必要ファイルがある)
  合計 16
  drwxr-xr-x  2 root root 4096 10月 20 09:22 bin
  drwxr-xr-x  2 root root    6  9月  8 19:51 boot
  drwxr-xr-x  4 root root 4096 10月 20 09:14 dev
  drwxr-xr-x 50 root root 4096 10月 20 09:22 etc
  drwxr-xr-x  2 root root    6  9月  8 19:51 home
  drwxr-xr-x 10 root root  151 10月 20 09:21 lib
  drwxr-xr-x  2 root root    6 10月 20 09:14 media
  drwxr-xr-x  2 root root    6 10月 20 09:14 mnt
  drwxr-xr-x  2 root root    6 10月 20 09:14 opt
  drwxr-xr-x  2 root root    6  9月  8 19:51 proc
  drwx------  2 root root   35 10月 20 09:14 root
  drwxr-xr-x  4 root root   40 10月 20 09:14 run
  drwxr-xr-x  2 root root 4096 10月 20 09:22 sbin
  drwxr-xr-x  2 root root    6 10月 20 09:14 srv
  drwxr-xr-x  2 root root    6  9月  8 19:51 sys
  drwxrwxrwt  2 root root    6 10月 20 09:16 tmp
  drwxr-xr-x 10 root root   97 10月 20 09:14 usr
  drwxr-xr-x 11 root root  128 10月 20 09:14 var
  ~# umount /debian


  無事に /debian に stretch がインストールされましたのでディスクを取り外します





ここまでくれば、あとは本体に再装着して chroot すれば debian が動きます。


このやり方ならば、インストーラーの見つからなかった LS-AVL もインストールできそうです。







【2019-10-30  後日談】


LS210D の未割当領域にパーティションを設定すると、元々のデータディスクが正しく認識されなくなることがわかりました。

データパーティションは /dev/sda6 ですから、未割当はパーティション設定すると /dev/sda7 になります。

ところが、/dev/sda7 が存在すると [設定] ➡ [ディスク] ➡ [ディスク] の「状態」がそれまで「通常」だったのが「未フォーマット」になります。

この状態での再フォーマットは空振りに終わります。

つまり「未フォーマット」状態からは抜け出せません。

したがって [ファイル共用] ➡ [いずれかの共用フォルダー] ➡ [編集] とすると【使用可能な領域がありません」となって、編集も新たな共用フォルダーも設定できなくなります。


この状態でも再起動しなければ元々設定した共用フォルダーは PC(Mac)などから R/W は可能です(PC からのサブフォルダーの設定もできます)。


ですので、本当に未フォーマット状態ではなく、フォルダー設定領域がないこともありませんが、そういう状態にしているということでしょう。



パーティション7(/dev/sda7)を消去すると、この状態は解消されて元に戻ります。



ここらあたりの処理を行っている .js プログラムも見てみましたが、どこで処理しているのかはまだわかっていません。


どうも .js は状態判定しているだけで、状態設定しているのは別のプログラムのようです。
これがどこにあるのかがわかりません。

わかれば、プログラムを書き換えれば「未割当領域」を使えるようになるのですが。



なお、LS-AVL の場合はこの未割当領域にパーティションを切って使っても LS210D のような問題もなく、使えます。


何とも摩訶不思議!!



 
もっとも未割当領域をなくすだけなら、一旦パーティション6を切り直して未割当をなくせばプログラム書き換えなどしなくても済むのですが。




ちなみに最新の NAS である LS510D 以降は未割当領域はないそうです。

これ以前の機種にはあるようです。

機種により多少の領域サイズの違いはあって、6GB 〜 8GB 程度が未割当のようです。













バッファローの NAS には未割り当て領域がある

LS210D には、6GB 以上ほどの未割り当て領域があります。


これはデータ領域用の最後のパーティション(sda6)の後ろにありました。






















上の各パーティションの合計サイズと「赤字」で示したディスクの総量との差がこの未割り当て領域です。


実際にパーティションを切ってみると 6.6 GB ありました。





私は気が付かなかったのですが、ある方が LS410D に未割り当て領域があるのに気が付かれて、この領域に debootstrap で debian をインストールされている記事を偶然見つけました。



LS410D では 8GB ほどの未割当領域があるそうです。


その方は、この未割り当て領域にパーティションを切って、debootstrap で debian stretch を落とし込み、chroot で切り替えて debian として使う、ということでした。


オリジナルはそっくり残っていますので、chroot で元に切り替えれば元の LS410D に戻ります。


サーバーとして使うときに chroot で切り替えて使い、使い終わったら元に戻す、ということでしょう。



そのためには、ssh でログインできるようにしますが、このログイン方法は当ブログでも紹介しました。ここでは改めては触れません。



試しに、ウチの LS210D に debootstrap で落とし込みを試行しましたが、パッケージの Extracting がうまく行われず、結果は失敗しましたが、クロスインストールならばうまくできそうです。


Lubuntu PC では Extracting が同じ debootstrap ファイルでうまく展開されるのですが、最終段階でエラーになり、これも結果的にうまくいきません。

どうやら、LS210D の場合は何か、足りないものがあるようですし、Lubuntu PC もダメです。




もう少し頑張ってみますか。



すでに Debian Server 化もしていますので、実質的な意味はありませんが。



また、いつでもオリジナルに戻すこともできますし。





未割り当て領域が何のためにあるのかは不明ですが、案外 LS410D で debian をインストールされた方みたいに、バッファローも同様のことをして、開発時の試験やアップデートなどに使っていたのかも知れません。



数GB の領域は第2 root として使うには十分です。



製品化に際しては未割り当て領域に戻して、ディスクコピーして、筐体に装着する、ということでしょうか。


もしそうだとしたら、なかなかに知恵のある使い方だと思えるのですが(笑)。










2019-10-16

LinkStation Debian インストーラーの置いてあるサイト

後述の機種について Debian 9(Stretch)Server 化が可能です。



インストーラーは initrd.buffalo と uImage.buffalo の2つのファイルをダウンロードして使います。


この2つのファイルを LinkStation に装着するディスクの /boot に置いて、LinkStation にディスクを装着して電源を入れるとインストールされます。



そのために、ディスクのパーティションを設定・フォーマット、/boot に2つのファイルを置くまでを別の Linux 機で行います。



「クロスインストール方式」といいますが、Linux の初心者レベルでもインストールが可能な簡単な方法です。


特殊なハッキングなどは不要です。


具体的なインストール方法は後述してあります。




■ orion5x系(第2世代)

 kuroboxpro(玄箱Pro)
 LS-CHL
 LS-WSGL
 LS-WTGL
 LS-GL

インストーラーの置いてある場所:
http://ftp.jp.debian.org/debian/dists/stretch/main/installer-armel/current/images/orion5x/network-console/buffalo/



■ kirkwood系(第3世代)

 LS-CHLV2
 LS-QVL
 LS-VL
 LS-WSXL
 LS-WVL
 LS-WXL
 LS-XHL

インストーラーの置いてある場所:
http://ftp.jp.debian.org/debian/dists/stretch/main/installer-armel/current/images/kirkwood/network-console/buffalo/


■ marvell arm系(第4世代)

 LS210D
 LS220D
 LS410D
 LS420D
 LS441D

インストーラーの置いてある場所:
https://github.com/1000001101000/Debian_on_Buffalo/tree/master/Stretch/installer_images/armhf_devices

このサイトは管理人が探し当てたもので、国内の事例にはおそらく紹介されていません。
ですので、Debian 公式サイトにも未掲載のものですが、問題なくインストールできます。



■ Realtek arm(第5世代)

 ==>> まだインストーラーはありません。
    Flash からの boot に変更された、という情報もあり、詳細は不明。

 LS510、LS520 等




インストーラーのない機種に関しては、debootstrap 方式でできるかも知れませんが、管理人は検証していません。






インストールのやり方は次の url ですが、この記事では /etc/fstab 設定の誤りから、やり直しが必要なところまでの記述です。



これは、元々の LS210D に ssh ログインできるようにし、共用フォルダーに置いたインストーラーファイルを /boot に移してインストールしたもので、別途に Linux 機を必要としませんし、殻割りも必要としません。


が、インストール後に ssh ログインに失敗した管理人のようなヘマな設定誤りをすると、救済のために別の Linux 機と SATA=USB ケーブルが必要になり、ディスク取り出しのために殻割りも必要になるのです。


https://bike8615.blogspot.com/2019/09/nasls210d.html




この後始末は、別の linux 機と SATA=USB ケーブルを用意して、次の url <その1> から <その5> に記載しています。

https://bike8615.blogspot.com/2019/09/nasls210d_24.html



----------


ここに挙げた LinkStation の Debian Server 化のやり方はすべて同じ方法です。


条件としては、linux が動作できて USB にディスクを接続できる PC かサーバーが必要です。

また、SATA=USB ケーブルが要ります。

インストール先のディスクは、別に用意しますが、現在の機種のディスクを消して使うことが構わないならそれを取り外して使うこともできます。



Raspberry Pi もコンパクトで重宝しますが、やはり SD カードをディスクとして使うのは、少し抵抗があります(ウチでも一度壊れて、インストールし直したことがあります)。

なので、LinkStation を Debian Server 化すると、本格的な(?)サーバーにできます。



オリジナルのバッファロー NAS としては動作しなくなりますので(Debian Server 化したものを NAS で使うことはできます)、その点は理解の上で Server 化します。

両者の NAS の一番大きな違いは、DTCP-IP が使えるか使えないかです。


Server 化した場合も NAS として使うことができますが、DTCP-IP はライセンスの関係で使えなくなります(DTCP-IP はライセンスフリーは存在しない)。

以下の対応が可能です。

■ NAS
■ DLNA サーバー
■ TimeMachine
■ iTunes サーバー


 
LinkStation は NAS 製品なので、USB ポートが背面にあるのは仕方がないのですが、Sever として使うときは前面にあった方が使い勝手は格段によくなるのですが。








2019-10-15

LinkStation LS-AV1.0TL/A の Debian 化?

いろいろ探していますが、この機種向けの Debian の initrd.buffalo / uImage.buffalo が見つかりません。


最終的な手段は debootstrap しかないかも知れない。


そこまで苦労して試してみる価値は、「多分」ない。



Debian を LS-AVL に落とせるという意味でしかありませんので、ヒマなときにでも試すかも知れません。


でも、あまり世間的にも需要があるとは思えません。


なぜなら、この機種は USB が付いていないので、サーバーとしてはともかくクロスインストールには使えないからです。


サーバーとしては、我が家はすでに Asterisk / WireGuard は Raspberry Pi に設定済みで、LS210D・Debian Server に rsyslog、LS-AVL に syslog Sever を立ててあり、いまのところそれ以外のサーバー需要はないからです。


Apatch / Mail などには現時点では興味はありません。




Debian Server はクロスインストールなどには大いに役立ってくれていて、遊ばせてもらっています。


もっとも PC にも Lubuntu が入っていますし、こちらでもクロスインストールは可能なのですが、常に稼働状態にあるのは LS210D ですし、NAS 兼 TimeMachine 兼 Server で重宝しているからです。




PC(Lubuntu)は普段は電源オフです。

メインは Mac なので。


LS-AVL は NAS ですが、主たる用途はレコーダーの動画の保存用です。

レコーダーがいっぱいになりそうなときに保存して、レコーダーに空きを作れますから。



LS-AVL には apt(dpkg)も入っているのですが、リポジトリで参照するサーバーがなぜか 172.16.37.216:8080 になっていて、どうもバッファローが開発やファームウェアの確認などに使っているっぽい。



Debian stable を設定してもうまく動きません。


apt install vim   程度を試してみたのですが NG でインストールできません。

もっとも vi で事足りていますから vim の必要性があってインストールを試したわけではありません。


インストールパッケージリストには squeezebox がありますから、Debian Squeeze が最小構成的に入っているのかも知れません。





もう一つ面白いのは LS-AVL の方が LS210D よりも古いのですが、前者は syslog サーバーで動作しますが、後者は syslog サーバー動作はしないのです。


Debian Server にしましたから rsyslog は動作していますがオリジナルの LS210D では syslog サーバーにはなりません。




パッケージのインストールもオリジナルのままでは両者ともに非常にやりにくいですねぇ。







LinkStation LS-AV1.0TL/A を復活させる

LS-AVL のディスクが壊れたときや、ディスクを 2 TB に増量交換したり、SSD などに換装する場合に、元のディスクから復旧できない場合に新しいディスクで復活させる手順です。

「ls-avl」の画像検索結果

必要なら元ディスクのデータを、復旧した後でコピーして戻します。



LS210D を元の Linkstation に戻す:当初のやり方のやり直しで ➡ OK【記事訂正あり】」と同じ手順で、次のようになります。

「クロスインストール」方式といいます。

ローダーやインストーラー、ルート展開用ファイル群の塊を用意したディスクに別マシンで設定し、このディスクを本体に装着することでインスタールさせるやり方です。



1.準 備
  ❏ ディスク:中古でも新品でも構いません
  ❏ SATA=USB 変換ケーブルを用意します
    3.5" HDD の場合は変換ケーブルに電源をつなぐ必要があるかも知れませんので
    電源ケーブル付きを用意した方がいいでしょう。
    2.5" HDD や SSD は電源は不要かも知れません。
  ❏ Linux が動作するサーバーまたは PC が必要です
2.ディスクのパーティション設定と、フォーマット
3.ファームウェアのダウンロードと解凍、initrd.buffalo / uImage.buffalo の抽出
4.ディスクへのこれらのファイルの書き込み
5.本体に装着してインストール
6.ファームウェアアップデート適用




もう一つ別の方法「tftp 方式(とでもいいましょうか)」もあります。

tftp サーバーに関連ファイルを置いて、これを NAS 側から取りに来させるやり方です。

こちらの方が少し難易度が高いので、今回は割愛します。

LS210D を元の Linkstation に戻す」にこの方式のやり方を記載しています。






【1.準 備】


用意したディスクを Linux 機(私の場合は元が LS210D の Debian Serverを使用)に SATA=USB ケーブルで接続します。

Linux 機にファイルマネージャーがインストールされていると起動されるかも知れません。

この場合は、「ファイルマネージャーで開きますか?」と聞いてくるので [キャンセル] します。

また、このメッセージが出る場合はすでにディスクがマウントされていますから、パーティションを設定するのでアンマウントします。

いずれにしてもマウントの有無は df コマンドで確認できます。

linux 機は sdaX(X: 1, 2, 3 ...)というデバイス名になっていて、接続したディスクは sdbX というようになっているはずです(linux 機に複数のディスクが元々マウントされている場合は sdcX とか sddX とか、a, b, c, d の記号の一番あとのものが今回接続したディスクデバイス名です)。


以下は、sdbX であったとして進めます。

df コマンドでこの sdbX がマウントされていなければ fdisk -l でデバイス名は確認できます。





【2.ディスクのパーティション設定と、フォーマット】


すべての sdbX がアンマウント状態を確認して、fdisk /dev/sdb としてパーティションを設定していきます。


root@debian:/# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help):


すでにパーティションがあった場合はすべて消し、改めて切り直しします。

消す場合は d でパーティション番号を聞いてきますから [return キー] で一番最後から順にパーティションが削除されます。

Command (m for help): d

先頭パーティションまで削除して、g を入力します(gpt)。


続いて、n と入力し、パーティション1から順に作成します。



:: パーティションは次の大きさで確保し、タイプを変更します
::(この例では 2.5" HDD 500GB を使用した)
::
:: sdb1 = 最初 〜 +1GB  ➡ /boot
:: sdb2 = 続き 〜 +5GB  ➡ /(root)
:: sdb3 = 続き 〜 +384KB  ➡ swap
:: sdb4 = 続き 〜 +1KB  ➡ sdb6 をデータパーティションにするための調整みたい
:: sdb5 = 続き 〜 +1GB  ➡ ( 同  上 )
:: sdb6 = 続き 〜 残りすべて➡ データパーティション
::
:: タイプは、sdb3 のみ BIOS boot (タイプ番号:4)
:: 残りはすべて Microsoft basic data (タイプ番号:11)
::
:: パーティションサイズとタイプは、LS210D でのものとほぼ同じ設定です
:: バッファローの LinkStation は原則的にどの機種もこの設定みたいです(未確認)
::
:: コマンド (m でヘルプ)   ➡ 対象のパーティションを指定してタイプ番号を与えます

領域サイズは、上の例のとおりで結構です(およそ、数値があっていれば結構です)。

設定したパーティション情報は次のようになっているはずです。
fdisk モードのコマンド p で確認します。

Command (m for help): p
Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 999AC944-78E7-46C9-99AF-5071F068DC80

Device        Start       End   Sectors   Size Type
/dev/sdb1      2048   1955839   1953792   954M Microsoft basic data
/dev/sdb2   1955840  11720703   9764864   4.7G Microsoft basic data
/dev/sdb3  11720704  11721453       750   375K BIOS boot
/dev/sdb4  11722752  11722753         2     1K Microsoft basic data
/dev/sdb5  11724800  13678591   1953792   954M Microsoft basic data
/dev/sdb6  13678592 976773134 963094543 459.2G Microsoft basic data

Command (m for help): w  ➡ 設定を反映させて fdisk を終了します


パーティション設定は fdisk ではなく parted コマンドでも結構ですが、私は fdisk を使っています。


パーティション1と2と6を ext3 形式でフォーマットします。

root@debian:/# mke2fs -I 128 -j /dev/sdb1
root@debian:/# mke2fs -j /dev/sdb2
root@debian:/# mke2fs -j /dev/sdb6

※ パーティション6もここでフォーマットしておきます
  ファームウェア適用時にフォーマット、またはセットアップ後に
  改めてフォーマットしますが、後者が必要な場合、ここでフォーマット
  しておかないと「完全フォーマット」しなくてはならず、その場合は
  気の遠くなるような時間がかかってしまいます
※ 最終的にはパーティション6は xfs 形式になりますが、ここで xfs 形式に
  すると、セットアップ後のフォーマット必要時になぜかうまくフォーマット
  されません





【3.ファームウェアのダウンロードと解凍】


バッファローの当該機種の最新ファームウェアをダウンロードします。

本記事掲載時点の最新は 1.74 です。

(Windows 用と Mac 用は少し中の作りが、あとで記載の部分が違うようです)



バッファローの示す解凍方法で解凍します。


以下は Mac での事例ですが、一部を除いて Windows でも同じです。

解凍すると、「update.app(Windows 用は LSUpdater.exe ?)」と「data ディレクトリ」ができます。

data ディレクトリの中の initrd.img / uImage.img をさらに解凍しますが、これは次のようにします。

拡張子を .img から .zip に変えてこれを解凍しますと、パスワードを聞かれますので、次のどれかを入力すると解凍されます。


NFM_TUPSBHFNFM_TUPSBHF
1NIf_2yUOlRDpYZUVNqboRpMBoZwT4PzoUvOPUp6l
aAhvlM1Yp7_2VSm6BhgkmTOrCN1JyE0C5Q6cB3oBB
YvSInIQopeipx66t_DCdfEvfP47qeVPhNhAuSYmA4
IeY8omJwGlGkIbJm2FH_MV4fLsXE8ieu0gNYwE6Ty




initrd.zip は3番めのパスワード、uImage.zip は2番目のパスワードで解凍されました。

機種によってパスワードを使い分けているようです(LS210D はともに2番目)。



initrd.zip の解凍によって initrd.buffalo が抽出されますから、initrd.zip は元の initrd.img に拡張子を戻します。

uImage.zip の解凍によって uImage フォルダが作成され、その中の uImage-lsp.5.x.buffalo を uImage.buffalo に名前変更し、uImage.zip は元の uImage.img に拡張子を戻します。


また、LSUpdater.ini の中を一部変更しますが、Mac はこのファイルがロックされていて編集できません。

そのために、あとのフォーマットの仕方が変わります。


 Windows の場合は最終行の NoFormatting = 1 0 に変えます。





【4.ディスクへのこれらのファイルの書き込み】


解凍されてできた以下のファイルをディスクのパーティション1(boot フォルダになります)にコピーします。

(コピー不要なものもあるようですが、明確にはわかっていませんからすべてコピーします)

 builddate.txt
 hddrootfs.img
 initrd.buffalo
 initrd.img
 linkstation_version.ini
 linkstation_version.txt
 LSUpdater.ini
 u-boot.img
 uImage.buffalo
 uImage.img
 uImage.map




root@debian:/# mkdir /mnt/bt
root@debian:/# mount /dev/sdb1 /mnt/bt

linux 機の適当な共用可能フォルダーに上のファイル群を入れて、そのフォルダーから /mnt/bt にコピー(cp)もしくは移動(mv)します。

アンマウントします。

root@debian:/# umount /mnt/bt


ディスクを取り外して LS-AVL の本体に装着します。





【5.本体に装着してインストール】


本体への装着をしたら本体の電源を入れます(電源ボタンを長押しすると電源が入ります)。


インストールが始まります。


青点滅やら、橙点滅や、赤点灯などを何回か繰り返しますが、放っておけば数分〜10分程度で青点灯し、インストールは終了しています。





NAS 自体はインストールとブートがされています。


NAS Navigator2 を起動すると下記のような画面で EM モード状態になっていますので、ファームウェアのアップデートを行います(EM モードはファームウェアアップデートが未完了を意味します)。








右下の [閉じる] をクリックすると下記画面になり、EM モードであることがわかります。









【6.ファームウェアアップデート適用】

EM モードを解消するためにファームウェアアップデーターを起動します。

アップデーターは次の画面のように NAS を自動認識します。








[ファームウェア更新] ボタンをクリックすると、Windows の場合は、最初にフォーマットを求めてきます。

これは、LSUpdater.ini の 最終行の NoFormatting = 0 の設定でフォーマット要求になりますが、Mac はこの .ini がロックされていて編集できませんから、フォーマットはパスされます。


パスされた場合はインストール後にフォーマットします。


フォーマット要求は [OK] をクリックします。

(実は、「tftp 方式」の場合は、このフォーマット要求が Mac でもくるのです。.ini のコピーを編集しておいてこのファイルも tftp で get させるとフォーマット要求がきます)




アップデーターは数分〜10分程度で終了します。


青点灯になれば終わっています。

ほどなくアップデーターは次のような画面になります。









この段階で Windows からの場合は NAS は正常に初期化状態になっていますので、各種設定をします。

 ------------------------------





しかし、Mac の場合はまだフォーマットが残っています。


そのために、ディスクチェックでエラーになって、赤点滅4回を繰り返します。

NAS に Web 画面からログインします。

そして、「システム」➡「ディスク」と進みます。


ディスクは認識されていますが、「全容量」以下が数値がでていない状態です。


[ディスクチェック] を行います。1分程度で終わります。








その後、[ディスクフォーマット] を行います。









[フォーマット] をクリックすると「通信の確認」でコード入力を要求されます。









この例の場合は「4199」を [確認番号] 欄に入力して、[設定] ボタンをクリックするとフォーマットが始まります。


ディスク容量にもよりますが、3分〜10分程度かかります。


これは領域自体はフォーマットしないで、i-node だけ更新しているようです。





完了すると、電源 LED は青点灯、残量 LEDもすべて青点灯になり次の画面になります。












「システム」➡「ディスク」と進むと次の画面になり、正常にフォーマットされているのがわかります。









初期化状態ですので、各種設定を行います。





<< 終 わ り >>











2019-10-09

Host ヘッダのない HTTP1.0 通信で 内部 IP アドレスが漏れる

いまの主要なブラウザは HTTP1.1 なので、このようなことはないのですが、アプリによっては HTTP1.0 でアクセスしているものが結構あります。


とくにスマホアプリに多い。



これがどういう意味を持つかというと、内部 IP アドレスがパケットキャプチャでわかりますから、攻撃者は詐称して内部アドレスに直接攻撃を仕掛けてきます。


例えば、下記のような侵入を試みるアクセスです。


TUNNEL[1] Rejected at IN(200039) filter: TCP 17.142.163.18:993 > 192.168.xxx.yyy:48025


この例ではスマホに割り当てたアドレスに向けてきています。

自局に Web Server がある場合は、ここをアクセスしてくるクライアント向けには漏洩防止策が取れますが、外部サイトが HTTP1.0 で無対策の場合はクライアント側では漏洩防止策は取れずどうしようもありません。


ここらあたりのことは「内部 IP アドレス 漏洩」で Google 検索すれば、いろいろと詳しく解説してくれるところがあります。




つまり、内部 IP アドレスの漏洩を防ぐ手立てはないということです。



なかにはこちらのインターネットのグローバルアドレスを詐称してまで、内部アドレス向けにアクセスしようとするヤカラもいます。



これはもう、ルーターで上例のようにブロックしておくしかありません。



でもきちんとブロックしておかないとトンデモないことになります。


きちんとブロックしましょう。










2019-10-08

Mac OS Catalina がきている

現在の Mojave(10.14.6)のアップグレード Catalina(10.15)がきていますが、アップグレードはまだしばらく保留します。



慌ててやると思わぬトラブルになることがありますし。


まぁ、1ヶ月くらいは様子を見て何も問題がなさそうだったらアップグレードします。


➡ バッファローの NAS のアップデーターが 64 ビットに対応されないと、Catalina へのアップグレードはできません。


32 ビットアプリが完全にサポート外になるということですので、調べて 64 ビット版があるものはそれで置き換え、ないけど使えなくても差し支えないもの(Adobe 関係は古いものが入っていましたが、使うときに最新版をインストールできます)はそのままです。


64 ビット版に取り替えないといけないものは次の4つでしたが、そのうちのバッファローの NAS のアップデーターはまだ 64 ビット版はありません


ファームウェアアップデーターは新しいファームウェアが提供されるときに 64 ビット版が確実に提供されるのでしょうか。


これに対する、バッファローからの公式見解はまだないようですので、問い合わせしています。



最新ファームウェア 1.72(2019-10-15)でもアップデーターは 64 ビット対応されていません。


Catalina にすると、NAS が EM モードになっても修復できなくなります。

修復するためには Catalina を Mojave にダウングレードする必要が生じます。




❏ Android File Transfer for Mac

  Android 端末との間のファイル転送アプリです。
  iPhne での iTunes みたいなもの

❏ unetbootin for Mac

  .iso ファイルを焼き込むためのツールです。

❏ Buffalo NAS・Updater

  バッファロー NAS ファームウェアアップデーターです。
  まだ、64 ビット版はバッファローから提供されていません。

  NAS を Mac でファームウェアアップデートされている方は要注意です


❏ NAS Navigator2 for Mac

  バッファローの NAS のユーティリティで、ファームウェアアップデートなどの際に
  必要になります。

  バッファローサイトでは最新は 2.99 で 32 ビットのままです。

  Apple Store では 3.00 で 64 ビット対応されています。


バッファローもちょっと不親切。









Catalina へのアップグレードの前に、Mojave にアップデートが来ていましたから、これは適用しました。

適用中の画面ですが、途中は真っ白になったりします。

30分以上かかりました。






























Debian Server (HDD) / Acer Lubuntu (SSD) の性能値

実装後のディスク性能



Debian Server に仕立てた LS210D(WD 1.0TB HDD)と、Lubuntu 化した Acer PC

に換装した SSD(Taracend 128GB)の性能値は次のようになっています。

Mac の性能値は参考比較のために載せました。







Acer Lubuntu は SSD ではあるが、さほどの性能値ではありません。

ただ、4KB の R/W 性能は HDD に比してかなりいいことがわかります。
(というか、HDD が悪すぎる、という方が当たっている)


最新の SSD ならばもっといい数値になるでしょうけど、いま使っている機種ではまぁこんなものでしょう。




Debian Server も Acer Lubuntu も体感的にもたつくようなことはありません。









再び、中国から不正アクセス

10月7日 14:07:03 に中国から ICMP timestamp req.  がありました。

もちろん応答はしない設定ですから、ブロック(無視)されています。


前回は 9月17日  08:31:21 に同じく ICMP timestamp req. でした。


今回のアドレスは、China Mobile が管理のアドレスです。
前回のアドレスは、China Telecom が管理するアドレスでした。


まぁ、月に1回程度というところでしょうか。



応答すると OS がわかるそうですから、それを足がかりに攻撃するつもりなんでしょうね。

手口が似ています。










LS-AVL は Syslog Server 化できる

LS210D に入っている syslog デーモンは '-r' オプションを受け付けず、syslog.sh にこれを設定したら syslog デーモンの再起動でエラーになっていました。


LS-AVL ではどうかと思い、設定してみましたらナンと、'-r' を受け付けて syslog デーモン再起動でエラーにはなりません。



ルーター側は、これまで Mac を出力先にしていましたが、LS-AVL に変更しましたら、ちゃんと取れています。


他の機器のログが Mac にたまるのはあまり気分的にはよくないので、Debian Server の rsyslog の設定をして Debian Server に変更しようと考えていました。


LS-AVL で取れるのなら、それはそれで構いません。


この Linkstation LS-AVL はバッファローオリジナルのものに、ssh でログインできるようにしただけのものです。

筐体はネットで調達した中古品に、手元にある HDD 1.0TB を装着して、復活させたものです。




syslog サーバー機能は具体的には以下のようにします。


1.syslog を記録するファイルを置くディレクトリを作る
  NAS としてアクセスできるディレクトリにします。
2./etc/syslog.conf に RTX830 のファシリティ番号と
  記録先ディレクトリとログ・ファイル名を追加する
3.起動用シェル /etc/init.d/syslog.sh のオプションに '-r' を追加する
4.syslog デーモンを再起動する
5.ログ・ファイルのパーミッションを root のみから一般ユーザーにも r/w 権を与える
6.RTX830 の syslog 出力先を現在の Mac から LS-AVL に変更する





NAS としてアクセスできるメインのディレクトリは /mnt/disk1 配下に作られています。
例えば、 "MainData" とします。

この配下にフォルダ "rtx830" を作ります。

LS-AVLD2C:~# mkdir /mnt/disk1/MainData/rtx830





/etc/syslog.conf に追加します。
以下は追加したあとの内容です。


LS-AVLD2C:~# cat /etc/syslog.conf
cron.*              /var/log/cron
user.info          /var/log/linkstation.log
*.emerg           *
local0.*            /var/log/linkstation.log
local1.*            /mnt/disk1/MainData/rtx830/rtx830.log # 追加した行
local6.*            /var/log/file.smb
local7.*            /var/log/backup.log
*.info;cron.none;user.none;local6.none      /var/log/messages

root@LS-AVLD2C:~#





起動用シェル /etc/init.d/syslog.sh の中のオプションに '-r' を追加します。

シェルの中の SYSLOGD_OPTIONS="-m 0" に追加し "-m 0 -r" にします。

LS-AVLD2C:~# sed -i 's/-m 0/-m 0 -r/' /etc/init.d/syslog.sh





syslog デーモンを再起動します。

LS-AVLD2C:~# /etc/init.d/syslog.sh restart





ログ・ファイルが作られていますので、パーミッションを変更します

LS-AVLD2C:~# chmod 666 /mnt/disk1/MainData/rtx830/rtx830.log





RTX830 が LS-AVL のアドレスに出力するように次のコマンドを実行します。

syslog host 192.168.xxx.yyy




これで syslog が LS-AVL の当該ディレクトリのログ・ファイルにたまるようになります。


ssh で入れるようにした甲斐があったというものです(笑)。


HDD の Load_Cycle_Count を確認でき、Intellipark の停止も確認できましたし。











2019-10-06

最新のネットワーク構成と機器類

少し変更がありました。

最新は次の構成です。



クリックして拡大




いままでとの変更点は、次の箇所です。

❏ Lubuntu PC がヘタっていた Dynabook から Acer の TMB115M-F14D に変更

  これを Dynabook で使っていた SSD と換装し、 Lubuntu(18.04.3)を入れて
  います。

  元々の Win10 はディスクごと保管です。

❏ NAS・LS-210D は Debian Server(Stretch)になっています.

  これは NAS 兼 TimeMachine の役割もあります。

❏ NAS・LS-AVL が増設になりました。

  これは、ビデオ保存専用です。

  ssh でログインできるようになっています。

  Hub になるポートが一つ付いていますので、ここに Acer PC を接続しています。




ホントは LS-AVL を Debian Server 化して、LS210D をオリジナルの NAS 専用機にしようと考えたのです。

理由は、LS-AVL は TimeMachine がないことです。



しかし、Debian Server 化した LS210D ですでに TimeMachine はできています。

また LS-AVL の Debian Server 化は少し敷居が高く、断念しています。


落とし込めるこの機種用の initrd.buffalo / uImage.buffalo が見つからないのと、ファンとか LED 制御のための GPIO の設定等が手探りになりそうだからです。



debootstrap で Debian Server 化をする手もありますが、考えてみれば LS210D が Debian Server のままの方が、USB ポートに他の ディスクを接続でき、いろいろ操作も可能なので、この方がいいのかも。











2019-10-05

LS-AVL に ssh で入れるようにする

例によって、sshでで入るために "sshd_config" をツール(acp_commander.jar)を使って書き換えます。


ところが、LS210D と同じやり方ではうまくありません。

参考にさせていただいたのは下記のページです。


https://y-naito.ddo.jp/index.php?id=1391151992




まずは root のパスワードを設定します。

~ $ java -jar ./acp_commander.jar -t 192.168.xxx.yyy -ip 192.168.xxx.yy -pw "パスワード" -c "(echo "パスワード";echo "パスワード")|passwd"


 192.168.xxx.yyy は LS-AVL のアドレス



 "パスワード" は 設定したい root のパスワードを設定



❏ LS210D の場合:sshd は初期値は未起動状態

 "/etc/sshd_config" の内容を下記のように変更しました。

 ① "#Port 22" → "Port 22"  # コメントを外す
 ② "#PermitRootLogin yes" → "PermitRootLogin yes"  # コメントを外す
 ③ "#UsePAM no" → "UsePAM no"  # コメントを外す
 ④ sshd を起動する("/etc/init.d/S50sshd start")
   これは  "/etc/init.d/sshd.sh start" では起動しない

 また、電源入れ直しで ssh は未起動状態なので、これを常時起動にするには
 /etc/init.d/rcS の中の "sshd.sh" を sed コマンドで "S50sshd" で置き換えておく。



❏ LS-AVL の場合:sshd は初期値で起動状態だがそのままでは使えず

 "/etc/sshd_config" の内容を下記のように変更しなければいけません。
 
 ① "#PasswordAuthentication yes" → "PasswordAuthentication yes"  # コメントを外す
 ② "PermitRootLogin no" → "PermitRootLogin yes"  # no から yes へ
 ③ "UsePAM yes" → "UsePAM no"  # yes から no へ
 ④ sshd を再起動する("/etc/init.d/sshd.sh restart")
 ⑤ LS-AVLD2C の古い暗号キーをすり抜ける設定ファイルを Mac ユーザーホームの
   先頭ディレクトリ(/Users/ユーザー名)に作る

    vi ~/.ssh/config
    Host 192.168.xxx.yyy  # 192.168.xxx.yyy は LS-AVL のアドレス
    KexAlgorithms +diffie-hellman-group1-sha1
    Ciphers aes128-cbc


 ⑥ ssh ログインは、ユーザーモードから入る。
  (root モードだと、古い暗号化キーすり抜け設定ファイルを
   設定していないのでエラーではねられる)






このようにしてログインした LS-AVL の HDD の Load_Cycle_Count を見てみます。


root@LS-AVLD2C:/# date
Sat Oct  5 09:56:14 JST 2019
root@LS-AVLD2C:/# smartctl -A -d marvell /dev/sda
smartctl version 5.37 [arm-none-linux-gnueabi] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   173   173   021    Pre-fail  Always       -       2316
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       193
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       142
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       171
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       131
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       73
194 Temperature_Celsius     0x0022   098   088   000    Old_age   Always       -       45
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0


root@LS-AVLD2C:/#





Load_Cycle_count 値は 73 で変動はありませんので Intellipark機能は停止しています。


なお、ファンが付いていても 45 ℃ です。
カバーを取った状態だと冷却効果がないため、50 ℃ まで上がります。


LS210D はファンはありませんが 45 ℃ 前後です。



なぜ、LS-AVL にファンが付いているのかがわかりました(ww)。