インターネットから自宅のパソコンの電源を入れる

外出先などの外部から自宅にあるマシンの電源を入れたい時があると思います。(私だけ?)

自宅のホスト名かIPアドレス(固定IPかDDNS)と、Wake On LANに対応したネットワークカード(今どきのだいたいのものは対応していると思います)があればこれが可能です。

1.ルータのUDPポートを開ける。

今回は予約されていない9104を使いました。それを起動したいマシンに転送します。これはバッファローのルータの例です。

2.アプリの設定

今回はiPhoneアプリのRemote Boot WOLを使います。設定はシンプルです。

https://apps.apple.com/jp/app/remoteboot-wol/id310369182

以上で設定完了です。

これで起動しない場合は、BIOSのWake On LANの設定がenabledになっているか確認してください。

nanopoolでEthereumのマイニング

EthereumはASICの参入が制限されていて個人マイナー向けと言われていますので、まずはこれを対象にマイニングしていくことにしました。

 

ウォレットの作成

Ethereum公式からウォレットを作成して、wallet id(0xeDB…の文字列)を取得する。僕はiPhoneアプリにしました。

https://www.myetherwallet.com/

 

マイニングツールのダウンロード

nanominer-windows-1.9.5.zipをダウンロードする。

https://github.com/nanopool/nanominer/releases

 

マイニングツールの設定

config.iniに以下を追加する。

[Ethash]
wallet=0xeDB2b1F0602E094fD6Ad2FffA49ebCe8Ae5A64b6
coin=ETH

このほか、オプションで
email=aaa@email.com
sortPools=true
を追加することもできます。

 

マイニングの実行

nanominer.exeを実行する。

 

マイニング状況の確認

右上のAddress欄に自分のwallet idを検索すると自分のマイニング状況が確認できる。

https://eth.nanopool.org/

完全無料でWindows+ApacheのSSL環境を構築する

Apache付属のOpen SSLでも自己署名証明書(いわゆるオレオレ証明書)を使ってとりあえずのSSLを構築できますが、当然ERR_CERT_AUTHORITY_INVALIDが出ます。

そこで無料でSSL証明書を発行してもらえるLet’s Encryptで取得することにしました。

発行ツール、Win-acmeの取得

win-acme.v2.1.8.847.x64.pluggable.zipをダウンロードしました。

https://github.com/win-acme/win-acme/releases

 

証明書の発行

管理者権限コマンドプロンプトからacme.exeを実行して、質問に答えていきます。

スクリーンショットは上書き処理のため若干挙動が違いまが、初回ではこの他、メールアドレスを入力して、Which installation method should run?はDo not run any (extra) installation stepsを選択して、規約に同意します。

 

Apacheの設定

httpd-ahssl.confhttpd-ssl.confのhddpd.confでincludeしているSSLの設定ファイルを開く。

ServerName localhost:443
SSLCertificateFile “${SRVROOT}/conf/ssl/server.crt”
SSLCertificateKeyFile “${SRVROOT}/conf/ssl/server.key”



ServerName pilotblog.tk:443
SSLCertificateFile “${SRVROOT}/conf/ssl/pilotblog.tk-crt.pem
SSLCertificateKeyFile “${SRVROOT}/conf/ssl/pilotblog.tk-key.pem”

に変更して、その直下に

SSLCertificateChainFile “${SRVROOT}/conf/ssl/pilotblog.tk-chain.pem”

を追加します。

Apacheを再起動して完了。珍しく一発で上手くいった(わかる人にはわかるこの感覚)。

 

証明書ファイルの更新

Let’s Encryptで取得した証明書は90日毎の更新が必要ですが、タスクスケジューラに自動的に登録されます。

タスクは毎日動きますが、更新間隔はsettings.jsonで定義されたデフォルト55日です。
https://github.com/win-acme/win-acme/blob/master/docs/manual/automatic-renewal.md

マイニング向けGPUチューニング

何もチューニングをせずマイニングを始めると、室温24℃でGPU温度が85℃以上まで上昇します。すぐに壊れることはありませんが、コンデンサの寿命は短くなっていると思いますし、精神衛生上良い温度ではありません。

なるべくハッシュレートを上げつつ、発熱を抑えるチューニングを目指します。

結論を書くと、パワーターゲットとGPUクロック最小、メモリクロック最大がマイニングのベストセッティングになります。僕はGTX1060 Superを使っていますが、他のNVIDIAのGPUでも同じだと思います。AMDは試したことがありません。

まず必要なものはチューニングソフトです。MSIのAfterburnerが大変有名で、MSI以外のグラフィックボードにも使えるようです。僕はASUSのグラフィックボードを使っているので、ASUSの同様のソフトを使います。

まず最初に試したことは、発熱の元であるパワーターゲットを下げてどれくらいハッシュレートが変わるかです。見たところ、ほとんど変化がありませんでしたのでこれは最小にセットしました。

次に影響がありそうなGPUクロックを変化させるとどうなるか試したところ、クロックを下げるとハッシュレートも下がりますが、変化はかなり小さいです。
逆にクロックを上げれば、ハッシュレートも上がりますが、これも変化は小さく、また、パワーを下げた状態でクロックを上げると、電力が足らずPCごと落ちます。

メモリクロックはどうかと変化させてみたとろ、これは大幅にハッシュレートを変化させることがわかりました。デフォルトで25Mh/sだったのが28以上まで上がりました。更に、パワーを抑えていても最大を維持できます。

これでセッティングは固まりましたので、あとはGPU温度が60℃台で安定するようにファン回転数を設定します。ファンの耐久性と騒音も考えて75%固定です。これで65℃前後で安定し最大ハッシュレートを出せるようになりました。

Windows 10でL2TP VPNサーバ構築

VPNには色々な方法がありますが、クライアントソフトなしでWindows, Android, iOSから繋げられるL2TPが便利です。

環境
Windows 10 2004 (May 2020 Update)

証明書の設定

ファイル名を指定して実行にmmcと入力し「Ctrl」+「Shift」を押しながら管理者権限で実行。
「ファイル」から「スナップインの追加と削除」、「証明書」を選択して「追加」。
「コンピューターアカウント」ラジオボタンを選択して「次へ」。
「ローカルコンピューター」ラジオボタンを選択して「完了」。

左ペインの「信頼されたルート証明機関」の証明書フォルダからMicrosoft Root Authorityを「個人」の証明書フォルダにコピーする。

着信接続の作成

コントロールパネルから「ネットワーク接続」を開き、「新しい着信接続」を作成する。証明書インストールの後に行うことが重要。
接続に使うアカウントを選択し、「インターネット経由」にチェック。
IPv4のプロパティで、IPアドレスの範囲を選択する。クライアントOSではDHCPは使えない。

IPSecの設定

「セキュリティが強化されたWindowsファイアウォール」を管理者権限で開く。
「接続セキュリティの規則」を右クリックして「新しい規則」、「カスタム」。
「エンドポイント1」にサーバー機のアドレスを入れる。
「受信接続と送信接続の認証を要求する」。
「詳細設定」を選択して「カスタマイズ」。
「1番目の認証方法」枠の「追加」を選び、「事前共有キー(推奨されません)」ラジオボタンを選択し適切なキーを入力。
「プロトコルの種類」は「L2TP」。利用する予定のネットワークのプロファイルを選択。

ルーターのポートを開ける

UDP 500とUDP 4500の2つ。

トラブル

Routing and remote accessサービスが自動起動するようになり、ポート443を占有し、apacheが起動しなくなった。

Address already in use: make_sock: could not bind to address 0.0.0.0:443

とりあえず使っていないSSLを退避させるためhttpd-ahssl.confの443を4443にして解決。

完全無料で独自ドメイン+ダイナミックDNS環境を構築する

freenom.tk独自ドメイン取得

無料の独自ドメインは複数あると思いますが、.tkが有名だと思います。無料で使うには最長でも1年に一度更新作業が必要です。

最初にfreenomに登録して、Register a New Domainに進みます。

Chack Availabilityで使いたいドメインの空き状況を調べますが、この時トップレベルドメインを加えることが必要です。バグだと思いますがこうしないとエラーが起きます。

期間を選択します。

チェックアウトに進みます。

空き状況をチェックするときにトップレベルドメインを加えないと、この”some of your domain could not be registered because of technical error.”というエラーが起きて登録できません。

無事に登録できたら、管理画面に進みます。MyDNSのネームサーバを登録します。


MyDNS.JPでDDNS取得して.tkのドメインを登録

MyDNSに登録します。MyDNSで取得するドメインはどうせ使わないので何でも構いません。

登録したらDomain infoを開いて、domainに取得したドメインを登録します。

あとはDiceがMyDNSに対応しているので、IPを自動登録するように設定して完了です。

マイニングマシンのスペック

マイニングとウェブサーバー、VPNサーバに使っているマシンのスペックです。

OSWindows 10 Pro x64
ケースCooler Master MasterBox E501L
電源Corsair CV650 CP-9020211-JP
CPUAMD Ryzen 3 3300X
マザーボードGIGABYTE B450 AORUS ELITE (rev. 1.0)
RAMCrucial CT8G4DFS8266 [DDR4 PC4-21300 8GB]
SSDCrucial SSD 240GB BX500 CT240BX500SSD1Z
グラフィックボードASUS PH-GTX1660S-O6G x2
ファンCooler Master AL025-18B2-3AN 12cm(リア)
Cooler Master AN025-10B2-3AN 14cm (フロント)
計約93,000円でした

どの仮想通貨をマイニングするか?

マイニングの要となるGPUの選定にはこのサイトが使えます。
https://minerstat.com/mining-calculator

GPUの購入費と稼げる金額の目安のバランスでGPUと対象の通貨を選択しましょう。
一つのマザーボードになるべく多くのGPUを挿した方がコストパフォーマンスが高くなります。

コロナ禍の外資パイロット

中国から世界に広がった新型コロナウィルスの影響で、世界中で航空需要が減少しています。

それに伴い、フライトのないパイロットは航空会社にとって大きなコストとなっており、各社でコスト削減策が取られています。

僕の知っている限り、現在のところ外資エアラインでは、
・フィジーエアウェイズ (2020/05/25)
・イージージェット (2020/05/28)
・クウェート (2020/05/28)
・ガルーダインドネシア (2020/06/02)
・エミレーツ (2020/06/09)
・エアニュージーランド (2020/06/23)
・ノックスクート (2020/06/24)
・カンタス (2020/06/25)
・ウェストジェット (2020/06/25)
・ジェットスターアジア(2020/6/26)
が、従業員のレイオフをしています。当然ですが外国人が先に対象になるようです。

更に、
・フライビー (2020/03/04)
・南アフリカ航空 (2020/04/19 )
・ヴァージンオーストラリア (2020/04/21)
・アビアンカ航空 (2020/05/10)
・タイ国際航空 (2020/05/19)
・LATAM (2020/05/26)
・ノックスクート(2020/06/27)
は経営破綻しています(外部から資金投入され運航は継続している会社もあります)。

かくいう僕は仕事にはあまり影響がなく、雇用と給与は今のところ確保できていますが、日本への帰国はままらない状態です。

一方でターキッシュのようにレイオフはしないと宣言する会社もあります。また、日本の航空会社ではフライト減少に伴う減給はありますが、解雇にまでは至っていないようです。

安定した雇用が確保できることは、日本の会社に勤める一つのメリットだと思います(その分コストが削減しにくく経営破綻に至りやすいとも言えますが)。