QNAP TS-230でMRTGを動かす

今までTS-269 Proを使っていたが老朽化したのでTS-230に買い替えたのだが、他にも買い替えたい理由があり、その一つがコンテナステーションが使えることだった。

という訳で、さっそくMRTGをQNAPで動かしてみた。びっくりするくらい簡単に動いた(笑)

使ったコンテナは以下の2つ

※TS-230はARMアーキテクチャなのでx86用のコンテナは使えないので注意

ほんとは、docker-compose(コンテナステーションでもCreate Applicationから作れる)でコンテナ連携して上げるのがかっこいいと思うけど今回は手動で。コンテナ内に設定残しちゃってるのであんまりいいやり方ではないです。

とりあえずちゃっちゃっと上げる手順を。

コンテナステーションを立ち上げてCreate選んで検索ウインドウでrpi-mrtgとかnginxとか書いてDocker Hubを検索すると目的のコンテナが出てくるので選んで「Install」!

ちなみに、mrtgで検索を掛けると出てこない。また、アーキテクチャがARMでないものも出てしまうので、コンテナイメージ探しはdocker hubでアーキテクチャを指定して探した方がいいかも。

例) https://hub.docker.com/search?q=mrtg&type=image&architecture=arm%2Carm64

その時に、色々聞かれるけど、ほとんど弄る必要はない。

MRTGのデータを保存するところをShered FolderでQNAP内のフォルダを共有しておく。そうしないとnginxコンテナとコンテンツフォルダを共有できないので。QNAP内のフォルダ共有以外のも色々方法はあるけど。まぁ、これが一番楽でしょう。

あとは、Create押せば立ち上がります。

次にnginxコンテナも作る。MRTGをWEBアクセスすることを考えると、Network ModeはBridgeでIP付けといた方がいいと思う。

nginx側でもフォルダ共有かけときます。MRTGでデータ保管で指定したフォルダを/usr/share/nginx/html(デフォルトでここを見る設定になってます)にマウントしておく。

これで、コンテナを立ち上げればhttp://192.168.1.10/でMRTGが見えるはず。

MRTGのcfg書きとかは、コンテナに入って書く。(ほんとは、ファイルリンクしてQNAP側のファイルを書き換えれば反映さるる方が美しいけど、面倒だったので、コンテナ内を編集しちゃいました。。。)

コンテナに入るには、例えばOverviewからコンテナの「>_」をクリックして/bin/shを起動すればWEBから入れます。

以上!

MNPの罠

ワイモバイルから楽天モバイルにMNPしようとしたら名義が違うからだめと言われた。ワイモバイルでは妻の携帯も私名義になっていたのだが、楽天モバイルでは、契約名ごとに一回線目1GB/月まで無料なため、名義を分けたかった。名義が違う場合は転出元で名義変更してからでないとできないとのこと。

仕方ないので、ワイモバイルショップで名義変更を実施。手数料3000円也。

MNPできるのは翌日以降と説明を受けたのだが、三日経ってもマイワイモバイルにアクセスできず、未だにMNP予約番号が取れてない。。。

トップへ移動するとソフトバンクの解約者ページへ飛ばされる

なんの嫌がらせでしょうね。。。

2/18 追記

未だにマイモバイルにアクセス出来ないのでサポートに電話してみた。自動応答でなんとMNPに進める!が、申し込んだらお客様の機種では対応できませんと。。。なんですと!

結局、オペレータに繋いで事情を話してMNP予約番号を発行して貰いました。オペレータの方は親切過ぎるくらい親切でとても良い方でした。

光ファイバを廃止できるか検討

現在は、自宅の回線はソフトバンク光を契約しているのだが、楽天モバイルが無制限なのでこれで代用できないか検討中。

現状は【ソフトバンクルータ】→【RTX810】で繋がっている。

使えると行くことになったら据え置きのSIMフリールーターを購入する予定だが、実験は手元にある【Galaxy A7(スマホ)にSIM挿してテザリング】→【RE200(エクステンダ)】→【RTX810(ルータ)】で試してみる。

メリット

楽天ひかり 4,800円/月

楽天モバイル Rakuten UN-LIMIT VI 2,980円/月

1,820円/月の節約が可能

注意点

  • グローバルIPがNAT共有になるため外部からアクセスしにくくなる
    • サーバ公開:NG
    • IPsecVPN:NG
    • RECON(録画サーバ):NG
    • Qfile: OK (MyCloudを利用してればアクセス可だった)
  • 1日10GBで3Mbps制限がかかる(これ知らなかった!)
  • RTTが大きい 6ms->30ms (VDIとかもっさりする)

使用感

上記の通りインタラクティブなものはもっさり感があるが、慣れてしまえばさほど気にならない。一般的な用途では問題なさそう。

速度もまぁまぁ、出てる。一昔前のADSLより全然速い。

但し、1日10GB以上通信すると3Mbpsの制限が掛かるようです。3Mbpsだと例えばAmazon Prime Video を見てると見られるけど画質が良くない状態になった。

結論、普通の家ならネットビデオ2,3時間見た位では10GBは行かないので問題ないと思うが、PCやスマホなどのアップデートとかは意外とデータ量が多いので一時的に制限かかるかも。まぁ、掛かっても3MbpsでればYouTubeなどを見たりする分には特に気にならないと思う。私はやっぱ、ファイバを残す事にするけど(笑)

駐車場に防犯カメラ設置

防犯カメラ設置を業者に依頼するとそれなりにお金が掛かるようなので、Amazonで買えるカメラを自分で付けてみた。

COOAU 防犯カメラ

家の壁がタイルで穴を開けるのは嫌だったのでパーゴラの柱につけてみた。

取付金具 ポール 2PCS 防犯カメラ ポール カメラ ブラケット

太陽パネル給電&WiFi接続なので配線は不要でお手軽。(WiFi電波が届く所に限るけど)

CloudEdgeというアプリが用意されていて機能は十分な感じ。カメラ性能もびっくりするくらいいい。夜間も赤外線撮影でバッチリ。これが一万円くらいで買えてしまうのはビックリである。

明らか中国製で、色々な名前で同じモデルと思われるもの(OEM?)が出ていて。バッグドアなんかもあるかもだか、まぁ、駐車場ならいいかな(笑)

楽天モバイル解約

無料期間が終わったので、今の番号は解約してMNPで利用することにした。解約手続きを確認したところ、15日までは当月末解約とあったので、解約手続きしたら。。。即反映された。。。 え(-_-;

https://mobile.rakuten.co.jp/support/cancellation/#:~:text=%E9%80%9A%E8%A9%B1SIM%20%E3%82%92%E8%A7%A3%E7%B4%84%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88&text=%E3%80%8C%E3%83%A1%E3%83%B3%E3%83%90%E3%83%BC%E3%82%BA%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%80%8D%E3%81%AE%E3%80%90%E4%BC%9A%E5%93%A1,%E3%82%BF%E3%82%A4%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AF%E5%90%8C%E4%B8%80%E3%81%A8%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82

JINS曇り止めレンズ

2年ほど前にJinsで作ったAirFreme(樹脂のフレーム)がだいぶ傷んでいさきたので作り直した。曇り止めレンズなるものが+5500円で入ると言うことでいれて見ることにした。フレームレンズセットが8000円程度に対してこの価格はかなり強気な設定。

効果のほどは。凄いです。ほんとに曇りません。真冬にマスクをして外を歩いても全く曇りません!

耐久性はまだわかりませんが、現時点では最高です。

少しだけ気になるのはガラス感。最近のレンズは光が乱反射しないコートがしてあるのでレンズがある感じがしないのに慣れてしまってますが、ちょっとグレア感があります。店頭に置いてあるフレーム見本に入ってるダミーレンズみたいな感じです。まぁ、困りはしないのですがね。

メガネ曇りに困っている方はお試しあれ。

Google AdSenseの広告出てない

ドメインを変えたので、Google AdSenseのサイト承認が必要でした。。。

うーん。1日たったけど、まだ承認される気配はないですね。。。

2/9追記

返事がきました。。。うーん。元々、通ってたサイトのドメイン名を変えただけなんですけどね。。。審査基準が厳しくなってるんですかね。

あ、e-taxがクソだとか書いてる記事のせいかなぁ。。。改善してほしいという形に書き換えて再申請してみます。

2/9 追記2

今度はすぐにメールで返事が来た。WEBのステータスはまだ「承認手続きを進めています」のままでした。

審査の結果、残念ながら、お客様のサイトは広告を掲載する準備がまだ整っていないようです。サイトに広告を掲載できるようにするには、いくつかの問題を解決していただく必要がございます。
詳細については、アカウントの [サイト] ページでご確認ください。詳しい情報や申請に関するヒントについては、こちらの動画をご覧ください。

だ、そうです。あ、もしかして、code埋め込みが旨く行ってない?私は、Site Kitを入れたのですが。。。

あ、Adsense連携するの忘れてた (-_-;

https://support.google.com/adsense/answer/7527509

はい。再度、チャレンジ!

2/11 追記

無事通りました~

2/14 追記

あれ~PCからだけまた広告出てない。。。と思ったらKasperskyさんがせっせとデータ収集を拒否してくれていました(笑)

うーん。

ドメイン変更(WordPress)

ドメイン名を変えたのでWordPressも変えないとね。あ、SSL証明書もか。。。

とりあえず、SSL証明書を取得して、ApacheのVIrtualHostを設定してdyndns.orgとjpの両方に応答できるように変更。今は、SNIがあるから、SSLの皮を剥く前にServerNameが判別できるのね。便利な時代ですね 🙂

ちなみに、GoGetSSLでDV証明書が$4/yearでした。

随分前にWordPressのドメインを変更したときはDB内に元のリンクが残ってしまい全部置き換えるか、バックアップしてインポートする必要があったのですが。

どうも今は設定からWordPressアドレスとサブアドレスを変更するだけで行けるみたいですね。実際それで問題ありませんでした。(一応、ファイルとDBのバックアップは取りましたが)

拍子抜けするくらい簡単ですね。

ドメイン変更 lambeden.dyndns.org → lambeden.jp

過去の経緯でDynDnsでサーバ更改してましたが、現在はgcp上にサーバがあるので、DynDnsを使う必要がないんですよね。DynDnsは$99/2yearsなので、それだけあったら普通にドメイン取ってDNS立てられるよね。。。

という訳で、この際ドメインを取得して固定ドメインで公開することにしました。

という訳でまずは、お名前.COMでドメイン取得!

幸い、lambeden.jpが空いていたので取得しました。年間330円也。→訂正 登録は330円だけど、年間更新料は3,124円でした。。。jpは高いイメージがあったのですが、330円ならとjpにしてしまったけど、あーnetとかにしておけばよかったとちょっと後悔。まぁいいか。

https://www.onamae.com/service/d-price/

次に、gcpのCloudDNSでDNS設定。費用は0.4ドルくらいですかね。

Google Cloud DNS (Google Cloud Platform)
クエリ数 0~10億クエリまでは、100万クエリ毎に$0.40/月クエリ数 10億クエリ以上では、100万クエリ毎に$0.20/月加算されます。 Managed Zones数 26ゾーン以上では、1ゾーン毎に$0.10/月加算されます。

CloudDNSでゾーン作ったらお名前.COMのネームサーバ設定で「その他サービス」選んでCloudDNSに向けます。すぐに「完了」と出ますが、実際にWhoisやJPRSのDNSに反映されるまでに20分くらい掛かりました。ただし、まだ世の中的サーバはdns1.onamae.com/dns2.onamae.comだと思っていて、https://lambeden.jp/にアクセスしてみると「このドメインは お名前.com から取得されました。」のページが表示されてました(笑) TTLは300秒に設定されている様なので、もうすぐ変わるかな。。。変わりました 🙂

さて、次はWordPressのドメイン変更か

p.s.

今時の世情としてWhois情報非公開にできるんですね。「(登録者からの申請により非表示)」となってました 🙂

Redmine checklists Pluginで日本語が使えない

Ubuntu 20.04のRedmineに入れたchecklistsプラグイン 3.1.20で日本語を入れてみたところInternal Server Errorが出てしまった。production.logを確認したところ以下の様なエラーが出ていた。

ActiveRecord::StatementInvalid (Mysql2::Error: Incorrect string value: '\xE2\x91\xA0202...' for column 'subject' at row 1: INSERT INTO `checklists` (`subject`, `issue_id`, `created_at`, `updated_at`) VALUES ('ほげほげ', 306, '2022-01-14 22:26:46', '2022-01-14 22:26:46')):

調べてみると以下の情報がヒットした。

https://qiita.com/tomaaaaaaaa/items/08ce75b95df3d310817a

確かにcharacter_set_databaseがlatin1になっていた。。。これは、database.yml にcharset: utf8が入ってなかったためのようです。(encoding: utf8は入っていたので、Redmine自体は日本語が使えており気づきませんでした。)

作ってしまった今から設定を変えても作ってしまったDBには影響しないので、変換してやる必要があります。以下の情報をもとに、どのテーブルがlatin1でできてしまっているか調べてみると、checklist系のテーブルだけでした。

https://www.karakaram.com/changing-the-character-set-to-utf8mb4-after-creating-mysql-table/

SELECT TABLE_NAME,TABLE_COLLATION FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=’DB名’;

| checklist_template_categories | latin1_swedish_ci|
| checklist_templates           | latin1_swedish_ci|
| checklists                    | latin1_swedish_ci|

この3つのテーブルをutf8に変換します。

ALTER TABLE checklist_template_categories
    CONVERT TO CHARACTER SET utf8
    COLLATE utf8_general_ci;

ALTER TABLE checklist_templates
    CONVERT TO CHARACTER SET utf8
    COLLATE utf8_general_ci;

ALTER TABLE checklists
    CONVERT TO CHARACTER SET utf8
    COLLATE utf8_general_ci;

とりあえず、直りました 🙂

今後のために、以下を入れておきました。

/etc/redmine/default/database.yml
charset: utf8
encoding: utf8

/etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
character-set-server=utf8

あと気になったのが、chrome 97.0.4692.71ではなぜか、作ったチェックリストを削除できませんでした。(ゴミ箱アイコンをクリックしても何も反応しない)試しに、Edge 97.0.1072.62 で同じことをしたらできたので、JavaScriptの動きの問題のようです。。。うーん。

徒然なるままに。。。