おそらく、ホームインターネットの多くのユーザーは、ホームネットワーク内の2つ以上のインターネットチャネルを並列化する方法に直面していました。
この問題は、ハードウェア(安価または高価な機器を使用)とソフトウェアの両方で解決できます。
選択するルーティングモデル RIP / OSPF / BGPはすぐにドロップできます。これはホームインターネットであり、プロバイダー側で無料でサポートしたくないことが確実だからです(私の場合は検証済みです)。
鳥を選んだ。
したがって、開始位置:
- Debian GNU / Linux 6.0.5(squeeze)を搭載したホームルーター
- 2つのインターネットチャネル(ISP1およびISP2)
- 2本のまっすぐな腕
- 一杯のコーヒー
私のネットワーク構成:
- eth0-プロバイダー 'ISP1':
- IP:10.10.10.106
- ネットマスク:255.255.255.0
- ゲートウェイ:10.10.10.1
- eth1-ローカルエリアネットワーク:
- IP:192.168.254.254
- ネットマスク:255.255.255.0
- eth2-プロバイダー 'ISP2':
- IP:172.17.5.105
- ネットマスク:255.255.255.0
- ゲートウェイ:172.17.5.1
私はapt好きですが、結局のところ、aptバージョンにはかなり古いバージョンのbird(1.2.5-1)があり、マルチパスのサポートはありません。
あなたの手でそれを収集する必要があります。 debianをslackwareにしないために、事前に故意にフレームを省略しています。
結局のところ、Debianのスタートアップスクリプトはありません。
起動スクリプトを生成します(aptの同じ古いパッケージから取得し、わずかに修正しました)
/etc/init.d/birdに次の内容を追加します。
起動スクリプトの準備ができたら、自動起動に追加します。
ログファイル用のディレクトリを作成します。
それでは、鳥自体の設定を始めましょう。
始めるには、bakapimの元の構成を作成し、新しい構成を作成します。
次に、編集用に開きます。
次に、手動設定用のディレクトリを作成し、たとえば、いくつかのルートを追加します。
これで、鳥のセットアップは完了です。
それでは、ルーティングテーブルのセットアップに移りましょう。
/ etc / iproute2 / rt_tablesにテーブルを追加します。
ここで、ISP1ネットワークから要求するときに、パケットが別のインターフェイスを経由せずにISP1に戻ることを確認する必要があります。
これを行うには、IPルールを追加します:
これを行うには、iprulesスクリプトを作成します。
コード/etc/network/if-up.d/iprules:
コード/etc/network/if-down.d/iprules:
チェックボックス+ x:
今、すべての
反論を実行します:
コマンドをコピーアンドペーストしないように、よりトリッキーにします。
打ち上げ鳥:
私たちはチェックします:
ここで
、コードを
引き出し 、ISP1(eth0)からネットワークケーブルを取り外し、変更内容を確認します。
つまり、プロバイダーの1つが誤って切断され、トラフィックが別のプロバイダーを通過した場合、切断されたプロバイダーは20秒ごとに監視され(カーネルプロトコルのスキャン時間20オプションを参照)、表示されると自動的に「デッド」が削除されます。
結論として:同様に、10個のプロバイダーを追加できます。