PPP接続を介してethネットワークパケットをルーティングする

PPP接続を介してethネットワークパケットをルーティングする

シリアル経由で PPP 接続された 2 台のマシンがあります。また、これらのマシンはイーサネット インターフェイスで別々の LAN に接続されています。これらの 2 つのイーサネット ネットワーク間で通信できるようにしたいと考えています。

これらのネットワークは、異なるサブネットにある場合も、そうでない場合もあります。すべての IP は静的に割り当てられるため、DHCP は使用されません。

大まかなトポロジは次のようになります。

          eth        ppp(tty)       eth
network1 <----> box1 <-----> box2 <-----> network2

簡単なコマンドでこれを実現できますか ip route?

答え1

net1 と net2 が、異なる IP アドレス プレフィックスと個別のブロードキャスト ドメインを持つ独立したサブネットとして機能するのが最適です。

この場合、各「ボックス」に2つのインターフェースがあるため、実質的には最も単純な種類の IP ルーター。(「ppp」インターフェースは、独自のプライベート IP プレフィックスを持つ 2 つのルーターを接続する 3 番目のネットワークと考えてください。)

  • 各ルータは、直接接続されたネットワークに到達する方法をすでに認識しています (インターフェイスで IP アドレスを構成するときに、「サブネット マスク」または「プレフィックス長」からこの情報を取得します)。ただし、遠隔ネットワークへのルートが必要です。

  • ボックス 1 で、<box2.ppp の IP アドレス> 経由で <network2> へのルートを追加します。

  • ボックス 2 で、<box1.ppp の IP アドレス> 経由で <network1> へのルートを追加します。

(ppp インターフェイスを番号なしのままにして、代わりにインターフェイス経由でルートを設定することも可能です。たとえば、 Linux ではdev ppp0の代わりに キーワードを使用しますvia <addr>。これはおそらく推奨されません。)

しかし、もっと重要なのは、デバイス内でこれらのネットワークは、box1とbox2を反対のネットワークへのゲートウェイとして使用する必要があることを認識している必要があります。(box1とbox2をデフォルトゲートウェイただし、2 つのネットワークにすでに独自のデフォルト ゲートウェイがある場合は、代わりに box1/box2 経由のルートを設定します。


net1とnet2の間のリンクがイーサネット層で透過的である必要がある場合(たとえば、非IPトラフィックを送信する場合)、デバイスはルーターとして動作することはできません。2 つのインターフェイス間のブリッジを構成するのは簡単です。ただし、問題は、「通常の」 PPP はネットワーク層トラフィックのみを伝送し、生のイーサネット フレームは伝送しないことです。

したがって、ブリッジングには、イーサネット用の特別な PPP モード、または MPLS over PPP (存在するはずです)、または「gretap」や「erspan」などのトンネルを作成する必要があります。上にIP ネットワーク (オーバーヘッドが多少あります)。すべてのオプションが可能ですが、ルータのコア機能であるルーティングとは異なり、box1 と box2 で何がサポートされているかを知る必要があります。

関連情報