はじめに
最近、家のネットワーク回線が安定しなくなった。我が家ではプロバイダを契約しておらず、マンションの居住者が無料で利用できるセイワBBを利用しているのだが、入居したての時は問題なく利用できたにもかかわらず、ここ最近になって何故か安定しなくなった。
無料な物に対して大きい声で文句は言えないが、今までは安定していたものなのでなんとかできないかと思い、原因を調査し改善を試みた。
現状
ネットワークの状態としては、良い時はYoutubeを複数端末で視聴しても問題なく動作するが、悪い時は全く接続できず、阿部寛のHPすら閲覧できないレベルである。回線速度は、早い時は100Mbpsは出るが、遅い時は0.01Mbpsも出ない、という非常に波のある状態だった。
ルータは、3年前に購入したTP-Link AC2600を利用している。
結論
結論だけ先に書くと、ルータの設定をルータモードからブリッジモードに変更することで解決した。マンションの無料WiFiが安定しない人は、ルータの設定がルータモードになっていないか、ルータモードになっていたら、ブリッジモードに変更することを試みて欲しい。
ルータをブリッジモードにすることで、いくつかの機能は利用できなくなる。
上記の3つは一般的な利用用途には全く影響がないが、我が家ではサーバを5台運用しており、それらのサーバをローカルDNSで名前解決していたり、QoSで優先度をコントロールしていたので、この機能が使えなくなったのは運用上めんどくさい。
名前解決できない問題に関しては、サーバ側の設定によるIPの固定化はできたので、IPを固定し、全ての端末の/etc/hosts
にIPとホスト名のマッピングを記載することで無理やり解決した。
原因
ルータモードが安定しない原因は、マンションのルータと我が家のルータが2台のルータが共存しており、2重ルータ構成となっていたためであった。2重ルータの場合、通信経路が一つ増えたり、NATが2重で行われたりするため、ネットワークが不安定になりやすいとのこと。我が家のネットワークはセイワBBを利用させてもらっているのだが、HPをよく見たら 必ずルーター機能をOFF※に設定のうえ、ご利用ください。との記載が…。すみません、セイワBBさん。。
そういえば、以下の記事でFreeIPAでDNSを構築した時に、ルータのDCHPの機能を使ってDNSの設定を各端末に自動で割り振るために、ルータの設定をブリッジモード からルータモードに変更したことを思い出した。おそらくそれが発端となり、ネットワークが不安定になっていた模様。
2重ルータになっているかどうかは、以下のコマンドで確認できる。家のルータのIPは192.168.8.1
で、マンションのルータのIPが192.168.2.254
のようである。このようにtraceroute
コマンドで出力される経路に192.168.*.*
を持つIPが2つ出力されている場合、2重ルータ構成となっている可能性が高い。
$ traceroute 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets 1 192.168.8.1 (192.168.8.1) 4.182 ms 1.202 ms 1.176 ms 2 192.168.2.254 (192.168.2.254) 4.182 ms 1.202 ms 1.176 ms ~~~省略~~~
2重ルータのまま利用する方法
2重ルータ構成は絶対ダメというわけではなく、2重ルータ状態でも安定した通信を実現する方法がある。しかし、親のルータ(上記の例だと192.168.2.254
)を操作する権限が必要で、マンションの場合、一般の居住者に親のルータの操作権限が与えられていることはほぼない。なのでマンションタイプの場合は、下記の2重ルータの設定は、ほぼ利用できないと思って良いだろう。
その他2重ルータのまま利用するために実施した対応策
家でどうしてもDNSを利用したく、ルータモードのままでも安定させようと以下の対策を実施したが、効果は全くなかった。
- QoSによる優先度設定
- IPv6の停止
- 我が家のルータの接続方式を
静的IP
に変更し、動的IP
の時に割り振られた情報を入力する - 我が家のルータのセグメントを親ルータ(
192.168.2.255
)と同じにする
おわりに
ブリッジモードにしてから、ネットワークが非常に安定するようになった。無料WiFiよくない!と言われるが、我が物件に関してはそんなことはなさそう。回線を個別に契約することも考えていたため、無駄なお金を節約できて非常に満足。DNSは使えなくなったが、月3~5000円近くかけてまでDNSを実現するのはアホらしいので、これでOKとした。
公式ドキュメントはしっかり読みましょう(自戒)