私はいくつかの関連する質問を見つけましたが、それらのどれも私の特定の問題を解決していないようです。
一方のサーバーがオンに10.a.b.1
なり、もう一方のサーバーがにあります10.c.d.2
。私たちはAWS EC2クラシックを使用しており、内部IPを制御できないため、中間オクテットは異なりますが、関係ありません。
サーバー2はOpenVPNを実行しており、他のネットワークについて知っています10.10.10.0/24
。サーバー1がそのネットワークにアクセスできることを願っています。これは、サーバー1とは異なるネットワーク上の関連サーバーでパスを更新することを意味します。
つまり、サーバー1は10.10.10.0/24トラフィックをサーバー2に送信し、他のネットワーク上のサーバーは10.ab1トラフィックをサーバー2に送信する必要があります。サーバー2に変更が必要かどうかはわかりません。実際にトラフィックを転送するには、IP転送またはiptablesが必要な場合があります。
これでサーバー1に閉じ込められました。
server1$ ip route add 10.10.10.0/24 via 10.c.d.2 dev eth0
残念ながらこれは失敗しますRTNETLINK answers: Network is unreachable
。
10.cd2からサーバー1からサーバー2へのパスを正常にpingして追跡できるのに、なぜこのパスを追加できないのか混乱しています。
答え1
10.ab1と10.cd2は同じネットワークにありませんか?
プレフィックスの長さが十分に短い場合(例:/ 8)、同じネットワークに存在する可能性があります。プレフィックスの長さを指定しませんでしたが、それほど短くなく、実際には同じネットワークにはないようです。
パスは、ローカルリンクのネクストホップのみを宛先として指定できます。したがって、トラフィックをserver2に1ホップに近づけるルータを指すservr1に10.10.10.0/24へのルートをインストールできます。それでは、このルータはトラフィックをどのように処理しますか? server2にさらに一歩近づくには、ルーティングを介してどこに送信するかを知る必要があります。など。ただし、中間ルーターを制御できないため、おそらくそれを行うことはできません。
server1からserver2にトラフィックをルーティングする場合(ローカルリンクを介して10.10.10.0/24に接続できます)、最良のオプションはトラフィックをトンネリングすることです。 server1とserver2の間にトンネル(GREなど...)を作成するか、より簡単にはserver1と10.10.10.0/24の間にトンネルを作成します。