最近の変更サイトマップ



逸般の誤家庭で40GbEはじめますた その1(構想編)

自宅ネットワークを40GBASE-SR4で40GbE化しますた。その顛末を全3回くらいでお届け。

かねてより宅内ネットワークを10GbE化したいと考えていたものの、以下の理由により二の足を踏んでいた。

  1. メインマシンがMacBook Proで10GbE対応NICの選択肢が極めて限られる
  2. 10GbE対応スイッチが高い
  3. 消費電力の問題
  4. Aquantiaな10GbEのFreeBSD用ドライバがない

MacBook Proで10GbEを使おうとすると、Thunderboltに頼らざるを得ない。となると対応製品はAKiTiO Thunder2 10G Network Adapter Sonnet Twin 10G Ethernet Thunderbolt 2 Adapterくらいしかなく、値段が高い上に潰しもきかない。Thunderbolt→PCI Expressエンクロージャと汎用NICを使う手もあるが、同じく高価だしイマイチ筋が悪い。

10GbE対応スイッチも安くなってきたとはいえ、10GBASE-T×2ポートの単機能スイッチングハブで2万円後半〜は個人的にはまだ高い。せめて5ポートで1.5万円くらいじゃないと話にならん。それに加えて、逸般の誤家庭 一般のご家庭で使おうとすると消費電力の高さと、それに伴う発熱の多さからのファン冷却による騒音も悩ましい。

そんなこんなで4〜5年ほど悶々としていた。

ひと月ほど前、某掲示板で10GBASE-SRが割とお手軽に導入できることを知る。光ファイバー方式は、機器的にもお値段的にも敷居が高いイメージがあったが、調べてみると思いのほか安い。NICはサーバ抜き取り品やリファービッシュ品が5000円程度で流通してるし、光ケーブルも1mで1000円、20mで2000円程と家電量販店で売ってるUTPケーブルと大差ない値段で買えることが分かった。現状、10GBASE-SRは10GBASE-Tより低消費電力というのも好都合だ。

スイッチがお高い問題は残ったままだけど、メインマシン-サーバ兼NAS間が速くなれば当面は事足りる。マシン間直結ならDAC (Direct Attach Cable)やAOC (Active Optical Cable)を使えば、SFP+トランシーバ分のお金が浮いて嬉しかったりする。しかし今回は15mほど引き回す必要があり、またDAC/AOCは汎用性に欠けるので不採用。メインマシン-サーバを10GBASE-SRで直結し、サーバで10Gと既存の1000BASE-Tネットワークブリッジを作れば、スイッチなしで既存ネットワーク構成を活かしつつ高速化の恩恵を受けられそうな予感。

MacBook Pro用の10GbE NICはどうしたかって?。実は、そもそもMacとはもうオサラバして、Windowsな自作デスクトップにメイン環境を移行済みなのである。というか、そうしたからこそ、宅内ネットワーク高速化に着手できたというのが実際のところ。Macを捨てたポエムは別途書く。多分。

大まかな構想が固まったところで、次は機材選定だ。必要なのは以下の3点である。

  • SFP+搭載の10GbE NIC
  • 10GBASE-SR用SFP+トランシーバ
  • LC-LCマルチモードファイバー

注意すべきはSFP+モジュールのベンダーロックイン。ロックが掛かってると純正品の組み合わせでしか使えず残念な事になる(まぁロックインに対応した互換トランシーバーも売ってるんだけどね)。今回は関係ないがスイッチ側で掛かってる事もあるので要注意。

ベンダーロックとOSの対応状況を鑑み、NICはMellanox ConnectX-3以降、SFP+トランシーバは10Gtekの互換品を使うことにした。ConnectXシリーズは中古品の流通量が多く、FreeBSD対応ドライバがあり、ベンダーロックもなく貧者のNICとして最強なのだ。10Gtekはあまり聞き慣れない会社だが、格安ネットワーク機器中華ベンダーとしてそれなりに実績があるようだ。実は別件で同社の10GBASE-T NICとDACを使った事があるが、特に問題なく使えたってのも採用理由の1つ。ケーブルも10Gtekに決定。

なお、ConnectXはConnextX-3以降推奨。Windows 10用のドライバはConnectX-3以降の製品向けにしか提供されていないので。OSのインボックスドライバやWin8.1用ドライバでConnectX-2も使えるらしいから、価格重視なら人柱ってみるのもアリ。

詳しく調べていくうちに、ConnectX-3には40GbE対応の製品があることが判明。10G対応品よりは高いけど、十分に手が届く範囲だった。光トランシーバーとケーブルも同様な感じ。となれば欲が出てくるのが人の常。サーバ直結なら最早10GbEに拘ることもなくね…?ってなもんで、40GbEへと舵を切ったのである…。

方針はそのままにEthernet規格が40GBASE-SR4となり、必要な機材は次のようになる。

  • QSFP搭載の40GbE NIC
  • 40GBASE-SR4用QSFPトランシーバ
  • MPO-12マルチモードファイバ(OM3以上)

それぞれ10GbEで選定した機材の40GbE対応版を買えばよい。続きは購入編にて。

NETGEARのLAGのAdmin ModeメニューはLAGの有効/無効指定を意味するらしい

ネットギアのL2スイッチのLAG設定に「Admin Mode」なる謎の項目がある。

 XS512EMのLAG設定画面

スイッチの内蔵ヘルプを見ても“Admin Mode - Select Enable or Disable to set the Admin Mode.”という何の役にも立たない情報しかなく、全く以て意味がわからない。確実な情報は見つけられなかったんだけど、結局のところ機能のオン/オフを切り替える程度のものっぽい。もちろん、Enableが有効でDisableが無効ね。

機種は違うが公式フォーラムでは、Enableだとトラフィックが流れてDisableだと全く流れない、という回答になってるが、少なくともXS512EMのLAG設定のに関してはLAGのEnable/Disableにしか影響してなさそう。実際、Admin Modeの状態を問わずパケットは流れてるし、LAGを設定してもDisableならLAG StatsuはDownのまま、Enableにして初めてUpになった。

フォーラム回答の挙動は、マネージドスイッチ以上で設定できるポート毎のAdmin Modeの解説なんじゃないかって気がする。いずれにせよ、もっと分かりやすい名前にしとけよと思うけど…。

参考サイト

ブリッジネットワーク接続の仮想マシンを使う時はport-securityに気をつける

ブリッジネットワーク接続の仮想マシンがあり、その通信がCiscoのCatalystスイッチを通るネットワーク構成の時は、スイッチのポートセキュリティ設定に気をつけなければならない。さもないと仮想マシンが通信できなくてハマる。VMとLAN内の物理マシンとでARP RequestとReplayは通っており、互いのARPテーブルは正しく作られているように見えるのに通信が出来なくて超ハマる。3ヶ月くらい悩んでた…(ヽ´ω`)

port-securityが有効なポートでは、最初に通過したMACアドレス以外のフレームが破棄される。

ここで、ブリッジ接続の仮想マシンのフレームは、物理マシンが繋がってるポートに流れる事になる。つまり、1ポートに対して複数のMACアドレスが関連付けられるわけだが、port-securityが有効だと最初の通信のMACアドレスしか有効にならない。それは殆どのケースで物理マシンのMACアドレスになるので、VMは一切通信出来なくなるという寸法。逆にいえば、物理マシンの通信ならOKなので、NATでVMの通信を物理マシンの通信に変換してやれば通信できるということだ。実際、NAT接続でなら通信出来てた。

対策方法は次の3つ。

  1. port-securityを無効化する
  2. 信頼するMACアドレスを静的に追加する
  3. 学習するMACエントリの上限を引き上げる(デフォルトでは1個)

自宅ネットワークならport-security無効化が簡単で影響も殆どないかと。

この問題を調べてる時に、ブリッジ接続が上手くいかないと嘆いているロシアのフォーラムを見つけたんだけど、結局使ってるホスティング業者を変えたら動いた!って結末だったので、恐らくダメだった方の業者のスイッチで似たようなセキュリティ設定になってたんだろうと思う。

原因がわかって全てが繋がった感じ。通信だけにね(´・∀・` )

参考サイト

Cisco Catalystに繋いだPCが通信可能になるまで時間がかかるのはSTPのせい

最近、有線LANで繋いでるMacBook Proをスリープから復帰させると、暫く通信できない状態となる現象に見舞われていた。今までは全く問題なかったファイルサーバへの再接続もタイムアウトしてマウントが解除されてしまい、著しく使い勝手が悪い。Skype先生も激おこの模様。

こんな表示、初めて見たわい。

暫く何でかなーと思ってたが、そういえばL2SWをSG200-08からCatalyst 2960G-8TC-Lに変えたことを思い出した。スイッチを変えただけで、再リンクアップ時の挙動が変わるかいな!と半信半疑でググってみたら、Catalystはデフォルトでスパニングツリーが有効となっていて、ポートがフォワーディング(通信可能)状態になるまで30〜60秒かかるそうな。ネットが使えるようになるまでの体感時間と一致するし、原因はこれで確定だなー。言われてみれば、ネスペの勉強でそれっぽいことやった気がする…。

というわけで、クライアントを繋ぐポートはスパニングツリー設定をportfastにすればおkっぽい。

spanning-tree portfast
spanning-tree bpduguard enable

2行目のbpdugurdは、当該ポートでBPDUを受信した場合にポートをブロックするための設定。間違ってL2SWが繋がれたりループ接続された時に、ループ構成になることを防止する。自宅ネットワーク程度なら設定しなくても大して問題ないだろうけどさ。

やっぱり、実際に状況に遭遇すると理解が一気に進むもんですな。

参考サイト

OpenSSHとSOCKSの組み合わせが凄い

会社でSkypeが禁止されてしまった。セキュリティ対策の側面もあるが、ルータの負荷軽減という面が一番大きいように思う。実際、前の会社ではSkypeのせいでルータがよくダウンしていた。

Skypeが使えないと友達や他社の知り合いとのやり取り、副業のやり取りなど何かと不便なので、どうにか使えないものかと調べてみたらSOCKSを使えば行けそうとな。OpenSSHがSOCKSプロクシ機能を持ってるので、SSHで繋がる自分鯖を外部に持っててSSHの疎通さえできれば、ポート転送との合体技で何も考えることなく使えるのが素晴らしい!素晴らしいを通り越して恐怖すら覚えると同時に、昔の人も同じような状況に陥って編み出したんだろうなぁと少し親近感(恐らくもっと崇高な目的だったろうから、自分の状況と比べるのはおこがましいが…)。

んで、試しにやってみたらマジチョー簡単にSOCKS経由の自宅鯖経由でSkypeが繋がった。マジパネェ……。ついでに、WebブラウザもSOCKSプロクシ設定することで、自宅回線経由でネットができる。ぁゃιぃサイトも見放題だね!

もう全部の通信アプリがSOCKS対応すればいいのに(´・ω・`)

start.txt · 最終更新: 2016-05-07 17:46 by Decomo
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0