サーバ構築」カテゴリーアーカイブ

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

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

自宅のホスト名か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になっているか確認してください。

完全無料で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

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を自動登録するように設定して完了です。