質問: 先日,無線ルータを新しいもの(BUFFALO WiFi 無線LAN ルーター WSR-2533DHPL 11ac ac2600)に交換しました. すると以前までできていたESP8266にプログラムした文字をブラウザに表示することができなくなりました.不審に思いルータを以前のものに戻すと,しっかりとプログラムされた文字をブラウザに表示することができました.また,新しいルータで接続を試みた際,Arduino IDEのシリアルモニタを確認したところ,esp8266とWiFi接続できていることも確認できました. しかし,シリアルモニタに表示されたipアドレスをブラウザに打ち込んでも,プログラムした文字が表示されることはありませんでした. この事象の原因としてどんなことが考えられるでしょうか?詳しい方,ご教授願えると幸いです。
回答: オイラんちの Raspberry PI はルータ側の設定で DHCP による配布 IP アドレスを固定した上で NAPT を使うようにしてあります。旧ルータではオイラと同じようなネットワーク系設定を行っていた、ということはありませんか? ネットワーク内の他のツールやファイアウォールにてその設定(固定IPアドレス等)を期待していると、新ルータにも同等の設定を行わないとうまくいかないことがあります。 逆も同様で Raspberry PI に固定 IP アドレスを振っているとき DHCP サーバの払い出しするアドレスのネットマスク等が異なると通信しなくなってしまいます。 DHCP 払い出し範囲 192.168.1.X/24 --- RaspberryPI の固定 IP 192.168.0.1/24 とか。 なんだか誤ったアドレス振りそうな気がするので解説追加 たいていの無線ルータは DHCP サーバー機能を有効 DHCP クライアント機能を無効にして使います。なので無線ルータの IP アドレスは固定になります。ネットマスクは機種によって異なるかもしれませんが 24 なものが多いでしょう。 ``` ルータ 機器1 機器2 DHCP server DHCP client DHCP client | 固定アドレス | DHCP でもらった | DHCP でもらった | 192.168.1.1/24 | 192.168.1.100/24 | 192.168.1.101/24 +---------------------+----------------------+ ``` ここに機器3(DHCP client 無効にして固定 IP アドレスを手で振る)を追加したいとき * IP アドレスは `192.168.1.*` とする必要があります (ネットワーク部は同じ値にする) * (固定 IP アドレスを持つ)既存機器にかぶるとダメです * DHCP の自動払い出し範囲外とします ルータの DHCP 払い出し範囲が `192.168.1.100` から `192.168.1.199` であるなら、機器3の IP アドレス/ネットマスクは `192.168.1.2/24` や `192.168.1.200/24` である必要があります。 同じプライベートアドレスであっても `192.168.2.1` の機器はネットワーク部が異なるので、この LAN の外にあると解釈されます。 `192.168.1.*` な LAN に `192.168.2.*` な機器をつないでも接続できません(多分いまはこうなっている) 機器3の DHCP client を有効にしたまま固定 IP アドレスを使うこともできますが、その場合はルータの設定で MAC アドレスと IP アドレスを対応させる必要があります。オイラとしてはこっちのほうをお勧めします。一元管理できるので。