他のサブネットの仮想IPアドレスにルーティングされるLinuxネットワーク

他のサブネットの仮想IPアドレスにルーティングされるLinuxネットワーク

Linux ネットワーキングに初めてアクセスしながら、他のサブネットから仮想 IP アドレスにルーティングする方法について質問があります。

3つのサーバーがあります(すべて互いにpingできます)。

10.10.51.182(ルーターYに接続)
第二10.10.51.183(ルーターYに接続)
10.10.60.10(ルーターZに接続)

サーバー上、1000個の仮想インターフェイスを作成しました。

# ifconfig eth0:0 192.168.1.1 netmask 255.255.0.0  
# ifconfig eth0:1 192.168.1.2 netmask 255.255.0.0  
....  
# ifconfig eth0:999 192.168.5.200 netmask 255.255.0.0  

各仮想インターフェイスは、カメラシミュレーションソフトウェアを使用してカメラデバイスをシミュレートします。

サーバー上第二、次のパスを追加しました。

# route add -net 192.168.0.0 netmask 255.255.0.0 eth0

望むより、第二マシンの仮想インターフェイスにアクセス/pingできます。

仕える人別のサブネット(10.10.60.0)にこのパスを追加しましたが、うまくいくことを望むことは非常に低いです。

# route add -net 192.168.0.0 netmask 255.255.0.0 eth0

期待どおりにサーバーの仮想インターフェイスにアクセスできません。だから、そのルートを削除し、ルータのゲートウェイIPを使用して次のルートを追加しました。はい:

# route add -net 192.168.0.0 netmask 255.255.0.0 gw 10.10.51.1 eth0
SIOCADDRT: Network is unreachable

サーバーはゲートウェイ10.10.51.1をpingできます。しかし、エラーメッセージの意味は次のとおりです。GW同じサブネット(10.10.60)に直接はありません。

サーバーで構成できる構成/ルーティングそして/または~のためサーバーの仮想インターフェイスへのping/access。ルータの設定を変更する権限がありません。

しかし、単にサーバー構成を変更することが絶対に不可能な場合、ネットワーキングの観点からその理由を説明できる人はいますか?第二仮想インターフェイスにアクセスできます。、しかしアクセスする方法はありません。ルーターはありますか?はい「192.168.0.0」にバインドされたパケットを見るパケットが同じサブネットから始まると、自動的に破棄されます(第二)許可を受けますか?

答え1

単純なソリューションは、次の2つのサーバー間にトンネルを作成します。

サーバーAから:

ip tunnel add tunnel mode ipip remote 10.10.60.10
ip addr add 10.1.1.1/24 dev tunnel
sysctl -w net.ipv4.ip_forward=1

最後のコマンドは、新しく作成されたトンネルデバイスから仮想イーサネットデバイスにパケットを転送します。

サーバーCで

ip tunnel add tunnel mode ipip remote 10.10.51.182
ip addr add 10.1.1.2/24 dev tunnel
ip route add 192.168.0.0/16 via 10.1.1.1

サーバー間のファイアウォールによっては、いくつかのルールを調整する必要があります。

説明:共有ネットワークセグメントにServer AありますServer B。たとえば、データパケットをそのゲートウェイに送信することなく、データパケットを互いに送信できます。つまり、次の方法で自分のServer B住所を確認してください。192.168.1.1ARPそしてServer A彼らに返信を送ってください。

Server AそしてServer C他のネットワークセグメントにあります。たとえば、要求のみServer C192.168.1.1ルーティングコマンドになるServer C)、何も応答しません。この問題を解決するには、通常、ルーティングテーブルを介して特定のシステムに到達する方法を指定できますが、ネクストホップのみを指定できます。 2つのシステム間にトンネルを作成する必要があることrouter Zを知らないようです。192.168.0.0/24

追加のヒントは、仮想イーサネットデバイスを作成する必要がなく、ネットワークデバイスに必要なだけIPアドレスを追加できることです。たとえば、次のようになります。

for first in {1..4} ; do
   for second in {1..255} ; do
     ip addr add 192.168.$first.$second/16 dev eth0
    done
done

答え2

いくつかのオプションがあります。

  • コンピュータCは、AとBと同じ物理ネットワークに接続する必要があります。
  • ルーターYには192.168.0.0/16のアドレスが必要です。ルーターZにはルーターYを介して192.168.0.0/16へのパスが必要です。
  • コンピュータCとコンピュータAの間にip-ip(またはVPN)トンネルを作成し、トンネルインターフェイスを介して192.168.0.0/16へのトラフィックをルーティングします。

トンネルを作成することは、修正のための最良のオプションかもしれません。ただコンピュータAとC.よりIP-IPガイドワンステップ。

関連情報