$name;

Sola's daily diary, commit logs, and all

JANOG52 NOCチーム参加ログ

2023/7/5 - 7/7に、長崎市の出島メッセにてJANOG52 Meeting in NAGASAKIが開催された。私はNOCチームメンバーの一人として、会場ネットワークの設計構築、運用、撤収に参加。貴重な経験を積んだ。

JANOGをはじめとする大規模イベントのNOCに参加したのは、2年前のJANOG49が初めて。今回のJANOG52は、私にとって2度目のNOC経験となった。

経験したことを忘れないうちにまとめたいと思う。

参考資料

この記事はあくまで個人の日記として残しているものなので、前提情報を知らない人が読んでも、何を言っているかさっぱりだと思う。

JANOG52の会場ネットワークについては、プログラム発表のプレゼン資料や、佐々木氏のnote記事を読んでもらうと全体がつかみやすいと思うので紹介する。

www.janog.gr.jp

note.com

参加日程とか

NOCに応募して採用通知が来たのが4/14。それから本番までの間、何度か全体ミーティングやったり、チームでミーティングやったり。ホットステージが近づくと、チームでのミーティングの頻度も増えたり。

私のいたL2L3チームは、ホットステージ前に週2でミーティングしていたけど、他のチームに比べても結構高頻度だったみたい。他のチームを見渡せばアクティブにどしどしコミュニケーションを取っているチームもいたけれど、うちは大人しいメンバーが多いチームだった?ような印象があるので、高頻度でミーティング取る戦略は正しかったかも。非同期でSlackでメッセージ打ってると中々聞けないようなことも、ミーティングだとさらっと質問できたりするからねぇ。

現地参加の日程はちょっと厳しかった。
・ホットステージ: Day1 - Day3
・土日 - 現地滞在者同士で交流会+長県大見学会
・機材搬入日: Day -1
・設営日: Day0
JANOG本番: Day1 - Day3
という全体スケジュールの中で、参加できたのがホットステージのDay2と、設営日のDay0、JANOG本番の3日間。合計5日間しか参加できなかった。

講義を色々取ってたので、講義になるべく穴を開けずに、現地参加もなるべく多く...とバランスを取るとこうなった、という感じ。でも結局、Day3の日もDay-1の日も学校休んじゃったし(大寝坊した)、本番までのスケジュールはきつかったなぁ...。

現地では、L2スイッチ周り触ったり、人がトラブル対応してる所にお邪魔して検証手伝ったり、カメラ持って行っていたので写真撮りまくったり。Day3の後は(私にしては珍しくw)飲み会に参加したり。

JANOGを全力で楽しむぞ!」という目標で参加したけど、ネットワークチームの立場としては一通り、最初から最後まで通して参加できたので良かったんじゃないだろうか。

なぜL2L3チームに参加したのか

L2L3チームに参加した動機は単純で、「JANOG49ではサーバー触ったので他のことをやりたかった」という動機が7割。隣の芝生は青く見えるというやつで、サーバー以外の作業に興味があった。
プログラム書いたり、面白いもの考えて作ったりするような創造性の高いことは他の人に任せた方が楽しいものができそうだなぁ、という思いも3割くらいを占めていた。やっぱり、裏方的なことをやるのがどうしても好きなんだ。

そんなこんなでL2L3チームに手を挙げたのだが、結果的には自分にピッタリ合っていたといえるのではないだろうか。

時系列まとめ

もう覚えてない...。あまりに激動の2週間すぎて全く記憶に残らなかった。
備忘録として、覚えている部分だけ書き出してみる。

HotStage Day2

怒涛の日帰りスケジュール。朝8時台に長崎について、朝マック食べて会場に駆け込んだ。

現地ではすでに上流側開通済み。L3SWキッティング中、L2SWとりあえず1台コンフィグがざっくりできつつあった。

私の作業としては、L2SWの2台目以降を一通りさわり、既存のコンフィグがどうなってるのかザックリ理解し、まず2台目をキッティング。他のスイッチも他のメンバーが作ってくれたりした。

出来上がったNW機器をMDFとかEPSに置きに行ったり。

1日の作業の終わり際、チームのみんなが駄弁っているあいだにもう1台のスイッチのコンフィグを流し込みながら、キッティングに使うコンフィグの流し込み用雛形を作っちゃった。勢いだけで作っちゃったこの雛形だが、翌日私が居ない間に、コンフィグの流し込みに有効活用されたみたい。かなり嬉しい。

そのあと集合写真撮って解散。

列車予約の勝手がわからず、切符をネット予約だけして受け取らずにおいたら「間に合わないぞ急げ!!」ってめっちゃ焦らせてしまった。切符の受け取りは早い方がよい(当たり前だ)

Day0 (会期前日)

この日も朝から長崎着。

設営日。この日はL2L3チームとしてはあまりやることがなかった。ネットワーク自体は完成形にほぼ近い状態で動いていた。他のチームの手伝いをしたり、会場の養生だったり配線だったり、チーム外の仕事の配分が高かった記憶。

EPS室にスイッチを置きまくったり、足元注意の虎テープを貼ったり。大人メンバーの方が無限にドーナツの差し入れをしてくれたりw。

この日は忙しいメンバーが多かったのか、作業中の写真を撮った人が少なかったので、写真をたくさん撮っておいてよかった。

Day1 - Day3(会期中)

この日から記憶がだいぶ薄い。

初日は、無事に動き出したネットワークを眺めていたくらいで、あまり出番はなかったようなそんな記憶がある。私たちとは別のサーバーチームは、この日のハッカソンで監視まわりを一気に仕上げたりしていて、無事にハッカソンに優勝したけど、別の発表があるからといって優勝者プレゼンを辞退しただとか、そんな話を聞いたり。それで1日が終わったようなそんな記憶がある。

2日目は展示ブースとか見に行ったり、JANOGの夕べに参加したり。JANOGの夕べは人があまりに多すぎてちゃんと楽しみ切れなかったなー...。

3日目は会場NWに異変が起こった。来場者Wi-Fiがつながりにくいという話が入って、調べてみるとNATテーブルが溢れていたらしい。余計な所に影響を与えないよう、昼休みにNAT関連の再設定が行われた。
ここまでノートラブルでネットワークが運用できていたので、トラブルに見舞われたのはとても惜しかった。最も重要性の高いストリーミング配信には影響がなかったのが不幸中の幸い。トラブル対応風景は勉強になった。

午後にはネットワークチームのプログラム発表があった。一番楽しみにしていたプログラムの一つでもあった。
登壇風景の写真を取るつもりでカメラを持ってきたけど、思いの外キレイには取れなかった...。

 

3日目の後は大急ぎで撤収。スイッチやルーターを開梱したときの物品管理が甘く、梱包作業にえらく戸惑った。結果、梱包は無事に終わったけど、物品管理は私もリモートで後方支援してあげるべきだったかなぁと反省。

3日目の後は飲み会に参加して、ホテルで後泊して、翌朝無事に寝坊して、あわててホテルをチェックアウト。

雨も降っていたし、お財布がカツカツだったし、疲れていて人と会うエネルギーもなかったので、3日目の翌日は本当に何もできなかった。新幹線を夕方の予約にしていたけど、お土産を買う以外はただひたすらに暇つぶしするばかりだったのが勿体なかった。

反省とか

個人的な反省としては、JANOGというイベントを本当に楽しめたのか?という点では疑問が残る。きちんとセッションを見たりすべきだった。展示ブースも回ったけど、名刺を準備していなかったので出展社さんの名刺をもらうばかりだった。

あとはスケジュールというか個人の能力の問題でもあるんだけど、大学の授業に追われていて事前に自分なりにネットワークのこと勉強したり、設計に関与したりといったことは十分には出来なかった。マルチタスクが上手な人はちゃんと授業と両立できると思うが、あくまで個人差。次の機会があれば、余裕あるときに勉強や質問、意見交換など頑張っていきたい。

今後の展望

今回得られた経験をこの場限りにすることなく、他のイベントNOCなどにも生かしたいと考えている。できればさっき書いたとおり、設計にもガンガン首突っ込めると良いよなぁ、と。

興味のあるイベントに参加して、肩書きも技術経験も増やしていくことで、自分にとっても企業さんにとっても「強み、弱み、興味」がはっきりするようになれば、就活にもつなげていけるかなぁ、なんて考えている。

個人的に感動した技術

今回、実験ネットワークのひとつとして「IPv6-mostly Access Network」が運用された。
IPv6-mostly...(略) 」なんだか聞きなれないワードだが、日本語に訳すなら「主としてIPv6を用いるアクセスネットワーク」とかそんなところだろうか。ChatGPTに聞いたら「IPv6主体のアクセスネットワーク」という、イケてる訳を考えてくれた。さすが。

このネットワークは、IPv4/IPv6デュアルスタックネットワークの一種である。ただし、

IPv6対応
・NAT64対応(なおかつCLAT対応?)
DHCP Option 108 (RFC8925) を通知する

の3つの条件を満たす端末には、IPv4アドレスが払い出されない。代わりに、NAT64を経由してIPv4インターネットに出てもらう。
端末からみると、IPv6アドレスしか割り当てられていないにもかかわらず、Twitterのような、IPv4のみに対応するコンテンツにもアクセスができるという不思議な状況を実現できる。

今までのIPv4/IPv6デュアルスタックネットワークは、IPv4シングルスタックネットワークを構築・運用するのと比べて負担が増大するという面が大きかった。
IPv6対応コンテンツへのアクセス時には、トラフィックIPv6にオフロードできるため、IPv4シングルスタック構成と比較してNATの負担が減るというメリットは挙げられる。かといって、DHCPプールの払出しが減るわけでもない。

今回の手法では、対応端末に対してIPv4アドレスを払い出さずに済むようになるため、DHCPプールの払出し数を削減できる。また、IPv4コンテンツへのアクセス時に、従来は必ずIPv4 NATを経由していたが、今回の手法では、対応端末からIPv4コンテンツへアクセスする際はNAT64を経由することになる。IPv4 NATへのアクセス集中を緩和できる点も、単純なIPv4/IPv6デュアルスタック構成と比較した長所だろう。

会場で構築されたIPv6-mostly Networkは安定動作しなかったが、新しい技術ゆえに安定運用のためのノウハウが蓄積されておらず、不安定要素が残るものと捉えている。したがって、私はあまりこの点を気にしていない。

IPv6アドレスの割り当てのみでIPv4コンテンツにアクセスできるという体験が非常に新鮮であった点と、IPv4の運用を徐々にフェードアウトさせていく道筋が見えたという2つの面で、インターネットの未来を垣間見られたように思う。個人的に、とてもよい刺激をもらった。

私の環境でも、IPv6-mostlyに限らず、IPv6まわりを沢山実験したい。どのようなテーマがあるか色々考えている。

 

ジーニアス英和辞典第6版を買ってしまった話

英語辞書を初めて手に入れたのは高校に入るころ。それまでは教科書の巻末の単語集を辞書代わりに使っていたが、私が入学した高校では指定の辞書を買うことになっていた。当時買ってもらったのは、「エースクラウン英和辞典第2版」。今でも現役で使い続けている。

その後、受験勉強にあたり、カシオの電子辞書「XD-G4900」を購入した。購入の動機は様々あるが、紙の辞書は持ち歩くのが大変だとか、そんな理由だった記憶がある。エースクラウンは親にお金を出してもらって買った辞書だが、電子辞書は自腹。確か、趣味で集めていた電子機器をメルカリだか何だかで売却して、そのお金で電子辞書を手に入れたと覚えている。自分で買ったものはそれはそれは大事にするもので、今でも大学の英語の講義に持ち込んで活用している。

XD-G4900には満足している。ジーニアス英和辞典第5版に、リーダーズ英和辞典第3版、オックスフォード現代英英辞典、ロイヤル英文法、など非常に様々な書籍が内蔵され、それでいて非常にコンパクト。むろん、使いこなさなければ意味はないが、これらのコンテンツは実際に使ってみるとなるほど便利だ。ロイヤル英文法は文法を調べたり思い出すのに非常に適した、文法書のバイブルとして使える。リーダーズは用例や解説の少ない「さっぱり」した辞書として語義を調べるのに最適。ジーニアスはリーダーズと対照的な辞書で、単語の使い方や用例にフォーカスされている。漢字を忘れたときは、国語辞典で日本語を引いたりすることもしばしば。とにかく、電子辞書が1台あればなんでもこなせるうえ、持ち物を軽く小さくできるという点では、紙の辞書とは比類にならない利便性がある。

電子辞書に大きな欠点があるとすれば、ページの一覧性の悪さだ。これに尽きるといってもよい。
上の画像では、 "let" をジーニアスで引いている。ジーニアスは解説と用例の多い辞書だが、頻出単語や語義の多い単語を引くと、画面全体が文字で埋まってしまう。何度もスクロールしないと語義をすべて確認できない。スクロールも非常に遅く、1画面分スクロールするのにおよそ1秒を要する。手早く調べ物をしたいときには、レスポンスの悪さと一覧性の悪さにはうんざりさせられる。

電子辞書の購入がきっかけでジーニアスに触れた私は、長らく「なんて使いづらい辞書なんだ」と思い込みながら単語を引き続けていた。しかしよく考えれば、本来の姿である書籍版のジーニアスを引いたことはなかった。書籍版と電子辞書版の使い勝手の違いが気になったので、実際に使い比べてみることにした。

大学の図書館に足を運ぶと、ピカピカの姿の「ジーニアス英和辞典第5版」が2冊並べてあった。久しぶりに引く紙の質感や、素晴らしいほどに高い一覧性に惚れ込み、辞書を引くという行為の楽しさを思い出させてくれた。

それから1か月。気づけば、新しく出たジーニアスの第6版を買ってしまっていた。

第6版では、第5版になかった新しい単語が追加され、古い単語が削除されたという。普通に辞書を引いていて、この違いは良くも悪くも気になることはない。新しい単語は辞書を頼らずに検索で調べることが多いだろうし、すでにニュースなどで見聞きして知っている単語も多い。それに、古すぎる単語はこの辞書に載っていなくても諦めはつく。私にとって、新語がどれだけ辞書に載っているのかというのは、辞書に求めるポイントではない。ただ、あえて第6版をフォローするならば、定評のある第5版の内容が大幅に改定されることなく、順当に内容をアップデートしたということ。改定直後の辞書では、単語の説明や収録内容の妥当性が議論されることがあるが、その点第6版は第5版の内容をほとんど継承しており、安心して購入できると考えられる。

普段の生活の中で、紙の辞書を引く機会は減ってきている。スマホや電子辞書で意味を調べるのも良いが、一覧性の良さはやはり紙の辞書が優れていると感じる。一つの単語の意味を隅々までじっくり確かめられるだけではなく、同じページにある他の単語も目に入るという点も紙ならではの特徴。質感や手触りを楽しむのもよい。「調べる」だけではない、辞書の新たな楽しみ方を見つけることができた。

インフラ独学初心者のMisskeyサーバー新春構築記

はじめに

2023年を迎え、早くも正月が過ぎようとしています。

昨年は、イーロン・マスク氏によるTwitterの買収劇や、その後の矢継ぎ早な運用改革が注目を集めました。
こうした動向を不安に感じてか、Twitter以外のSNSプラットフォームが注目を集める動きが見られました。なかでも、分散SNSプラットフォームとして知名度の高いMastodonに関心を寄せる人が多いようです。

筆者は2017年ごろから、分散SNSプラットフォームの一つであるMastodonを利用していますが、最近はMastodon以外のプラットフォームにも興味を持っていました。それが、今回サーバー構築を行ったMisskey(ミスキー)です。

Misskeyは、日本人のsyuilo(しゅいろ)氏により、2014年から開発が始められた分散SNSソフトウェアです。ActivityPubにより他の分散SNSプラットフォームとの相互通信機能をもつほか、マイクロブログの投稿以外にも、カスタマイズ可能なホーム画面、静的なWebページの作成機能など多彩な独自機能が搭載されていることが特徴で、日本語ドキュメントも開発陣が執筆しています。筆者もこの点を気に入ったことが、Misskeyに興味を持った最大の動機です。

サーバー構築の経緯

分散SNSの利用には、他人がホストしている既存のサーバー(インスタンス)にアカウントを作成する方法と、自らがサーバーをホストすると同時に自身のサーバーのユーザーになるという、2種類の方法があります。

Misskeyは他のSNSと比べると知名度がまだまだ低く、サーバーを選ぶ上での選択肢が比較的限られます。サービスの可用性や運営面での信頼性、サーバーの雰囲気など、筆者の要求を満たすサーバーが少ないと感じており、いずれは自身でMisskeyのサーバーをホストしたいと考えていました。

サーバーの構築には、フロントエンド、バックエンド、インフラで用いられる各種周辺技術に対する知識、およびセキュリティに関する深い理解が不可欠です。
筆者はLinuxやWebサーバーの独学を始めて1年あまりが経ったタイミングだったことから、サーバー構築を通して各種技術への理解を深めるにはちょうど良いタイミングであるとも感じました。

このような経緯で、まとまった時間が取れる年末年始を利用して、Misskeyサーバーを構築することにしました。

なお、筆者が今回構築したサーバーには下記のリンクからアクセスできます。

mi.hk-shuttle.net

サーバー構築において考慮したこと

今回のサーバー構築において、最も時間を掛けて考慮したことはセキュリティ対策です。

分散SNSソフトウェアは、世界中の各サーバーとリアルタイムで直接投稿を交換しあうことができる特徴があります。そのため、通常の個人運営のウェブサイトやブログと比較すると、ユニークビジター数が多く、世界中から多くのトラフィックが押し寄せることになります。その中には悪意のあるユーザーも含まれます。

一例として、世界最大のMisskeyサーバーである「misskey.io」においては、度重なるDDoS攻撃の被害を受けているようです。misskey.ioでは、DDoS攻撃をきっかけに大規模な障害が発生したケースがあると、2021年12月のブログ記事で明かされています。

blog.arkjp.net

このような事例を受け、筆者は、主なセキュリティリスクとしてDDoS攻撃を想定し、そのほかにもオリジンサーバーが受けうる攻撃例としてサーバーコンソールへの不正ログイン試行を想定することとしました。

そのほか、世界中の他のサーバーのユーザーの投稿が流れてくる過程で、国内法に違反するコンテンツの流入が想定されます。サーバー事業者からの即時契約解除や、最悪の場合は刑罰の対象となるおそれもあります。
こまめにサーバーのキャッシュを確認し、キャッシュの消去、ユーザーやドメインのブロックを行うなど、手間を惜しまず管理する必要がありそうです。

本サーバーが採用したセキュリティ対策

今回構築したサーバーでは、サーバーコンソールへの不正ログイン対策として「SSHポートの閉鎖」を行い、さらにDDoS攻撃の対策として「CDNの採用」および「CDN以外からのHTTP・HTTPSアクセスの禁止」を行いました。

SSHログイン対策

筆者が以前から契約していたVPSインスタンスでは、かねてより「rootログイン、デフォルトユーザー名でのログイン、デフォルトポート番号でのログイン、パスワードログイン」の4つを禁止し、強固な公開鍵認証の採用やポート番号の変更といったセキュリティ対策を施していました。

今回構築したサーバーでは、インターネット上から直接SSH接続を待ち受ける仕様を改めました。

Cloudflare Zero Trust Tunnelというサービスを利用し、エッジサーバーとオリジンサーバーとの間で、SSHのためにトンネルを張っています。SSHクライアントはCloudflareに対してまずアクセスを試み、Cloudflare側で認証されたクライアントからのみ、エッジサーバーに対してSSH接続要求を行える仕様としています。
エッジサーバーとの接続はコマンドライン上で行えます。OpenSSH Clientのコンフィグファイルに「ProxyCommand」を設定して自動化しました。短いコマンドを打つだけで、オリジンサーバーへSSHできます。

この構成の利点は、インターネット上のTCP443番ポートを宛先とした通信が行える環境であれば、どのような環境からもSSH接続ができる点にあります。
以前の筆者のSSHセキュリティ対策では、所属大学のネットワーク内からSSH接続ができませんでしたが、今回の手法では、学内からもSSH接続が可能になりました。

CDNの採用

CDNコンテンツ配信ネットワーク)は、Webサーバーへの接続要求をプロキシし、キャッシングによるパフォーマンスの向上と、オリジンサーバーのIPアドレスを秘匿化することによるセキュリティの向上を図るクラウドサービスです。

CDNを採用することにより、通常の名前解決ではオリジンサーバーのIPアドレスを引くことができなくなり、オリジンサーバーを発見しにくくなります。また、コンテンツのキャッシングやWAFにより、DDoS攻撃に対する耐性が向上します。

Misskeyの公式ドキュメントにおいては、Cloudflareの利用が強く推奨されています。Cloudflareには無料プランもあり、個人で利用するうえではほとんど費用の負担が発生しないことから、筆者もCloudflareを採用しました。

misskey-hub.net

CDN以外からのオリジンサーバーへのアクセスの禁止

CDNを採用したとしても、仮にオリジンサーバーがインターネット上のすべてのIPアドレス範囲からのHTTPリクエストを受け付けていた場合、オリジンサーバーのIPアドレスが漏洩した際に容易にサーバーの正体がバレてしまいます。

これを防止するために、ufwを使用して簡易的にCDN以外からのHTTPリクエストを弾くように設定しています。
前述のSSHログイン対策と合わせることで、仮にオリジンサーバーに対しポートスキャンを行ったとしても、CDN以外からはいかなるポートも開放されていないように見えるため、最低限のセキュリティ対策として暫定的に機能すると考え、今回はこのような設定を採用しました。

Misskey本体のセットアップ

今回のサーバー構築で最も頭を抱えたのがMisskey本体のセットアップ作業です。

公式ドキュメントでは、Gitリポジトリをcloneし、環境に合わせて設定ファイルを編集したあと、Dockerイメージをビルドする方法が推奨されています。

筆者の環境では、Dockerイメージのビルドに何度も失敗し、技術力の不足によりトラブルシューティングもできなかったことから、ついには自力でのビルドを諦め、Docker Hubに公開されている既製のDockerイメージをpullする方法を採用しました。幸いなことに、Misskey開発者により積極的にDockerイメージが公開されており、最近のバージョンのDockerイメージを容易に入手できました。

misskey/misskey - Docker Image | Docker Hub

その後も、必要なコンフィグファイルを指定のディレクトリに入れ忘れるなど、様々な凡ミスに時間を費やしましたが、無事に2023年1月4日20時56分に、Misskeyにアクセスできる状態となりました。

構築の準備作業は2022年の大晦日の夜から始めたので、作業開始から構築完了までに5日ほどを要したことになります。

セットアップにおける留意事項

Misskey本体のDockerイメージを初めて立ち上げた後、管理者のアカウントを作成するまでの間、誰でも自由に管理者アカウントを作成できる脆弱な状態です。管理者アカウントの作成が完了するまでの間は、正規の管理者以外にアクセスされてはなりません。

構築後の諸作業

Misskeyの構築後は、Webフロントエンドが不具合なく正常に動作するかを確認したり、他のサーバーとの間で正常な通信が行えることを確認しました。メール配信の設定、Webプッシュ通知の設定、reCAPTCHAのサイトキー発行などもこのタイミングで行いました。

構築後に見つかった不具合としては、Webフロントエンドの動作に必要なWebSocketが正常に動作していないというものがありました。リバースプロキシであるnginxの設定ファイルが正しく書けていなかったことが原因で、すぐに解決できました。

構築後に行う作業については、以下に紹介する記事が大いに役立ちました。

hide.ac

Misskeyサーバーの構築を行った感想と今後の見通し

Misskeyサーバーの構築を通して、昨今のネットワーク技術やWeb技術、セキュリティ対策などを広く学習することができ、自身の技術力に資するものとなりました。
Misskeyや分散SNSの周辺技術についてはまだまだ知識が浅いため、運用を通じて勉強していければと考えています。

今後の予定としては、サーバー上のデータベースの自動バックアップや、オリジンサーバーとエッジサーバーとの間の通信路のさらなるセキュリティ向上を考えています。

将来的には、今回構築したMisskeyサーバーに身内や知人等を招き入れたり、一般の方々でもアカウント作成ができるようにしたいと構想中です。

加湿空気清浄機のお手入れ。

パナソニック F-VXP40、そろそろ6年目。

枠にはまっている白いアミアミの布が「加湿フィルター」。水を吸ったフィルターに風を当てて加湿する仕組みなんですが、水垢が少しでもたまると吸水されなくなるシビアな子で、お手入れが大変です。買ってから1年程度でほぼ使わなくなっていました。

今年は寒さも厳しく、暖房を使うとかなり乾燥するので、加湿機能を復活させたくなりました。

まずは枠とフィルターをタンクから取り外し。百均で買ったやっすいクエン酸を大さじ2杯ほどタンクに入れ、水を張って、フィルターと枠をクエン酸水溶液に浸けて30分放置。その後、フィルターをクエン酸水でもみ洗いし、水道水ですすいで完成です。

新品の頃の吸水具合はよく覚えていないので「新品同様に復活!」とは言い切れないのですが、水をしっかり含ませれば、タンクが空になるまでしっかり水を吸い上げてくれるまでに復活してくれました。すばらしー。

この空気清浄機、買ってからHEPAフィルターを1度も交換してなかったり、いろいろメンテをサボりすぎています。そろそろフィルターも交換してあげたいんですが、高いのよねえ...。

【電工二種】小勢力回路って何?本名は?交際相手は?調べてみました!

第二種電気工事士の試験の出題範囲には、「小勢力回路」が含まれます。この回路の定義や該当範囲が不明瞭だったため、電技解釈などを参照して調べてみました。

※おふざけタイトルですが真面目な記事です。

はじめに

第二種電気工事士はいわゆる「強電」を扱う分野の資格ですが、勉強を進めていくといきなり「小勢力回路」という不思議なワードが出てきます。この定義についてですが、「絶縁変圧器によって電圧を下げている」「最大使用電圧が60V以下である」などと一般の参考書等では説明されています。

これ以外の項目において、二種電工の参考書等で弱電回路について触れられることはほとんどないため、具体的に何が小勢力回路であり、または何が小勢力回路でないのか、不明瞭なまま学習することになりえます。

小勢力回路の一例としては、「リモコンリレー回路」「ベル・チャイム回路」といったものが挙げられることが多いですが、「小勢力回路っぽいけど違うもの」が例示されているのはあまり見たことがありません。

ここで、次のような疑問が出てきます。

  • LANケーブルのような通信用の電子回路は小勢力回路か?
  • リモコントランスの代わりにスイッチング式の安定化電源を使用したリモコンリレー回路は小勢力回路か?
  • 親機にAC100Vを直接入力し、親機と子機の間を弱電回路で結ぶようなインターフォンの類における、親機と子機の間の回路は小勢力回路か?
  • トランスを使用して電圧を下げるベル・チャイム回路で、トランスの2次側に整流回路を組み込み、直流電圧を出力するようにしているものは、小勢力回路か?

これらの疑問を調べるため、まずは「電気設備の技術基準の解釈(電技解釈)」を調べてみました。

電技解釈を読んでみる

電技解釈においては、第4節 第181条で小勢力回路の定義とその施設方法が示されています。以下がその定義です。

電磁開閉器の操作回路又は呼鈴若しくは警報ベル等に接続する電路であって、最大使用電圧が60V以下のもの(解釈第181条

「~警報ベル等」の「等」がどこに掛かっているのか、どの程度の曖昧さを有しているかは分かりませんが、この条文を読むと「リレーの操作回路」「チャイム」「警報ベル」の類のものを、接続される負荷として想定していることが分かります。

また、絶縁変圧器で電圧が下げられていることも小勢力回路の要件にあるようですが、これについても本条文に示されています。

小勢力回路に電気を供給する電路には、次に適合する変圧器を施設すること。(イ)絶縁変圧器であること。(ロ)1次側の対地電圧は、300V以下であること。(ハ)省略 (解釈第181条の二)

とにかく、小勢力回路には絶縁変圧器を施設せよと書いていますが、絶縁変圧器以外を施設したらどうなるのか?絶縁変圧器の括りから外れるのはどこから?という疑問は微妙に払拭されません。スイッチング電源なんかを施設したらダメなんでしょうか。

この疑問についてですが、「電気設備の技術基準の解釈の解説(以下「電技解釈の解説」)」が経産省から発行されていたので、そちらを調べてみることにしました。

電技解釈の解説を読んでみる

この疑問に対する一つの解として、電技解釈の解説においては小勢力回路の範疇について次のように述べられているので抜粋します。

本条では最大使用電圧が60Vを超える電路と変圧器で結合された交流回路のみを対象とし、直流回路又は最大使用電圧が60V以下の発電機等から供給される小電流の回路について触れていない。これは、この程度の回(信号灯回路、操作回路等のものに限ることに注意が必要である。)を弱電流回路と見なしたためである。(電技解釈の解説第181条)

この解説によると、信号灯回路や操作回路などを構成するために、簡単な絶縁変圧器を用いて60Vを超えないように電圧を落とした小電流の交流回路を小勢力回路とみなす、という風に読み取れます。直流回路や、絶縁変圧器以外の電源装置から供給される小電流の回路については触れておらず、いわゆる「スコープ外」であると読み取れます。

また、この解説を読み進めるうえで、小勢力回路は弱電か強電か?という問いについても明瞭に示されていたので抜粋します。

本条で規定している小勢力回路は、あくまで強電流回路として扱っており、1の解説で述べているような弱電流回路からは除かれる。しかし、小勢力回路の電線と他の強電流回路の電線との関係においては、小勢力回路は弱電流並みに扱う必要があるので、この解釈で「弱電流電線」というときは、小勢力回路の電線も含まれる。(電技解釈の解説第181条)

小勢力回路とは、次の要件を備えたもののうち、弱電流回路以外のものである。
①最大使用電圧が
60V以下
②電源用変圧器の
1次側電路の対地電圧が300V以下
③最大使用電流及び短絡電流(その回路の電源側
に施設された過電流遮断器の定格電流)が最大使用電圧に応じて、解説181.1表の値以下

(電技解釈の解説第181条)

この解説により、小勢力回路は強電流回路である、言い換えれば弱電流回路は小勢力回路として扱われるものではない、ということがはっきりします。

読み解くうえで、弱電と強電の違いについても理解を迫られることが分かりました。そういえば、理解していませんでした。弱電の定義について知っておいたほうがよさそうです。

弱電流回路とは

弱電流回路とみなすものは何か、についてですが、電技解釈の解説にやはり載っていたので、以下の通り抜粋します。

概念的にいえば、電信・電話等の用に使用される低電圧微小電流のものが弱電流電気であり、それ以外のものが強電流電気である。電信・電話等の電気回路以外では、次のようなものを弱電流電気回路と考える。
①インターホン、拡声器等の音声の伝送回路
②高周波又はパルスによる信号の伝送回路
③最大使用電圧が10V以下で使用電流が5Aを超えない電気回路
④短絡電流が1mA程度以下の電気回路
⑤電圧の最大値が60V以下の直流電気回路で第181条に規定する小勢力回路に準じたもの
⑥電力保安通信線であって、最大使用電圧が110V以下で短絡電流が100mA以下の電気回路

(電技解釈の解説第1条 電線(省令第1条第6号))

弱電と強電の区別がかなり難しいんだろうなあという気持ちになりながら読んでいました。これは電技解釈の解説であって厳密な定義が示されているものではないですが、ここに挙げられる回路は弱電流回路であることから、解釈第181条で定義される小勢力回路には含まれないことになります。

解釈がハッキリしない部分をまとめる

冒頭で「リモコントランスの代わりにスイッチング式の交流安定化電源を使用したリモコンリレー回路は小勢力回路か?」といった疑問を示しましたが、絶縁変圧器以外の電源を使用した場合、電技解釈においてはどういう扱いになるのでしょうか?

これについては次の2通りの解釈ができます。

  • 小勢力回路ではない
    当該回路は絶縁変圧器以外の電源から電気の供給を受けているから、「60V以上300V以下の電路と絶縁変圧器で結合された60V以下の回路」という小勢力回路の要件に合致しない。よって小勢力回路ではない
  • 小勢力回路である
    当該回路が小勢力回路に準じる交流回路であること、解釈第1条の解説における弱電流回路の範疇からは外れるものであること、また解釈第181条において電源用変圧器に絶縁変圧器の使用を求めている背景を考慮すると、電源装置にスイッチング電源等を用いたものであっても小勢力回路に含めるべきとも解釈できる。よって、当該回路は小勢力回路である

個人の解釈にはなりますが、当該回路の施設・利用目的が解釈第181条で定める小勢力回路に準ずるものであって、解釈第181条で定めるものと同等以上の安全性を有するものであり、なおかつ弱電流回路に当てはまらないものであれば、小勢力回路として扱われる(べき)なのかなあと感じました。

ただし法規の解釈について、法学を専攻しない者が意見を述べる事にあまり意味はありません。この点を踏まえ、電技解釈に関する議論はこの辺に留めておきたいと思います。

「はじめに」で提起した疑問の答え

冒頭で以下のような疑問を書きましたが、答え合わせをします。

  • LANケーブルのような通信用の電子回路は小勢力回路か?
    →誤。弱電流回路であることから、小勢力回路にはあたらない。
  • 親機にAC100Vを直接入力し、親機と子機の間を弱電回路で結ぶようなインターフォンの類における、親機と子機の間の回路は小勢力回路か?
    →誤。インターホン、拡声器等の音声の伝送回路は弱電流回路であるため、小勢力回路にはあたらない。
  • トランスを使用して電圧を下げるベル・チャイム回路で、トランスの2次側に整流回路を組み込み、直流電圧を出力するようにしているものは、小勢力回路か?
    →誤。電圧の最大値が60V以下の直流電気回路で第181条に規定する小勢力回路に準じたものは、弱電流回路であると考えられる。よって小勢力回路にはあたらない。

疑問がスッキリしました。いかがでしたか?

所感

第二種電気工事士の試験範囲にも含まれる小勢力回路ですが、定義について調べると結構沼にハマってしまいました。重箱の隅は不用意に突かない方がよさそうです。

リンク

初めての電気工事体験

2022年下期の第二種電気工事士受験に向け、技能試験の出題内容を一足早く体験してみました。

経緯

手元にある技能試験練習用の資機材を使って電気工事の難しさやコツを早めに体験しておきたかった+筆記試験勉強のモチベーションが切れかかっていたので実際に作品を作ってみてモチベを復活させたかった、というのがきっかけ。

技能試験の練習ですが、試験1ヶ月前から追い上げを掛けるのが一般的なスケジュールです。現在は9月末、いまから本腰を入れると時期的に間が持ちません。技能試験日はクリスマスなので、13問を一通り練習できる程度の資材を11月末までは使わずに取っておきたいです。

余談ですが、技能試験練習のための資材と工具の入手までの経緯も、紆余曲折いろいろなことが起きたので何かの形で記事にまとめたいなと思っています。

BOM(使用材料表)を作り、電線がどれだけ余るかチェック

電気工事士受験用の資材をセットで用意すると、電線が長尺で巻かれた状態になっています。この電線は、13問すべての問題を1回ずつ練習してもなお余裕のある量が入っています。私の手元にあるセットでは、例えばVVの1.6-2Cが20m、同3Cが6.5m、VV2.0-2Cが4.5mなどと、キリの良い長さとなっています。13問すべてを練習しても、これらのケーブルってじつは余るんです。

全問を1周するとどのケーブルをどれだけ使うんだろう?ということを調べるために、BOM(Bill of Materials)を簡単にExcelで作ってみました。以下に示します。

1周分合計、と書かれている行が、13問すべてを1問ずつ練習するために必要な電線長です。セット内容というのが、資材セットに最初から入っていた電線の長さです。余りと書かれている行が、文字通り余る電線の長さです(長尺物のみ表示)。単位はすべてミリメートル。

このようにしてみると、VV2.0-2Cは約1m、同1.6-2Cは約2.8m、同3Cは80cmほど余ることがわかります。他のケーブルも余分に切られていますが、誤差程度かなあという感じがします。

余ってしまうケーブルで練習できる問題ってあるのかな?ということですが、10番の問題は最も短い電線使用量で練習できそうです。早速作ってみました。

初めて作った作品

10番の問題ですが、ブレーカー、パイロット(同時点滅)、片切スイッチ、埋め込みコンセント、ランプレセプタクル、引掛シーリング角形、が登場する問題です。接続は中スリーブ、小スリーブ、差し込みコネクタ3本用、を使います。

とりあえず、こんなものができました。複線図なしで、時間は40分あまりを要しました。

初めてにしては見た目まあまあ綺麗にできていると思いますが、いくつか欠陥を取られそうなところがあったのでレビューしてみます。

作品のレビュー

ランプレセプタクルの輪作り

電圧側の輪作りが綺麗でなく、被覆の根元側がネジから外れています。きっと、アウトだと思います。のの字を作る際にきちんと直角に曲げきれなかったのが原因でしょう。ケーブルを台座に通す際に、器具の上からではなく下から通してしまったことも形が崩れやすくなった一因でしょうか。

中スリーブの圧着

見る角度によっては、被覆を噛み込んでいるように見えます。真横から見てもギリギリです。このくらいは実用上問題ないはずですが、落とされてもあまり文句言えないかなあ。

引掛シーリング角形

綺麗に見えますが、シースを剥く長さが足りず、剥き足した記憶があります。時間のロスに繋がるので改善したいです。

コンセント・スイッチ・パイロット

こちらは一発で成功しました。やったね。

渡り線ですが、黒白赤を3本ずつ使用しているので、先にVVF1.6-3Cを100mm切り落として、ナイフでシースを割って渡り線専用に確保しています。この方法は非常にスムーズでした。

結線順は、「コンセントに黒白を挿す」「スイッチに赤を挿す」「スイッチに黒を渡す」「パイロットにスイッチから赤を送る」「パイロットにコンセントから白を渡す」で行いました。

感想

とにかく指が痛くなります。電線、固いのなんの。ワゴもめちゃ差し込みが固いです。こういうことは早めに経験して場数を踏まないと慣れないなあと思いました。
1問を仕上げるだけでそれなりに疲れてしまうことから、1日に何問も練習するのは非常に大変だろうなあと感じました。

難しいと思った作業ですが、「中スリーブの差し込み・圧着」がまずひとつ。電線を挿入するところまでは良いですが、圧着ダイスで挟み込むとズレます。綺麗に根元を揃えてもすぐにズレるし最悪抜けようとするんです。芯線の見えすぎや被覆の噛み込みが起こるのはこういうことなんですね。

何はともあれ、まずは筆記試験に突破しないといけないので、モチベを立て直してがんばりたいと思います。理論や配線図は慣れてきましたが、接地抵抗など暗記が実はまだまだなので、本番では全問正解を目指したいですね。

余談

ExcelのCOUNTA()関数を使用して、各種器具の出題頻度を調べてみました(アウトレットボックス・電線管は除く)。

「電線の輪作りは全問題で必要」「小スリーブとワゴは必ず出てくる」「中スリーブは3問でしか出題されない」「13問中1問でしか出題されない器具が7種類ある」など、色々なデータ解釈ができ面白いと思います。

リンク

IPv6ユニークローカルアドレスをルーターから配ってみる実験

大学の研究室にCisco 841M J Integrated Service Routerがあり、先輩曰く自由に使ってよいそうなので勉強用に活用させてもらっています。

Cisco C841M-8X-JAIS/K9 ルータ

Ciscoルーターに代表されるエンタープライズ向けのルーターは、家庭用のブロードバンドルーターと違い、コマンドライン操作で非常に自由度の高い設定ができます(とても簡単とは言えないですが)。好きなプレフィックスをRAで配ったりすることも、ブロードバンドルーターではできませんがCiscoルーターならできちゃいます。

今回の記事では、がんばってCiscoルーターを設定してIPv6で閉域ネットワークを組んでみる実験をして、IPv6ネットワークについて理解を深めてみたいと思います。

IPv6についてざっくり

次世代のインターネットプロトコルとして作られたプロトコルIPv6です。当初は普及が絶望視されていましたが、2010年代以降、個人向けのインターネット回線ではみるみるうちに普及が進んでいます。私にはとうてい全貌を説明しきれないので全体の概要はばっさり省くとして、この記事と関係のある事項について触れてみます。

IPv4との相違点の一つが、ルーターからクライアントへのアドレスの配布方法です。IPv4ではDHCP経由でクライアントにアドレスを割り当てるのが標準的ですが、IPv6ではICMPv6のRA(ルーター広告)を使ってクライアントに64ビット長のサブネットプレフィックスを通知し、残り64ビットのインターフェースIDをクライアント側で作る、SLAACという方式が標準的に使われています。

また、IPv4でのプライベートアドレスに相当するアドレスブロックとして、ユニークローカルアドレス(ULA)が用意されています。リンクローカルアドレスと違い、ルーターを超えることができ、イントラネット内で自由にルーティングできます。IPv4プライベートアドレスと同じく、インターネットに出ていくことはできません。ULAとしてはfd00::/8のアドレスブロックが自由に使えるようです。
ちなみに、IPv6ではグローバルユニキャストアドレス(GUA)を用いてNATを経由せずにインターネットと通信をするのが標準的なネットワーク構成です。インターネットとの通信においてはULAを使うのは必須ではなく、企業や学校などのイントラネットIPv6で構築する場合などに活用が検討されそうな気がします。

やりたいこと

主に次の3つのことをやりたいと思っています。私自身まだまだルーターの勉強中で一気にやるのは難しいので、ステップバイステップで少しずつやりたいと思います。

  1. ルーターからRAを通知してULAを配る
  2. ULAでネットワークを組んでスタティックルートを構成する
  3. RIPngやOSPFで経路交換

今回は1の内容をやってみます。

ルーターに設定したい情報

  • RAで配布するアドレスブロック: fd00:1:2:3::/64
  • RAのパラメータ: TTL 3600秒 / インターバル30秒
  • ルーターのULA: fd00:1:2:3::b00c:cafe/64
  • ルーターのLLA: fe80::b00c:cafe
  • 使用するルーターポート: gig0/9
    (他のポートはshutdownさせています)

上記にもとづいてルーターを設定してみます。

ルーターポートにIPv6アドレスを設定

インターフェースコンフィグレーションで設定したいポートを選択し、以下のコマンドを実行します。ここまでは簡単。

ipv6 address fd00:1:2:3::b00c:cafe/64 // ルーターポートにIPアドレス(ULA)を設定

ipv6 enable // IPv6を有効化 特に打たなくてもアドレス当てたら勝手に有効になるらしいです

ipv6 address fe80::b00c:cafe link-local // LLAを(明示的に)設定

LLAはMACアドレスを元に自動生成されるのが一般的ですが、このコマンドで人間に分かりやすいアドレスを振っておけば、ipconfigやWiresharkなどで様子を見るときに一目でルーターのLLAだと分かるので、とても便利です。

IPv6 Neighbor Discovery の設定

インターフェースコンフィギュレーションモードのままで、ICMPv6のND(Neighbor Discovery, 近隣探索)の設定をします。RAの配布にも関係する設定ですが、正直よくわかっていないのでかなり適当に設定しています。

ipv6 nd na glean // なんだろう 何?

ipv6 nd autoconfig prefix

ipv6 nd prefix fd00:1:2:3::/64 // NDで通知するサブネットプレフィックス

ipv6 nd router-preference High

ipv6 nd advertisement-interval

ipv6 nd ra lifetime 3600 // RAのTTL(秒)

ipv6 nd ra interval 30 // RAのインターバル(秒)

上記はshow runコマンドからの丸写しです。これで動いてるのでいいのかな...?
設定の詳細や、「このコマンド要らないよ!」というのがあったら教えてください。

IPv6ルーターとして動作させる

正直、上記の設定をしてもまだルーターはRAを配ってくれません。ルーター自身がIPv6ルーターとして動作してくれていないので、当然ルーター広告を出せません。(そうとは知らずに小一時間NDの設定を見直したりしてました)

グローバルコンフィギュレーションモードに入って、以下のコマンドを打ちます。

ipv6 unicast-routing

これで、IPv6のルーティングを行ってくれるようになり、ルーターからRAが届くようになります。

設定の確認をする

PCのLANポートと、上記の設定を行ったルーターポートをつなぎ、PCにULAが割り当てられるか、経路表が正しく自動設定されるかを確認します。

画像には載せませんが、きちんと自分のPCにULAが降ってきたことを確認しています。うれしい!

ICMPv6 pingで、ルーターのULAやLLAを指定して正しくエコーが返ってくるかも見てみます。

ルーターからICMPv6 エコー応答が返ってくる様子

うまく動いています。感慨深いです。
この、::b00c:cafe(book cafe)というインターフェースID、わかりやすくてお気に入りです。

まとめ

  • ルーターポートにIPv6アドレスを割り当てたよ
  • ルーターからRAを配ったよ
  • PCにULAが割り当てられ、無事に疎通した!

今度はスタティックルートを組めたらいいな。近いうちにまた記事にします