プロバイダーのサービスでのLinux





ハブのテーマに関する投稿のほとんどを調べたが、インターネットサービスプロバイダーでUnix / Linux OSを使用するトピックが非常に不十分にしかカバーされていないという事実に非常に驚いた。 この記事では、このギャップを部分的に埋めようとします。





なぜインターネット上にそのような記事が完全に存在しないのかを推測するのは難しくありません-ISPでLinux / FreeBSDを使用するすべての人はすぐに物beいで告発され、シスコ、または非常に極端なジュニパーの場合でさえ購入するよう勧められます。 そのため、この記事の2番目の目標は、Linux OSに基づくいくつかの技術ソリューションが、多くの点で最も有名なベンダーのブランドソリューションよりも優れていることを読者に示すことです。



シェーピング


Linuxの「非標準」使用の最初の経験は、個人向けのブロードバンドアクセスサービスの提供開始直後に現れました。 各ユーザーの外部チャネルで何かを「カット」する必要がありました。 ここでは、このトピックに関する独自の開発が行われていないため、 cbqを使用して独自の自転車を作成し、独自のバインディングを作成する必要がありました。 この方式は、すべての不利な点を認識し、マシンのパフォーマンスに影響を与えるまで、数か月間機能しました。



問題は、各インターフェイスで300メガビットと30 kpps、1000の線形cbqルール(2つのユーザー入力/出力ルール)の通過トラフィックでオフに多くのトラフィックがなくても、システムが非常に多くのソフト割り込みを「食い」始めたということです上位のsiは100%に達しました。



現時点で同じ技術的手段で同じ問題に直面する場合、Linux htb tc + hash filtersを使用してそれを解決します。



NAT


当時、私たちは個人の加入者をつなぐ小さなローカルホームプロバイダーであったため、クライアントに「白い」ルーティング可能なIPアドレスを与えるのか、それとも「グレー」のIPアドレスの発行に限定するのかという鋭い質問がありました。



「グレー」アドレスで停止したのは、それらを使用すると、その時点で貴重なものが実際のアドレスとして大幅に節約されたためです。 また、ユーザーの作業のセキュリティと快適性がわずかに向上しました。これは、コンピューターの外部からインターネット全体に「直接」アクセスできないためです。



NATには 、Cisco機器、特にCisco ASA 5505が選択されました-その当時、その容量はお客様のニーズをカバーするのに十分でした。



同時に、注文したCisco ASAが少し遅れているという情報が突然現れたため、実際にはNATから100Mbpsストリームを取得する方法についての疑問が生じました。



「膝の上」では、2つのネットワークギガビットアダプターを備えた通常のオフィスPCからテストベンチが組み立てられました。少し調整すれば、ごく普通の「pisyuk」が最も普通の領域で必要なストリームを取り去ることができました。



アイロンを交換した後、1800 Mbpsは、NATサーバーの1つをピークを通過しました(はい、間違いではありません。トラフィックはほぼ2ギガビット/秒です)。



ネットフロー


NATの前にホームユーザーの作業に関する統計を収集する問題、つまり「グレー」アドレスに直面して、 NETFLOW統計を取得するための最も簡単なスキームになりました。



Linux OSを搭載したサーバーの必要なネットワークポートにすべてのユーザートラフィック(SPAN PORT)のコピーを「キックアウト」し、ipt_NETFLOWを使用して目的のサーバーへのFLOWSストリームを形成するスキームを組み立てました。



configといっしょに詳細に作業スキームをここに示します



PSほとんどのCisco機器は、既に生成されたNETFLOWストリームを指定されたNetflowコレクターに注ぐことができることを認識していますが、その時点のネットワークダイアグラムでは、単にそのような機器はありませんでした:)



ユーザーネットワークの終了。


最初は、ユーザーにIPアドレス、サブネットマスク、ゲートウェイを提供し、PPPoE、PPTP、VPN設定を読み込まないようにしたかったため、ネットワークのセットアップは非常に簡単になったため、最終的にはテクニカルサポートサービス(実際に発生しました)をある程度軽減する必要がありましたユーザーOS。



Linux OSを使用した以前の経験を適用することを決めたので、次のスキームに到達しました:一対の4ポートネットワークアダプターを備えたLinuxサーバーがネットワーク上の重要な場所にインストールされ、1つのリンクがネットワークのコアおよび「クラスター」に向かって「離れ」ます。 その結果、それぞれに複数のネットワークを持つVLANの束が各インターフェイス上に発生します。



合計で、ネットワークごとに約1万人のサブスクライバーを持つ4つのサーバーがありました。



ピーク時に各サーバーが到達するピークトラフィックは、1秒あたり1.5メガパックになる傾向がありました。 サーバーは、 ospfプロトコルを使用して相互にルートを交換しました。



ユーザーへのアクセスのブロックは、ipsetを使用して実行されました。



ボーダー


ここで終了するのはいいことですが、Linuxのもう1つの「非標準」アプリケーションについて-境界として書きたいと思います。 そのため、2つのアップリンクから2つの完全なビューを受け取った寄宿者として機能するCisco ASRがありました。



ここで、若干の余談があります。 シスコの会社は、必要な書類を記入してから数時間以内に100%の義務を果たし、交換品を送りましたが、ご存知のように、お客様は新しいハードウェアが当社の地域に到着するまで1日待ちません。 決定は自発的でした。



サーバーを倉庫から取り出し 、Linux + quaggaをインストールし、 障害が発生したシスコの代わりに安全にインストールしました。



ラッシュアワーでは、このエンジニアリングの奇跡により、1.4Gbit / sの入力ストリームが「噛まれ」、すべてのインターフェースの合計kppsは約400になりました。



PS作業の過程で、CentOS 5ディストリビューション用の多くのRPMパッケージを収集してテストしました。以下に、それらの小さなリストを示します。





このリポジトリからダウンロードできます。



PPS ISPサービスでOSのような* nixの使用に関する独自の開発またはメモが​​ある場合は、ようこそ。



CentALTによる記事、残念ながら、彼は自分で投稿するのに十分なカルマを持っているので、彼のカルマにすべての長所/短所を残すようお願いします



All Articles