最近の傾向に気がついたことがあります。 文字通り動かなくなってからルータを交換するのではなく、古いルータがその地域で利用可能なインターネット速度の上昇についていけなくなったため、新しいギアに交換する、という行動をとる必要が出てきたのです。 (最新の例では、中小企業が従来の 1.5 ~ 9mbps の T1 接続から 50mbps の同軸ケーブルにアップグレードしたため、Netgear ProSafe 318G ルーターの束が最後に故障してしまいました。 同軸でも、古い ProSafe シリーズには無理があることが証明されました。 これらのデバイスは、ついていけないだけでなく、顔面から崩れ落ちてしまいました。 古いルーターでは、速度テストの結果が、古い接続では9mbps、50mbps接続では3mbps以下になることがよくあります。

View more

最近では、答えはますます無線ルーターにあるようです。 これらの製品は、洗練された外観のプラスチックと鮮やかな色の Web インターフェイスに長けていますが、技術的な機能と信頼性には欠ける傾向があります。 傭兵シスアドは何をすればいいのでしょうか? まあ、その核心は、2つの物理的なネットワークインターフェイスを持つものは何でもルータになり得るということだ。 そして今日、比較的高速で安価な、そして (超重要な!) 完全ソリッドステートの汎用ボックスがたくさん出回っています。

そこで、ついにその時がやってきました。 老朽化したハードウェアと、私のニーズを満たさない新しいコンシューマ製品に直面し、私は自分のルーターを構築することにしました。

Why do it the hard way

おそらく多くの人が、「そうだな、pfSense は確かに」とつぶやいていることでしょう。 なかには、smoothwall や untangle NG を考えている人もいるかもしれません。 Ubuntu Server を CLI だけでインストールし、いくつかの iptables ルールを設定します。

確かに、これはすべての読者にとって最も実用的なアプローチではないかもしれませんが、私にとっては理にかなっていました。 私は、インターネット規模での高スループットのために iptables と Linux カーネル自体を調整した経験がかなりあり、私とファイアウォール テーブルの間に置かれるキラキラした機能、グラフィックス、クリック感が少ないほど、邪魔なものが減り、私の仕事の残りの部分では適用できない新しいことを学ばなければならなくなります。 サーバーへのアクセスを管理するために iptables で作成する方法はすでに知っていますが、ファイアウォールがサーバーと同じディストロを実行していれば、ファイアウォールにどのように適用するかも知っています。 ファイアウォールのディストロには、OpenVPN のサポートが組み込まれているものとそうでないものがありますが、組み込まれているものでさえ、私とは異なる方法で動作することを期待する傾向があるようです。

さらにボーナスとして、私の新しい完全なバニラ Ubuntu ルーターで、非常に簡単にすべてを完全に最新に保つことができることがわかりました。 これはすべて Canonical によって直接サポートされており、すべて自動アップデートをオンにすることができます (そして実際にオンにしています)。

ハードウェア、ハードウェア、ハードウェア

今後の記事でハウツーについて説明しますが、今日は、なぜ DIY ルータービルドが最良の選択かもしれないかを確立することが重要です。 そのためには、まず、今日の一般的な状況を理解する必要があります。

コンシューマの世界では、ルーターのほとんどは、ボンネットの下に小さな小さな MIPS CPU を搭載しており、(控えめに言っても)大量の RAM を搭載していません。 これらのルーターは、主にインターフェイスに基づいて互いに区別されます。 それはどのように光沢のある? どのように多くの技術的な機能は、それが持っていますか?

広告

SOHO市場のハイエンドでは、スマートフォン級のARM CPUと多くのRAMを目にするようになります。 これらのルーターのような Nightgear Nighthawk シリーズは、後で詳述しますが、マルチコア、高いクロック速度、およびより多くの RAM を備えています。 また、安価な競合製品よりもはるかに高い値札を備えています。 私は Linksys EA2750 を 89 ドルで購入しましたが、一緒に購入した Netgear Nighthawk X6 は約 3 倍の 249 ドルでした (ホリデー セールでも!)。

拡大 / 私を批判しないで-空腹だったの

それでも私は別のルートを進みたかったんです。 最近、面白くて手頃な値段の小さな x86-64 ファンレス マシンがたくさん市場に出回り始めています。 ルーターを構築するためのコツは、複数の NIC を持つものを見つけることです。 Amazonでは、かなり安全なものをいくつか見つけることができますが、それらは古いAtomベースのプロセッサであり、私は新しいCeleronが欲しかったのです。 ネットで散々迷った挙句、最終的にアリババで深圳のInctel Technology Companyから新しいPartaker Mini PCを注文しました。 ルーター本体が240ドル、Neweggから120GBのKingston SSDが48ドルで、Nighthawkに費やした金額より約40ドル多くHomebrew Specialに費やしたことになりました。 その価値はあるのでしょうか。

挑戦者現る

テストを始める前に、競合他社を簡単に視覚的に見てみましょう。

拡大/左端から時計回りに、1.Ubuntu搭載の自作スペシャル、2.Netgear Nighthawk X6、3.バッファロー WHR-G300N-v2 、4.リンクシス N600 EA-2750の4台。 右端、全体に迫っている。

Nighthawk は、他のものと比べても巨大で堂々としています (写真で見るよりももっとです)。 実際、私の Homebrew Special よりもかなり大きく、完全に機能する汎用 PC であり、完全に有能なデスクトップとして使用することができます。 DC Comics が H.R. Giger にバットマン用のワイヤレス ルーターのデザインを依頼したようなものです。

Homebrew Special 自体はちょっとかわいらしいです。 ケース内に青と赤のLEDが1つずつあり、夜間はその両方の光が冷却口から間接的にこぼれ、ネットワークスタックをお祭り騒ぎのように演出しています。

一方、Linksys と Buffalo は、まさに安いルーターのように見えます。 しかし、Linksysのスタイリングは、このブランドの過去と比較して大きく改善されていることに注目すべきです。 しかし、Linksysのデザインは、これまでのLinksysのデザインから大きく改善されています。 (しかし、スタイリングについては十分です。これらの貧弱なルーターに試練を与える時が来ました。)

明らかに最初の挑戦は、単純な帯域幅のテストです。 LAN 側と WAN 側にそれぞれ 1 台ずつコンピュータを置き、iperf と呼ばれる気の利いた小さなツールを真ん中で実行します。 簡単でしょう?

拡大 / 写真なし:興味深い結果です。

広告

さて、それでは短くてつまらない記事になってしまうでしょう。 ネットワーク自体はギガビットを測定し、3 つのギガビットルーターはギガビットを測定し、100 メガビットルーターは 100 メガビットを測定します。

実際には、この単純なテストはストーリーを伝え始めることさえできません。 これを行う唯一の理由は、それがいかに無意味であるかを示すためかもしれません。 ルーター メーカーは、人々が実際に製品をテストしていることを意識するようになっており、どのメーカーも、自社の製品が smallnetbuilder のルーター チャートのようなものの上位であること以外は望んでいないのです。

問題は、統計はあくまで統計であるということです。 純粋なスループット テストで高い数値を叩き出すことができれば、何もしないよりはましですが、それは全体像からはかけ離れたものなのです。 私は、2000年代初期にT-1ベンダーで働いていたとき、この教訓を苦労して学びました。 非常に高価なAdtranモデムは、50~100人の通常のインターネット利用を問題なく処理できましたが、Limewireやその他のP2Pクライアントを実行しているユーザーが1人いると、全体があっという間にダウンしてしまうのです。 (当時の対策は、150ドルの安価で素晴らしいNetopiaルータを高価なAdtranモデムの前に置くことでした。

広告

比較的単純なルーティングであっても、深いパケット検査やストリーミング マルウェア スキャンや侵入検知、シェーピングを行わない場合、ルーターで使用できる CPU と RAM はどちらもインターネット リンクを飽和させる能力よりもはるかに重要なものとなっています。 ピアツーピアファイル共有は、最近ネットワークで見られる最も残酷な活動です(bittorrent、GnutellaやeDonkeyの亜種の1つ、またはゲーム会社のピアツーピアダウンロードシステムであろうと)。 Blizzard社のP2P配信システムが導入される頃には、私はWoWをプレイし終えていましたが、当時のルームメイトはそうではありませんでした。 発売日当日、新しいWoWのピアダウンロードシステムは、不親切にもスロットリングを一切行わないというデフォルト設定になっていました。 文字通り何千ものクライアントと同時に接続を見つけ、維持しようとしたため、ギルバート・ゴッドフリードがテリー・テイトにタックルされたように、私の自宅ネットワークはダウンしてしまったのです。

このような過去の経験に基づいて、私は挑戦者を最低限「テスト」して終わりにしたいのではなく、本当に汗をかかせてあげたいのです。 ネットワーク リンクの飽和、個々の TCP/IP 接続の高速な作成と切断、および大量の個々の TCP/IP 接続を同時に開いたままにするという 3 つの問題領域にストレスを与える作業負荷で、挑戦者を苦しめようと思っています。

私はポケットにボットネットを持っていて、それを揺り動かす準備ができている

私は一時、個々の IP アドレスを持つ数万の Linux コンテナで、接続やウェブページの提供を要求するある種の恐ろしい Docker パワーの巨大なシステムを設定しようと考えていました。 しかし、そこで気がついたのです。 ルータに関する限り、何千もの個別のIPアドレスへの接続を維持するのと、同じIPアドレス上の何千ものポートへの接続を維持するのと、違いはないのです。 私は、Lee Hutchinson のお気に入りの Web サーバー nginx を、1 万の頭と破壊への欲求を持つ、ばかげたラブクラフトの怪物に変えるのに少し時間を費やしました。

各ルーターについて、ApacheBench を使用して、4 つの異なる同時実行レベル (10, 100, 1,000, 10,000) で 3 種類のファイル サイズ (10K, 100K, 1M) の jpeg をダウンロードするテストを実施しました。 これは、最初の iperf テストを除いて、合計 12 回のテストとなり、一種のスペクトルとして見る価値があります。 ファイルサイズが小さいということは、インターフェイスが飽和する前に、毎秒多くの個々のファイルを配信できることを意味します。これは、より多くの TCP 接続を作成および切断し、ルーターの CPU に負担をかけることを意味します。 一方、1Mのファイルは、高い同時実行レベルでは、より多くのコネクションをオープンにしておくことが保証されていることを意味します。 各レベルは、ルーターが極端なレベルで処理する必要のある一般的な課題 (大量の電子メールのダウンロードまたは送信、ピアツーピア ファイル共有の処理、多くのユーザーによる一般的な Web ブラウジング) をかなり適切にモデル化しているので、ルーターがスペクトル全体をどのように処理するかを見る価値はあると思います。 ルーター自体は「純正」です – 私の Homebrew Special も未チューンのままでした – しかし、テスト サーバーである Menhir と Monolith (それぞれ AMD FX-8320 8 コア CPU、32GB DDR3 RAM、Ubuntu Trusty OS で完全に最新パッチ) では、その種の負荷を扱うためにかなり深刻なマッサージを必要としたのです。

これほどまでにクレイジーな状況では、サーバーとネットワークの間に置くルーターについて結論を出す前に、実際のサーバーとネットワークがどの程度の能力を備えているかを確認したいと思うことでしょう。 まず最初に、Menhir をローカル ホスト インターフェイス (ネットワークなし) でテストし、次に、ネットワーク スイッチ (Netgear ProSafe 16-port gigabit, 念のため) のみでサーバー間をテストしました。

拡大 / すべての実験には対照が必要

ローカル ホストの結果はこれ以上ないほど良く、すべてのテストにおいて、はるかに高いスループットを達成しました。 実際、グラフの Y 軸のスケールを手動で制限する必要があり、そうしないと実際のテストがまったく見えなくなってしまいます。 ネットワーク直接接続のテストも悪くなかったのですが、明らかに上限で限界に達し始めています。 苦労しているのがスイッチ本体なのか、両サーバーに搭載されているネットワークインターフェイスなのかは分かりませんが、何かが完全に追いついていないようです。 でも、これで十分なんです。

Let’s get ready to rumble!

私は少し緊張していました。 この小さな自作デバイスには、すでにかなりの愛着を感じていました–なにしろ、自分で作ったのですから。 引き出しから掘り出した古い Buffalo や、Staples でギガビット インターフェースを備えた文字通り最も安い Linksys を簡単に制圧できると思っていました。 しかし、あのレーザー誘導型アトミック・スチームハンマーであるNighthawkに勝てるのだろうか?

拡大表示 / 写真:完璧な勝利

ダウンロード テストが終了すると、自作スペシャルに関する質問はもうありませんでした。 そう、ナイトホークに勝てるのだ……そしてその後、あくびをしながら歩き出すのだ。 10K ファイル サイズ/10 同時接続レベル (これは、絶対的に最も多く作られ、壊れた接続で CPU に挑戦する) での 1 つの小さな落ち込みを除けば、直接ネットワーク接続そのものとほぼ同じパフォーマンスでした。

広告

ちなみに Nighthawk は本当に素晴らしい SOHO ルーターで私はかなりたくさん導入してきました。 しかし、ほとんどすぐに落ちました。 メガバイトのダウンロードを10回ずつ行うには、首尾一貫していました。

Linksys は、驚くなかれ、まったく良いパフォーマンスを発揮しませんでした。 10 個のファイルを同時にダウンロードするという単純なタスクでさえ、そのスループットは素朴な iperf テストが示したもののほぼ半分にまで落ちました。 そこから事態はさらに悪化し、いくつかのテストを完了することさえできなかった。 プラス面では、Linksysはルーターが本当に重要であることを示す素晴らしい仕事をします。

最後に、勇敢な小さなバッファローは、賞賛に値します。 新品のときは Linksys よりも安く (8年前ですが)、5年間も机の引き出しの中で眠っていたにもかかわらず、この製品はことわざで言うところのバースツールを降りて、テストの半分で Linksys を実際に打ち負かしました。 バッファローは、ネットワーク・インターフェースの速度が10分の1であるにもかかわらず、この成功を収めたのです。 これはすごいことです。 今度、誰かが船から上がったばかりの中国製製品を安っぽく扱うようなことがあったら、「バッファローを忘れるな!」と叫びたいと思います。

広告

ただし、結論を出す前に、アップロード速度について説明する必要があるのです。

拡大表示 / 同じグラフでないことを確認するために二度見してしまいました。

幸い、ここではルーター間の関係については何も変わっていません。 Homebrew は依然として、直接ネットワーク接続にほぼ完全に一致し、そこに存在しないかのように見えます。 また、NighthawkはLinksysを完全に支配し続け、屑鉄のような小さなBuffaloは相変わらずその時代遅れのベストを尽くしています。 絶対値で見ると、NighthawkとLinksysの両方がダウンロードよりもアップロードでわずかに良い結果を出していることがわかりますが、特筆すべきものではありません。 この結論は変わりません。Homebrew Special はネットワークに追いつき (奇妙なことに、1 万接続/10K ファイル テストでは直接接続よりも良い結果を出しています)、Nighthawk は Linksys と比較して明らかに値打ちがあり、Linksys はまあ、安価なのです。 これは、Homebrew Special の暗号化機能を使用したものです。 OpenVPNサーバーが動作しています。 このテストでは、WAN側のサーバーであるMenhirは、ルーターに搭載されたOpenVPNサーバーに接続されています。 Homebrew SpecialのLAN側のトラフィックはVPNトンネルを経由するため、MenhirはMonolith(LAN側のサーバー)のLAN IPアドレスに、2048ビットのSSLベースの暗号化でアクセスしています。 私の住んでいる地域では、まだ誰も200mbps以上のインターネット接続を提供していないので、私の中の暗号オタクが大喜びで踊っているようです。

最後に、1 つの簡単な注意事項

私の小さな自作スペシャルが素晴らしいだけに、他の 3 つのコンテスト参加者が提供している、1 つ欠けているものがあります:ワイヤレス アクセスです。 Homebrewにワイヤレスカードを追加して、ワイヤレスを提供することもできますが、今のところその予定はありません。 PC用のワイヤレスカードはよく知られていますが、どれも氷の上では臭くて使えません。 LinksysやBuffaloのような安価なデバイスでさえ、ワイヤレスのカバレッジとレンジの点で、Nighthawkは同じリーグにさえいません。 ワイヤレス範囲、カバレッジ、および同時接続性に関しては、本当にレーザー誘導型原子スチームハンマーです。 (私は今、53,000平方フィートの施設で50人以上のユーザーを隅から隅までカバーしています。)

そうは言っても、Wi-Fi業務を厳密に処理するために別のWAP (Wireless Access Point) を使うことを止めるものは何もありません。 私の家では、Ubiquitiの「ホッケーパック」WAPのペアを、家の各階に1つずつ置いています。 Nighthawkに比べると管理は少し大変ですが、2台で半分の値段です。 これらはごく普通のLinuxデバイスで、直接SSHで接続でき、かなりクールな小さなWebアプリケーションから管理できます。 (Ubiquiti Server を私のワークステーションから Homebrew Special に移行することが、この作品の後の最初のタスクの 1 つであり、その後、私のホーム オフィス ネットワークの前で積極的に使用するようにします。)

完全性の名の下に、私がこれまで管理してきたすべてのコンシューマー ネットワーク機器に共通する、ほぼすべての変更後に再起動が必要という制限を 1 つ観察する必要があります。 これらのリブートの中には、1 分以上かかるものもあります。 なぜかさっぱりわからないが、理由はともかく、Homebrew Specialはこの業界標準に悩まされることはない。 変更したら、それを適用して終わりです。 そして、もしスペシャルを再起動する必要があるのなら? 12秒で再起動します。 (私はドロップした Ping をカウントして時間を計りました。)

ですから、もしこの数字に心を動かされて、自作スペシャルを作りたいのなら、必要なのは 2 つの物理ネットワーク インターフェースを持つ PC だけです。 これは、私がここで使用したような特別なミニ PC でも、2 つのネットワーク カードを詰め込むことができる、その辺に転がっているどんな古い箱でもかまいません。 最初のスクリーンショットに怯えないでください。 あなた自身の本当に速いルータを構築することは、そのハングアップを取得することは困難ではありません.

広告

Jim Salter (@jrssnet) は作家、講演者、中小企業のオーナー、傭兵シスアド、3人の父親であり、必ずしもこの順番である必要はありません。 彼は、1999 年に彼自身の FreeBSD 3.1 専用サーバで Apache を実行することで、オープンソースを初めて経験し、 それ以来、彼は FOSS の激しい支持者となっています。 彼はまた、http://freebsdwiki.net と http://ubuntuwiki.net.

を作成し、維持している。

コメントを残す

メールアドレスが公開されることはありません。