投稿

ラベル(ネットワーク)が付いた投稿を表示しています

OpenWrt で Let's Encrypt (with acme.sh)

イメージ
このブログ記事を最初にまとめた当時(2020-11-11)には気付かなかったが、現在(2023-12-06)ではいつの間にか、OpenWrt のパッケージモジュールとして acme が用意されており、さらには LuCI から使うための luci-app-acme までも存在している。以前の僕はこれらの OpenWrt パッケージについて知らなかったので、acme.sh の 公式サイト の説明に従って一般的な Linux マシンとしてインストールし、コマンドを実行して使用してと、愚直に自力の作業をしていたものである。今では OpenWrt の acme.sh についての 公式の説明 も存在するので、それに従って作業すれば、ほとんど苦もなく完了できる。 だが、acme.sh の実行による Let's Encrypt からの証明書の発行が半自動化されたとはいえ、DNS や NGINX などと連携させる必要があり、総合的な話としては一定の知識を要するので、ここにまとめておきたいと思う。 Web ルートの準備 acme.sh では証明書の発行時の身元確認の方式として、Web ルートに .well-known/acme-challenge という一時的な隠しフォルダを作成し、そこにユニークな文字列からなるファイル名を持ったファイルを設置して、インターネット側から http://(ドメイン名)/.well-known/acme-challenge/(ファイル名)にアクセスできるかどうかで、確認するという形になっている。 このため、いきなり、acme を使うのではなくて、先に DNS 側でドメインが OpenWrt ルーターの IP を指し示すように設定しておき、さらに OpenWrt ルーター側では、NGINX の設定で、そのドメイン名での http アクセスが /www 以下に対応付けられるようにしておかなければならない。 DNS の設定 A レコードでデフォルトドメインがルーターの IP アドレスを指し示すように設定している他、CNAME で www がデフォルトドメインの別名であるようにしている。CAA レコードは今回の趣旨とは全く関係がないオマケで、無関係の他者が勝手にこのドメイン名を使った証明書を作成することを防ぐためのものである( 参考 )

au ひかり用の HGW を HGW-BL1500HM に更新

イメージ
実家の au ひかり用の HGW を Aterm BL902HW から HGW-BL1500HM に更新した。条件(メッシュ Wi-Fi の有料オプション(おうちどこでも WiFi)への申し込みとの抱き合わせ)付きだが、キャンペーンで今なら手数料無料で更新できたからだ(有料オプションは、料金が発生する前に速攻で解約する予定)。 両者の違い: Wi-Fi が ax/ac 対応になった(BL902HW では an まで) NEC(日本)製から Askey(台湾)製になった VDSL モデム一体型から分離型になった 両者の共通点: 有線の WAN/LAN は 1Gbps でギガビットイーサなのは同じ 有料オプションの Wi-Fi は使っていなかったし、今後も使う予定はないので、かなりどうでもいい話(だが、au 側としてはそこが理由で今回のキャンペーンを行ったのだろうけど)。 NEC(日本)製から Askey(台湾)製になったことについては、ファイヤーウォールの初期設定(👉 au ひかり用の HGW のファイアーウォールの初期設定 )など、特に変った点は見られず、この辺りの一貫性はメーカー側よりは au 側にイニシアティブがあるのだろう。ただ、設定項目としては同じでも、かなり画面の外観が変っていて、レイアウトが無駄に大きく(NEC の時は 1 次元的に縦に長いレイアウトだったが、Askey では 2 次元的で横に段組されていて今さら古い時代のホームページみたいなセンス)、行きたい画面に辿り着くまでステップ数が無駄に多い印象。 Wi-Fi は使わないし、かといって使う方の有線の WAN/LAN は前の BL902HW と同じなのに、なぜ、わざわざ更新しようと思ったのか? それはまあ、Wi-Fi が高速化された分、スループット(CPU の処理速度も含めた総合的な性能)がより高速になっているであろうことが期待できるからである。 実は段違い? マンションタイプの VDSL なので、そこがボトルネックにはなってしまうのだが、実は、BL902HW の場合と BL1500HM で大きく違っている部分があり、それは、VDSL モデムと HGW 間の接続が、100Base-TX から 1000Base-T に上がった点である。

au ひかり用の HGW のファイアーウォールの初期設定

au ひかり用の HGW である HGW-BL1500HM について、初期状態でのファイアーウォールの設定について調べてみた(ちなみに、前世代の Aterm BL902HW についても設定内容は同じである)。 WAN 側インターフェース 種別 方向 プロトコル 送信元 送信元ポート 宛先 宛先ポート 優先度 廃棄 out UDP any any any 137-139 1 廃棄 out TCP any any any 137-139 2 廃棄 out UDP any any any 445 3 廃棄 out TCP any any any 445 4 廃棄 out TCP any any any 2049 5 廃棄 out UDP any any any 2049 6 廃棄 out TCP any any any 1243 7 廃棄 out TCP any any any 12345 8 廃棄 out TCP any any any 27374 9 廃棄 out TCP any any any 31785 10 廃棄 out UDP any any any 31789 11 廃棄 out UDP any any any 31791 12 廃棄 in TCP any any any 1243 13 廃棄 in TCP any any any 12345 14 廃棄 in TCP any any any 27374 15 廃棄 in TCP any any any 31785 16 廃棄 in UDP any any any 31789 17 廃棄 in UDP any any any 31791 18 一見複雑なようだが、全て廃棄するルールで、送信元ポートは全て any であり、重複してエントリーされているものがあるので、宛先ポート毎にまとめて考えれば、かなり単純だと思う。独自に宛先ポート毎の表にしてみた: WAN 側インターフェース 宛先ポート 方向 プロトコル 備考 137-139 out TCP/UDP NetBIOS over TCP/IP (Windows) 445 out TCP/UDP Direct Hosting of SMB (Windows) 2049 out T