ネット : してログ

ちょっとした自動処理にクローラみたいなプログラムを動かしているんだけど、先月末ぐらいからうまく動かなくなっていたらしく表題のエラーログが出ていた。今まで問題なく動いてたので、相手サービスの仕様変更かとずっと調べていましたが、原因は単純ミスだったようです。

エラーメッセージの文字通り、ヘッダ情報の出力が間違っていただけでした。今までは間違ったままのヘッダでも処理してくれていたようですが、ウェブサーバーのアップデートか何かでエラーを吐くようになったっぽい。そのままでも行けるサイトもあり、Apache か nginx かアップデートされたか、されてないかの違いでは無いだろうか。

YAMAHA サイトの「IPIPトンネリング【設定例10:IPv4 over IPv6 IPIPトンネル接続 インターネットマルチフィード株式会社 transix IPv4接続(固定IP)】」の設定例【ひかり電話を契約している場合:DHCPv6-PD】でひかり電話が使えなかったので原因を調べてみた。

経緯と現象

設定例をプロバイダの情報で置き換えて、すぐにインターネットは正常アクセスを確認できた。いっぽう、ひかり電話の方は「ツー」音だけ確認し、同時に購入した電話機の到着待ちの後回し。

新しい電話機を接続し電話を掛けると、どこに掛けても通話中の「ツー・ツー」音となる。外線から掛けてみると「現在、おかけになった相手の通信機器の電源が入っていない、もしくは故障、 またはネットワークの故障が発生していると思われます」のアナウンスが流れる。

ひかり電話の設定

設定例にひかり電話の設定も入っているものと思っていましたが、WebGUI で確認するとからっぽになっていた。かんたん設定からひかり電話の設定を追加する(インターフェイスは「WAN」、プレフィクスは「なし」)。これで状態表示の欄に、代表電話番号が入り接続中になり、ひかり電話も使えるようになった。

ただ、それと引き換えにインターネットがおかしくなる。繋がるサイトと繋がらないサイトが出てるので、IPv4 か IPv6 のどちらかが切れている感じに見えた。具体的には Google 検索はできるが、結果サイトに飛ぶとずっとぐるぐる状態になる。

設定コマンドの確認

WebGUI だとらちが明かないので、ひかり電話の設定を入れる前と後とで何が変更されたか確認してみた。これが実に大変な作業で、IPv6 も YAMAHA 製品でのひかり電話の設定も初めてだったので、コマンドひとつひとつ意味を確認していった。確認しても書いてある内容がイマイチ理解できないので、ダブって設定されているようなところを見つけてオフにする、という試行錯誤に出た。

ひかり電話で追加された不要な設定

試行錯誤の結果、不要部分が分かり、これをオフにすることで問題解決した。最短手順としては、(1)工場出荷状態から設定例のコマンドを流す、(2)WebGUI にてひかり電話の設定を追加する、(3)下記のコマンドで不要な設定をオフにする、となる。

no ipv6 lan1 address dhcp-prefix@lan2::1/64
no ipv6 lan2 address dhcp

また、ナンバーディスプレイを契約している場合は、下記の設定を入れておくと良い。これで TEL1 に接続した器機に発信者番号通知が流れるようになる。

analog arrive number display 1 on

多少の問題点も

上記設定を修正したところ、WebGUI のひかり電話の状態が表示されなくなってしまった。ひかり電話は発信も受信もできるので使う分には問題ないのだが、WebGUI ですべてできる訳ではないのだな。

IPv4 の固定IPを使っている関係でずっと IPv6 を避けてきたのだが、セッションを消費せずに固定IPが貰えるサービスがあるのを知った。「transix IPv4接続(固定IP)」というもので、インターリンクの「ZOOT NATIVE IPv4固定IP1個」というプランが採用しているようで、さっそく試してみることに。ちなみに、それほど詳しくは無いので知識不足で適当なことを書くかも知れないのでご注意を。

フレッツ光は「フレッツ・v6オプション」の契約が必要

電話で確認すると「フレッツ光サービス情報サイト」で契約すれば無料だが、電話で受け付けてもらうと手数料が掛かるとのこと。ただし家の場合、ルータの構成が特殊なためそのままでは情報サイトに接続できず、NTTレンタルルーターのみの構成に戻してから手続きする必要があった。

対応ルーターを調達

対応ルーターが必要になるため、対応ルーターの情報から選んで用意する。今まで使用していたのが YAMAHA RTX1200 なため、NVR510 を選定。ちなみにこのルーター、光電話に対応するためレンタルルーターが不要になる。また、ONU も内臓可能となっていてこれ1台に集約できるが、内臓用の小型 ONU への交換はかなりテクニックが要るらしい。

プロバイダと契約

インターリンクは2ヶ月無料があるのでそれを活用。なお「ZOOT NATIVE」と「ZOOT NATIVE IPv4固定IP1個」は別サービスなので注意。あと、他のプロバイダは調べていないが、対応しているプロバイダは少ない様子だ。

※他の方式では固定IPv4用に別セッションが必要になったりする

ルーターの設定とIPv6の基礎知識

YAMAHA のサイトで「IPIPトンネリング【設定例10:IPv4 over IPv6 IPIPトンネル接続 インターネットマルチフィード株式会社 transix IPv4接続(固定IP)】」を参考に設定を作成する。ヤマハルーターの設定例をプロバイダの契約情報で置き換えて作成すればよいが、いくつか基礎知識不足で躓いた。

アドレスの表記

128ビットを16ビットごとに「:」で区切り16進で表記したものだが、省略表記とかでアドレスっぽくなく見えたりするので戸惑った。各ビットグループは前ゼロは省略でき、ゼロのビットグループが連続する場合「::」で省略できる。ビットグループの省略は何個連続していも「::」になり、アドレス内で1箇所のみ省略可能な点に要注意だ。

プロバイダの情報の中で「インターフェイスID」が「::feed (0000:0000:0000:feed)」となっていて「は?」ってなった。これを下記の設定箇所にどうやって置き換えるのか。

 ipv6 lan1 address dhcp-prefix@lan2::(インターフェイスID)/64

少し考えて、設定値は省略表記と括弧書きのが正式表記だろう(前知識が無いと分からん要素)。ただ「~lan2::(インターフェイスID)/64」の「::」が設定の区切りの意味なのか、アドレスの省略なのかよく分からなかった。最初「~lan2::::feed/64」と入れてみたがダメ、次に「~lan2::0000:0000:0000:feed/64」と入れてみたら通ったようだ。設定を再表示してみると「~lan2::feed/64」だったので、結局「::」は予め入れてあった省略記号だった模様。

あと、いかにも意味ありげな「feed」は、単語ではなく「0xFEED」という数値でしかない。IPv6 のアドレスが分かり難い原因はここら辺と、コロン記号を採用したことにあるんじゃないのかなあ。

IPv6アドレスの通知設定

この設定は見たところ必須ではないっぽい。要約すると「新しいアドレスが付与されたらアップデートサーバに通知すると通信再開が早まる」になる。Lua スクリプトで実行タイミングは起動時となっているので、停電時などでしか要らなさそう。設定しない場合どの程度待たされるのか、他に問題は無いのか、気になるところではあるが後回しでも良さそう。

具体的には lua スクリプトの設定例があるので、設定値のセクションをプロバイダからの情報で埋めて作成すれば良い。文字コードを迷ったが、設定例を「リンク先に名前を付けて保存」して編集することにした(SJIS)。後は USB メモリ経由でルーターにコピーし、設定例に従ってスケジュールを設定する。

copy usb1:/interlink_update.lua /interlink_update.lua
show file list /
結果はいかに?

今まで20~30Mbps(夜間など 10Mbps を切ることもあった)が、初計測から 70~90Mbps と劇的に改善。ブラウザの表示も、モタツキがほとんど無くなり非常に快適だ。

重い腰を上げるまでは色々と面倒そうだったが、やってみると意外と簡単だった。ルーターの交換がお金的に痛いが、エレコム製なら1万くらいもある。自宅サーバーあるから回線弄りたくないと思っているアナタ、IPv4 を使い続ける理由はもはや無いだろう。

USEN GATE 2
USEN GATE 2
Speedtest by Ookla
Speedtest by Ookla
FAST
FAST
Speed Test
Speed Test

GMail を imap4 で外部アプリから受信しようとしたところ表題のエラーが発生して認証に失敗してしまいます。以前に設定したときは特に問題無かったと記憶していますし、設定を見直しても間違いはありません。答えは画像のとおり「安全性の低いアプリのアクセス」がオフになっているためでした。

OAuth2.0 に対応していないことが原因

使用しているアプリが OAuth2.0 に対応していないと「安全性の低いアプリ」となるみたいです。セキュリティ上の懸念もあるので、可能であれば対応したアプリにアップデートしたいところです。

現在のアプリを使用し続けたい場合

何らかの理由で現在のアプリを使用し続けたい場合は「アプリ パスワードでログイン」を設定します。そのために「2段階認証プロセス」もオンにする必要があります。Google カウントのセキュリティ設定を確認してみえtください。

imap4 より pop3 のほうが良さそう

GMail だとすべてのメールが入っているフォルダと同期を取ろうとするので、めちゃくちゃ遅いです。私のアカウントでは7万通ほど溜まっているので、リスト表示自体が重く同期時のリスト取得も負荷が高いような感じです。GMail だとフォルダに整理するより、検索条件やラベルで分類するため imap4 だとこのような問題がありました。

pop3 だと新規メールのみ受信でき、必要なものだけローカルフォルダか、メインで使っている imap のディレクトリにアップする運用になります。GMail の場合こちらの方が使い勝手が良いと思いました。