突然LANがつながらなくなりました





[-] 1. 現象

今日、突然社内LAN間の通信ができなくなりました。

マシン B ← A がだめで、A と外部は ok という症状:

B ←─x── A ──o─→ (internet)

マシン B は再起動直後は外部との通信は ok なのですが、数分経つとそれもだめに。。

[-] 2. 原因

マシン B の docker の network 192.168.1.0 が LAN private net 192.168.1.0 と衝突していたのが原因でした。

[-] 3. 対応

docker の network 192.168.1.0 を新たに作り直すことで対応しました:

$ docker network rm [my_net]
$ docker network create -d bridge [my_net]
$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         Broadcom        0.0.0.0         UG    100    0        0 enp46s0u2u3u2
...
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 br-c2e00b63b4bb   # [my_net]

※ [my_net] は docker 用ネットワーク名

[-] 4. 補足

そもそも、なぜ docker の network が 192.168.1.0 というありがちな 範囲を取っていたのかというと、

docker は default で 172.x.0.0/16 辺りをとりますが、これが某クラウドの VPN と衝突するので /etc/docker/daemon.json を調整して

"default-address-pools":  [
  {
    "base": "192.168.0.0/16",
    "size": 24
  }
],

としていた、…という経緯によるのでした。

これまでは社内LANルータは buffalo 製で、これが 192.168.11.0/24 で、この状態で

$ docker network create -d bridge [my_net]

としていたので、 [my_net] は 192.168.1.0/24 が割り当てられていても 衝突もなく、この状態で何年も稼働していました。

が、最近、とある理由で Flet's から Nuro に切り替えたのですが、この Nuro の ONU (兼ルータ)は 192.168.1.0/24 のようで、 社内 LAN も自動的に 192.168.1.0/24 に。

はい、危ないです。

マシン B の IP が 192.168.1.x でかつその中の docker [my_net] も 192.168.1.x で稼働していた、と。

そこに気づかずに稼働していたら、何らかのタイミングでマシン B にアクセス できなくなっていた、という次第です。

route(1) したときに

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         Broadcom        0.0.0.0         UG    100    0        0 enp46s0u2u3u2
...
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-5b38a4161676   # [my_net]

となっていて、やっと気づいた次第。2時間ほど時間を潰してしまいました。。






Generated by juli 2.3.2