web-dev-qa-db-ja.com

静的ルートでホスト到達不能エラーが発生する

私は3つのインターフェースを備えたLinuxサーバーを持っています-1つはネット用、2つは内部用です。以下に内部のものを示します。

eth1
inet addr:192.168.10.253
Bcast:192.168.255.255
マスク:255.255.0.0

eth2
inet addr:10.10.10.253
Bcast:10.10.10.255
マスク:255.255.255.0

ゲート192.168.10.253とそのサブネットからのIPを備えた1台の内部作業マシンと、ゲート10.10.10.253とそのサブネットからのIPを備えたもう1台の内部作業マシンを用意します。これらのマシン間でアクセスできる必要があります。

Linuxボックスには、次のルーティングテーブルがあります。

default via * dev eth0
10.10.10.0/24 dev eth2  proto kernel  scope link  src 10.10.10.253
* dev eth0  proto kernel  scope link  src *
192.168.10.0/16 dev eth1  proto kernel  scope link  src 192.168.10.253

静的ルートを追加しました:

route add -net 10.10.10.0 netmask 255.255.255.0 gw 1​​92.168.10.253

そしてその結果

10.10.10.0/24経由192.168.10.253deveth1スコープリンク

しかし、eth1から稼働中のインターフェース10.10.10.2にpingを実行しようとすると、常に宛先ホストに到達できなくなります。構成として何が欠けていますか?

基本的な設定を次に示します。

enter image description here

Eth1からpingを実行するとき

ping 10.10.10.2 -I eth1
PING 10.10.10.2 (10.10.10.2) from 192.168.10.253 eth1: 56(84) bytes of data.
From 192.168.10.253 icmp_seq=1 Destination Host Unreachable

eth2からpingを実行すると:

ping 10.10.10.2 -I eth2
PING 10.10.10.2 (10.10.10.2) from 10.10.10.253 eth2: 56(84) bytes of data.
64 bytes from 10.10.10.2: icmp_seq=1 ttl=64 time=0.547 ms
2
modzozo

ネットワーク図によると、192.168.10.253デバイスから10.10.10.0/24ネットワークへの物理リンクがないため、10.10.10.2をpingしたときに応答を期待する方法は地球上にありません。 eth1の。 10.10.10.2に正常にpingを実行する唯一の方法は、ping要求をeth2から送信することです。

これが本当に機能する必要がある場合、解決策は192.168.10.25310.10.10.2に接続し、ルートを作成することです。これをどのように行うかは、2つのボックスの性質によって異なります。サーバーの場合は、接続できる(そして適切に構成できる)2番目のネットワークポートがある可能性があります。彼らが2番目のネットワークインターフェースを持っていない場合は、ネットワーク構成を完全に変更せずに運が悪い可能性があります。私の提案は、おそらく少し XY問題 にあるので、何を達成する必要があるかを説明する新しい質問を投稿することです。それを達成しようとしています。

1
Darren

あなたしないでくださいプライベートサブネットのユーザーが通信できるようにするために別のルートが必要です。次のコマンドのみが必要です。

iptables -A FORWARD -i eth1 -o eth2 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

最初の2つのコマンドは、2つのプライベートサブネット間でトラフィックが流れることを許可するようにファイアウォールに指示し、3番目のコマンドはカーネルレベルで同じことを行います。両方が必要です。

それで全部です。

0
MariusMatutiae