謎ネットワークの構成ミス
amazonでcat6のLANケーブルを購入しましたが、やはり安いですね~。
家電量販店で購入しようとすると一本1000円ちかいですが、5本セットで1500円くらい。。。
品質の違いもあるかもしれませんが、自宅用なのでとにかく安さ優先!
検証したいことがあり、早速購入したケーブルを使用して、謎のネットワーク構成にしてみます。
こんな感じで、192.168.12.0/24 セグメントを端末を繋げて、172.23.32.0/24セグメントにサーバを接続。
で、192.168.12.0/24から172.23.32.0/24アクセスできるように、経路設定を”Route A”に入れました。
こいう感じでアクセスできます。
さて、端末からサーバへssh。。。っと思ったら
[Connection timed out]。。。
ん~~~~~~~~?で、たまにうまくいく。。。なんで?
いや、pingとtracerouteではうまくいく。
Test-NetConnectionでも22ポートへのアクセスは確認できる。。。
物理構成的な問題なのか?
で、物理構成ですがこんな感じです。
スイッチングハブにRouteAのLAN側を、RouterB,CにはWAN側を接続して、
RouteAのDHCPで、各ルータのWANにIPを配布するようにしています。
謎構成だから、何かしら問題があるとは思いますが、原因なんでしょう。
ARPテーブルの書き換えが頻繁に発生しているとか、どこかループが発生しているのか、
でもPINGやTraceRouteは問題なくできるし。。。
セキュリティの問題か?と思い、ファイアウォールを切ってみると、
しばらくして接続ができるようになりました。
また、Linux端末を試しに192.168.12.0/24に接続しても、sshをしても接続できる。
あぁ、ファイアウォールの問題か、と思いましたがなんか違和感がある。。。
普通ならファイアウォールの設定切ったらすぐ接続できるのに、少し時間がかかるのもよくわからない。
キャッシュか?そんなことあるのか?
一日中試行錯誤していましたが、とりあえず構成を変えて、
RouteAにRouteCを直接さしたら。。。
接続できる!!!?
そうか非対称になっているのか!!
172.23.32.0/24へアクセスするときに、一旦RouterAを介して、RouterBへの経路となる。
[端末→RouterC→スイッチングハブ→RouterA→スイッチングハブ→RouterB→サーバ]
で、帰りはスイッチングハブがMACアドレスを学習済みなので、RouterBからRouterAを介さず、
RouterCへ直接の経路となる。
[サーバ→RouterC→スイッチングハブ→RouterB→端末]
非対称ルーティングで、セキュリティの問題で往復経路が違うと拒否られることがある。
Linuxだとセキュリティの厳しさが違うのか、非対称でも問題なかったです。
また、ファイアウォールを切るとうまくいくのも、製品の特長なのかもしれないです。
PINGとTraceRouteでも問題ないようです。
とりあえず、構成をこんな感じに変更。
こうすれば、往復で同じ経路になってアクセスできるようになりました。
そもそも、ルータそんなに多用する必要がないので、謎構成にはなっているので、問題発生する前提ではあるのですが、
実際の自宅ネットワーク構成を変える予定なので、別の記事で記載したいと思います。