IPv6 を無効に

14:30 くらいに SoftBank 光から電話がかかってきた。インターネット環境の動作状況はどうか確認するための電話だった。

前にも日記に書いたが、主に iPhone や個人の MacBook Pro で Wi-Fi が頻繁に不安定になるので、それについて話したら、テクニカルサポートセンターに電話してくれと言われた。しかし、原因は SoftBank 光ではないような気がしている。なぜなら、会社の MacBook Pro や FireTV では特に問題が起こっていないからだ。

ここから察するに、おそらく Raspberry Pi を使ってネットワーク制御に何らかの問題があるだろう。実際、最近 SSH も全然うまく行かないし。

SoftBank 光からこのタイミングで電話がかかってきたのは意外に良かったかもしれない。別に何が解決したわけではないが、ネットワークを見直すきっかけになったから。というのも、電話がかかってくる本当に直前に、個人の MacBook Pro を使っていて、ネットワークがかなり不安定だった。全然つながらなくて頻繁にエラーが発生したのでもうこれは見直さないといけないだろうなと思った。iPhone でも GitHub にプッシュする際に良くネットワークエラーで失敗することが多いし。

まず、個人の MacBook Pro で DNS を手動で 1.1.1.1 に設定した。もうこれだけでネットワークの問題が解消してふつうにつながるようになった。このことから、問題は十中八九 Raspberry Pi だろう。会社の MacBook Pro で問題が発生しないのも、DNS を手動で設定しているからだ。なぜ手動で設定していたかというと、引越し前からも、Raspberry Pi が突然 IP アドレスを失う謎現象が発生していて、それが仕事中や YouTube の配信中に起こるとマズイからだ。

実際、今までも DNS を手動で設定していたからこそ、仕事や YouTube 配信では特に問題が起こらなかったはずだ。もし Raspberry Pi に任せていたら頻繁にネットワークエラーが起きてまともに仕事などできなかっただろう。

はっきりとは原因は不明だが、問題の所在はほぼ間違いなく Raspberry Pi にあると言って良いだろう。で、何が原因なのかだが、おそらく IPv6 がうまくいっていないのではないかと思う。残念ながら SoftBank 光では IPv6 を有効にする際、DNSv6 や RA を無効にすることができない。では Raspberry Pi 側ではどうやっているかといえば、こちらもこちらで DNSv6 や RA のサーバを起動している。つまり、SoftBank 光の BB ユニット側と Raspberry Pi で完全に競合していることになる。

これが何か良くない状況を引き起こしているのではないかと推測している。特に、Raspberry Pi を IPv6 のルータや DNSv6 サーバとして機能させるために、Raspberry Pi に最初に割り振られたグローバルな IPv6 アドレスを固定化しているのだ。IPv4 でプライベートアドレスを固定化するのはよくやることだが、IPv6 ではどうやるのか良いのかわからなかったので、グローバルアドレスを固定化してしまっている。これも何か問題を引き起こしているような気がする。

というわけで、IPv6 でのネットワーク制御はやっぱりどうやれば良いのかよくわからないのでいったん無効にすることにした。SoftBank 光でも DNSv6 や RA を無効化できればまだ問題はここまで複雑じゃなかったかもしれないが、それができない以上、どうがんばっても Raspberry Pi と喧嘩せずに IPv6 でのネットワーク制御を行うことはできないような気がする。

引越し前の特にネットワークの問題が起きていなかったときでも、やはり各デバイスに割り振られる DNSv6 アドレスが BB ユニット側になったり Raspberry Pi 側になったりと迷っていた。これはどちらもその設定が有効になっているから当然の挙動なのだが、そもそもこんなことになっている時点で IPv6 でのネットワーク制御はまともにできているとは言い難い。BB ユニット側の DNSv6 アドレスが使われてしまっている状態ではネットワーク制御は全く効かないし、ましてや引越し後のこのネットワーク不安定問題がこれのせいだったらなおさらこの環境を維持するのは難しい。

まあ、絶対に Raspberry Pi の IPv6 のネットワーク制御環境が問題かと言われるとまだそれはわからないのだが、たぶんこれが原因な気はする。とりあえず BB ユニットの設定で IPv6 を無効にしておいたので、これで様子を見ることにする。

ちなみに IPv6 を無効にすると通信速度が劇的に下がるものだと思っていた (実際、SoftBank 光を一番最初に契約した直後の、IPv6 オプションを入れるまでの間はめちゃくちゃ遅かった) が、実際に無効にしてみても特に大きく速度が低下することはない。これは IPv6 のオプションに入っているだけで良いということなのか、よくわからないけど。

荷物が届いた

昨日の夜中に注文していた以下の 3 つの商品が 18 時半くらいに届いた。

皿を洗うのはめんどくさい & シンクが汚れるので皿も使い捨てにしようと思ってプラスチックのどんぶりを買った。ちゃんとポリプロピレンなのでレンジでも大丈夫なやつ。

USB-C ケーブルは個人の Mac 用。昨日 PC スタンドを組み立てたので、クラムシェルモードのまま使えるように。

ところで PC スタンドなんだけど、ちょっと中央側にプレートを寄せすぎて椅子に座っているときに当たって邪魔くさい。Windows PC を入れるときに、机の支柱が当たってしまわないように考慮したんだけど、もうちょっと端側でも良かったかな。

木目調シールは、天板を貫通した穴を塞ぐ用。まあ目立たなくなったのでヨシ。

ちなみにシールは数種類の色があって、同じ色のシールだけでも 54 枚ある。今回使ったのは 2 枚だけなので大量に余ってしまうな 😅

競プロ

昨日も今日も競プロをやっていた。昨日は書きそびれたが、レギュラーコンテストなので前回同様にあまり解けないだろうなと思い、ごはん食べながらダラダラやってた。結果、1 問も解けずに終わってしまった。

今日はビギナーなので昨日よりは簡単だった。2 問解けて、2 問は TLE が解決できず時間が来てしまった。TLE のやつは Ruby の便利メソッドを使っていたせいで計算量が多くなってしまったパターンと、もう一つは単純に速い解き方がわからなかったやつだった。まあどっちも TLE にならずにするにはどうしたら良いかは答えを見るまでわからなかったので、スコア通り 2 問しか解けなかったと言って良いだろう。

でも、少しずつやり方がわかってきたような気がしなくもない。

競プロを Ruby で書いているといろいろと思うことがあったので、競プロ終わったあと記事を書いた。

https://zenn.dev/noraworld/articles/competitive-programming-ruby

とりあえず残したいことは iPhone で

ちゃんと日記を書こうとすると、文章がつい長くなるから PC で書こうとする。でもそのせいでめんどくさくなって結局まったく書かないということになる。それが一番もったいない。だから、ちょっとでもめんどくさいという感情が湧き起こったら、とりあえず iPhone で書き始めることにしよう。iPhone なら文字打つのめんどくさいからそれほど文章が長くなることもなくて結果的にめんどくさくなくなり、続けられそうかなと思うので。

PC で書こうとするとついつい長くなる。長いほどちゃんと書けているから記録としては優秀なんだけど、それをデフォルトにしてしまうとめんどくさいという感情に変わってしまうことがある。それを防ぐために、ちょっとでもめんどくさいと思ったらとにかく iPhone でチャチャっと書いてしまおう。

都市ガスの見積もり依頼

郵便受けを見たら東京ガスから都市ガス対応の案内が届いていた。

引っ越しのときに忙しかったんで日記に書いたか忘れた(調べれば良いんだけどめんどくさいので調べない)が、今住んでいるところは都市ガスが使えないので、レモンガスでプロパンガスを契約している。

で、今回、東京ガスから届いたのは都市ガス対応のための工事に関する案内だった。

都市ガスのほうが安いってのはプロパンガスを契約する際に調べた。そして、プロパンガスのメリットは障害時の復旧が早いってことくらいしかなさそうなので、都市ガスにできるならしたほうが良いかなと思い、ほぼ即決で無料見積もりをお願いすることに決めた。

書類一式の中に無料見積もりに来てもらうかどうかの申請書みたいなのと返信用封筒が入っていたので、必要事項を記入して、コンビニに行くついでに近くの郵便ポストに投函した。