異なるサブネットからマルチホーム Ubuntu にアクセスできない

異なるサブネットからマルチホーム Ubuntu にアクセスできない

マルチホームの Ubuntu 12.04 サーバーがあります。2 つの異なる IP 範囲に接続された 2 つのネットワーク インターフェイスがあります。

2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 190.113.X.X/29 brd 190.113.98.183 scope global eth1
(...)

3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 10.100.100.21/24 brd 10.100.100.255 scope global eth0
(...)

ネットワークに関係のない別のサブネットから eth0 リンク上のサーバーにアクセスしようとすると、10.100.100.X応答がありません。iptablesサーバーで実行していますが (eth1 にパブリック IP がある場合)、eth0 リンク上のプライベート ネットワークからのすべてのトラフィックを許可しています。

tcpdumpサーバーのインターフェースで を実行すると、次のようになります (私の PC は です10.100.102.22)。

18:30:23.813889 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.100.102.22 tell 10.100.100.21, length 28
18:30:24.810691 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.100.102.22 tell 10.100.100.21, length 28
18:30:25.810718 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has 10.100.102.22 tell 10.100.100.21, length 28

サーバーから自分の PC に ping を実行できます。

PING 10.100.102.22 (10.100.102.22) 56(84) bytes of data.
64 bytes from 10.100.102.22: icmp_req=1 ttl=63 time=0.273 ms
64 bytes from 10.100.102.22: icmp_req=2 ttl=63 time=0.324 ms

ルーティング テーブルは次のとおりです。表 1:

default via 10.100.100.1 dev eth0 
10.0.0.0/8 dev eth0  scope link  src 10.100.100.21

表2:

default via 190.113.X.X dev eth1 
190.113.X.X/29 dev eth1  scope link  src 190.113.X.X

デフォルト:

default via 10.100.100.1 dev eth0  metric 100 
10.100.100.0/24 dev eth0  proto kernel  scope link  src 10.100.100.21 
190.113.X.X/29 dev eth1  proto kernel  scope link  src 190.113.X.X 

答え1

クライアントは、10.100.100.0/24 ネットワークへのルートも認識している必要があります。

そのため、クライアントにルートを追加する必要があります

ip r a 10.100.100.0/24 via 10.100.100.1 dev eth0

または、クライアントが使用しているデフォルト ゲートウェイにルートを追加する必要があります。

これを次のように考えることができます: クライアントは 10.100.100.21 に到達する方法を知っている必要があります。知らない場合は、デフォルト ゲートウェイを試します。ゲートウェイが知らない場合は、運が悪いことになります。

関連情報