テクニカルインフォアーカイブ

あまりにもニッチな記事なので、特に解説はいたしません。
ヤマハのルーターRTX1100を使って、LAN内にある別のLANにぶらがっているパソコン(下図のPC1、PC2)から、インターリンクのマイIPサービス(PPTP)を使って、インターネット側に接続元を固定IPとする接続するための設定をしてみました。

interlink_pptp.jpeg

コンフィグは以下のとおりです。

# show config
# RTX1100 Rev.8.03.92 (Thu Feb 16 20:50:25 2012)
# Reporting Date: Jan 2 08:22:03
ip route default gateway tunnel 1
ip route 203.141.xxx.xxx gateway dhcp lan2
ip lan1 address 192.168.2.1/24
ip lan2 address dhcp
pp select 1
pp bind tunnel1
pp keepalive use lcp-echo
pp keepalive interval 10
pp auth accept chap
pp auth myname username password
ppp ccp type mppe-any
ppp ipv6cp use off
ip pp mtu 1280
ip pp nat descriptor 1
pptp service type client
pp enable 1
tunnel select 1
tunnel encapsulation pptp
tunnel endpoint address 203.141.xxx.xxx
pptp tunnel disconnect time off
pptp keepalive use on
ip tunnel nat descriptor 1
tunnel enable 1
nat descriptor type 1 masquerade
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.2.11-192.168.2.20/24
dns server 203.141.128.xxx 203.141.128.xxx
pptp service on

結果。
# show status pptp
------------------- PPTP INFORMATION -------------------
Number of control table using
Tunnel Control: 1, Call Control: 1, GRE Control: 1
TUNNEL[01] Information
TCP status: established
PPTP Call status: established
PPTP Service type: client
PNS status: established
Remote IP Address: 203.141.xxx.xxx
Local IP Address: 0.0.0.0
GRE status: open
Transmitted: 108 packets [7270 octets]
Received: 110 packets [11761 octets]
Transmit left: 0 packet
Transmitted ack number: 110 times
Transmit ready timeout: 218 times
Received ack number: 19 times
Received invalid sequence: 0 packet
Received delayed sequence: 0 packet
Received invalid ack: 0 packet
Received delayed ack: 0 packet
Received out of sequence: 0 packet
Received no data packet: 0 packet
MPPE Information
Rx key changed: 0
Tx key changed: 0
synchronized: 1
received delay: 0 time
lost detected: 0 time
reset condition: 0 time
reset done: 0 time

ぐっどらっこ。

さようならガラケー、こんにちはスマホ

2018年11月に、私の使っているauのガラケーの「CDMA 1X WIN」が「2022年3月でおわるぞ、ごぉらー」というお知らせをいただいたのと、使っているのは10年前のガラケーで、TLS 1.0までしか対応しないとか、「お前の声がよく聞こえない」とか、いろいろ不都合が出てきたので、スマホに変えようといろいろ検討しました。

キャリアメールを使いたかったので、3大キャリアのステイを最初は考えていて、少しお安くなるからdocomoにMNPしようかと料金プランを調べたんだけど、結局、docomoもauも、ネックだったのは段階式のデータ通信プラン。(ピタットプランとかベーシックパックという名称)
MVNOの多くは、高速LTE分で3Gとか6Gを上限に、使い切ったら以降は低速通信というデータプランなのに、3大キャリアはどこも6~7000円くらいまでのリミッターなしのプランしかなく、これでは、こわくて使ってられない。いわゆる「パケ死(死語)」が、復活しているのである。
(少し前までは3大キャリアでも1Gとかの少量プランがあり、それだったら、そのままauに残ってあげたのに。消費者責任で、あわよくばパケットの浪費で儲けようと欲をかくから...。ホントばかな企画者である

というわけで、こだわっていたキャリアメールはSMSで代用することにして、MVNOにMNPすることにしました。

3Gガラケーだったので、幸いにもMNP番号はガラケーのウェブ画面から取得できちゃった。泣いて「やめないでー」というお引き止めもなく、あっさり番号ゲット。

あとは、ネットでMVNO会社に申し込み。ショップへでかけて長蛇のカウンターに並ぶ必要も無し。
ちょうど、端末の安売りなんかもしていて、その中から今回は AQUOS sense plusを選びました。

aquos_sense_plus.jpg

CPUはQualcomm Snapdragon 630、
2.2GHz(クアッドコア)+1.8GHz(クアッドコア)のオクタコア。
メモリ3GB、ストレージは32GB。
バッテリーは3,100mAh。
USB Type-Cとイヤホンマイク端子(3.5φ)が別々にある。
おサイフケータイもついていて、防水防塵。
157gで5.5インチ画面。
OSはandroid 8.0。で、もうすぐ9をリリースするよ!とホームページに書いてある。楽しみ。

MVNOにネットで申し込んでから3日後にSIMカードとスマホが届きました。
最初に、Wi-Fiで一通りセットアップ。
ガラケーにてキャリアメール使ってたいろいろなサービスのメルアド変更とかしてたら1週間位たってしまった。
1週間後、SIMを刺して、開通センターなるところに家電から電話して、電話番号とMNP番号の下4桁を入力したら、1時間後には、スマホで電話もネットも使えるようになりました。

auへの解約手続きも不要で、MNPって超便利。

さて、これからよろしおねがいします、スマホさん。

そうそう、AQUOS sense plusは簡易留守電機能もあって、いい感じのスマホです。

ぐっどらっこ。

残念なお知らせです。

dropbox201903.png

無料版、つまり,、BasicユーザーのDropboxで同期できるデバイスは、2019年3月から3台までになりました。

2019 年 3 月より前に 4台以上のデバイスを同期(リンク)している場合、これまでに同期(リンク)したすべてのデバイスは同期(リンク)されたまま利用できますが、新しくデバイスを追加することはできません。
新しいデバイスを追加したい場合、2台までにした上で、新しいデバイスを追加することになります。

Plusユーザー(1200円/月、1TB)、Professionalユーザー(2400円/月、2TB)なら、4台以上のデバイスで同期が可能です。

ぐっどらっこ。

Windows 10のパソコンで、2019年2月13日以降に、

停止コード:MEMORY_MANAGEMENT

でブルースクリーン画面が表示され、再起動してしまう場合は、
2月のWindows Updateの KB4487017 が原因かもしれません。
アンインストールして様子をみてみましょう。

bsod_mm.png

アンインストール方法は次のとおりです。

スタート → 設定 → 更新とセキュリティ → 更新の履歴を表示する → 更新プログラムをアンインストールする → KB4487017を探して右クリック → アンインストール

なお、対策版が出るまでは、そのKBを「非表示」にしておいたほうがいいしょう。
そうしないと、また、インストールされてしまいます。

Windows 10: 問題を起こした更新プログラムやドライバーを Windows Update で一時的にインストールされないようにするツールの紹介(Microsft TechNet)

KB4487017は、「現時点のWindows 10」の1つ前のバージョンである「1803」用の更新プログラムです。
Windows 10を1809にするのもおすすめです。

ぐっどらっこ。

結論。

ChromeブラウザでPDFを見てはいけません。文字化けすることがあります。
必ずダウンロードしてから、PDF閲覧ソフトで見ましょう。

ChromeでPDFを見ると↓こんな感じで文字化けします。
文字化け、文字の欠落、「。」や「、」が行の中央部に表示されたりします。

chrome_pdf1.png

chrome_pdf2.png

なお、最近のChrome(72)で、PDFをChrome内で開かないようにするためには、以下の設定を行います。

1.Chromeのアドレス欄に chrome://settings/content/pdfDocuments と入力。

2.「PDF ファイルを Chrome で自動的に開く代わりにダウンロードする」をONにする。

chrome_pdf3.png

以上です。

ぐっどらっこ。

最近、OfficeアプリのOutlook、Word、Excelを起動すると、"問題が発生しました" というエラーが時折発生するようになりました。バージョンは2016です。

ms_office_app_something_went_wrong.png

解決方法ですが、
Officeの修復やアンインストール&再インストールの前に

パソコンの再起動

を試してみましょう。
シャットダウン→電源投入ではだめです。

「パソコンを使い終わったら、常にシャットダウンしている」という使い方をしている方は、
「高速スタートアップ」をオフにすることをおすすめします。
Officeがアップデートされた時、シャットダウン→電源投入では、そのアップデートが反映されない場合があります。アップデートの反映のために必要なのが「再起動」ですが、「高速スタートアップ」をオフにすれば、シャットダウン→電源投入でも、再起動と同じ効果を得られます。

「高速スタートアップ」をオフにする方法は次のとおりです。

1.スタートボタン→Windowsシステムツール→コントロールパネルをクリック。

2.「電源オプション」をクリック。(見当たらないときは「システムとセキュリティ」をクリック)

3.「電源ボタンの動作の選択」をクリック。

4.「現在利用可能ではない設定を変更します」をクリック。

5.「シャットダウン設定」欄の「高速スタートアップを有効にする」のチェックをオフにして「変更の保存」をクリック。

以上です。

ぐっどらっこ。

ウェブサーバーは、通常は、 http://www.example.com や https://www.example.com というリクエストを受けて、HTMLデータをクライアントへ返しているわけですが、
サーバーに対して、外部から、
http://999.999.999.999
https://999.999.999.999
のように、IPアドレスでアクセスしに来る場合もあります。
また、ウェブサーバー自身は www.example.com で情報提供したいのに、第三者が、xxx.example.net をそのサーバーのIPに勝手にDNS割当てしてアクセスさせるということもできたりするので、ウェブサーバー側では、IPアドレスによるアクセスに限らず、自分がホストしているFQDN以外でアクセスがあった場合は、基本的には「アクセス拒否」したほうが良いです。

reject01.png

特に、中国国内に立てているウェブサーバーは、ICPサイト登録が必要だったりしますが、登録したドメイン以外でアクセスができてしまうと、データセンター経由で、当局より叱られたりします。

そんな、「IPアドレスや違うFQDNによるアクセスを拒否したい場合」の設定方法です。
OSはCentOS 7.5、Apacheは2.4.6、SSLはmod_sslです。
状況設定が中途半端(DocumentRootが/var/www/htmlだったり...)な、ざっくりメモです。
よくわからない子はまねしないでね。

ちなみに、Apache 2.4では、デフォルトでVirtualHostがONになっています。
そして、VirtualHostやSSLの設定は cond.d/*.conf からIncludeするようになっています。

1.http(80)については、ホストするVirtualHostを conf/httpd.conf または conf.d/vhost-01.conf に、必要な設定を行います。

(vhost-01.confの中身の例)
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/html
<Directory "/var/www/html">
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

2.https(443)については、ホストするVirtualHostを conf.d/ssl.conf 等に、必要な設定を行います。

ここまでの設定で、
http://www.example.com
https://www.example.com
http://999.999.999.999
https://999.999.999.999
http://xxx.example.net ←不正なFQDN
https://xxx.example.net ←不正なFQDN
のすべてでアクセスができるようになってしまっています。

3.conf.d/ の下に 00-reject.conf のような名前で、以下のような内容のファイルを用意します。
conf.dのREADMEには
 Files are processed in alphabetical order.
とあるので、ファイル名が非常に重要なポイントになります。

<VirtualHost *:80>
ServerName any
<Location />
Require all denied
</Location>
</VirtualHost>

<VirtualHost *:443>
ServerName any
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/server.crt ←ファイル名はあなたの環境のそれを指定
SSLCertificateKeyFile /etc/pki/tls/certs/server.key  ←ファイル名はあなたの環境のそれを指定
<Location />
Require all denied
</Location>
</VirtualHost>

4.チェックとapacheの再起動
apachectl configtest
systemctl restart httpd

こんな感じです。
試してみてね。

ぐっどらっこ。

2019/01/27 追記
 下記の設定を行った場合でも、1週間前のファイルが、相変わらず消えていることに気づきました。(泣) 調べたところ、Windows 10の問題のようです。
 ディスクのクリーンアップタスク (SilentCleanup) にて環境変数 %TEMP% や %TMP% に設定されているフォルダーが削除されてしまう問題について
 修正プログラムがないそうなので、タスクスケジュラーで、タスクスケジューラライブラリ→Microsoft→Windows→DsikCleanupから SilentCleanup を「無効」にします。
 管理者モードのコマンドプロンプトから
  schtasks /change /tn \Microsoft\Windows\DiskCleanup\SilentCleanup /disable
 でもOKです。

では、本文です。

知らなかった...。
Windows 10 Fall Creators Update(バージョン1709)以降、Tempの下のファイルが自動削除できるようになったらしい。
しかも、デフォルトでON。
1週間より前のファイルが自動的に削除されている。
多くの人にとってはいいことなのだろう。
でも、私にとっては「勝手に消さないで!」である。

早速、自動的に削除されないように設定した。

1.スタート→設定(歯車)アイコンをクリック。
2.システム→ストレージ→空き領域を自動的に増やす方法を変更するをクリック。
3.「ストレージセンサー」をオフに。(これはオフだった)
4.「一時ファイル」の「アプリで使用されていない一時ファイルを削除します」のチェックをオフに。念の為、その下の2つを「許可しない」に変更。

temp_auto_erase.png

ぐっどらっこ。

空き領域を自動的に増やす方法を変更する

CentOS7.5のパッケージで入れたphp5.4+MariaDBでphpMyAdminをyumでインストールしたかったけど、phpのバージョンとかリポジトリーとかの絡みがあって入れられそうもなかったので、手動でインストールしてみた。
そのメモ。
良い子は真似しないでね。

phpmyadmin_logo.png

1.phpMyAdminのダウンロード。php5.4で使えるphpmyadminのバージョンは4.0。
wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.zip

2.解凍
unzip phpMyAdmin-4.0.10.20-all-languages.zip

3.解凍したフォルダを、phpmyadminという名前に変更して/var/wwwの下へ移動。
mv phpMyAdmin-4.0.10.20-all-languages phpmyadmin
mv phpmyadmin/ /var/www/.

4./var/wwwの下のconfig.sample.inc.phpをconfig.inc.phpとしてコピー。
cp config.sample.inc.php config.inc.php

5.config.inc.phpを編集。
diff config.inc.php config.sample.inc.php
17c17
< $cfg['blowfish_secret'] = 'xxxxxxxxxxx'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
---
> $cfg['blowfish_secret'] = 'a8b7c6d'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
48,60c48,60
< $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
< $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
< $cfg['Servers'][$i]['relation'] = 'pma__relation';
< $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
< $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
< $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
< $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
< $cfg['Servers'][$i]['history'] = 'pma__history';
< $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
< $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
< $cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
< $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
< $cfg['Servers'][$i]['recent'] = 'pma__recent';
---
> // $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
> // $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
> // $cfg['Servers'][$i]['relation'] = 'pma__relation';
> // $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
> // $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
> // $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
> // $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
> // $cfg['Servers'][$i]['history'] = 'pma__history';
> // $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
> // $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
> // $cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
> // $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
> // $cfg['Servers'][$i]['recent'] = 'pma__recent';

6.apacheにエイリアスの設定。
/etc/httpd/conf.dの下に、以下の内容でphpmyadmin.confを作成。

Alias /phpmyadmin /var/www/phpmyadmin
<Directory /var/www/phpmyadmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
<RequireAny>
Require ip 127.0.0.1
Require ip xxx.xxx.xxx.xxx
</RequireAny>
</IfModule>
</Directory>

7.コンフィグをテスト。
apachectl configtest

8.apacheを再起動。
systemctl restart httpd

9.許可したIPから/phpmyadminへブラウザでアクセス。
mysqliがない!というエラーが表示されたので、yum install php-mysqliを実行。

10.phpmyadminを使って、create_tables.sql をインポート。(phpmyadminのソースのexamplesフォルダの下にある)
この操作を行わないと、phpmyadminでデーブルを展開時に、
#1146 - Table 'phpmyadmin.pma__table_uiprefs' doesn't exist
というエラーが発生する。

完了!

ぐっどらっこ。

OneDriveのサインインで0x8004def7エラー

OneDriveアプリでサインインしようとしたら、0x8004def7というエラーでサインインできませんでした。

onedrive_freeze1.jpg

原因は、サインインに使ったマイクロソフトアカウントでの、OneDriveが「凍結」されていたためでした。しばらく使っていなかった...。

https://onedrive.live.com/

へアクセスし凍結を解除したらアプリでサインインできました。

onedrive_freeze2.png

ぐっどらっこ。