web-dev-qa-db-ja.com

「ip route get」は間違ったソースIPアドレスを表示します

2つのIPアドレスを持つインターフェースを持つマシンがあります。

inet 192.168.1.15/32 scope global eth0
inet 10.10.118.45/24 brd 10.10.118.255 scope global eth0:hosts4

たとえばip -s route get 8.8.8.8、これによると、出力パケットには送信元IPアドレス10.10.118.45

8.8.8.8 via 10.10.118.254 dev eth0  src 10.10.118.45 
    cache  users 1 used 1

ただし、たとえばpingまたはSSH to 8.8.8.8、ソースIPは192.168.1.15

15:19:38.092508 IP 192.168.1.15 > 8.8.8.8: ICMP echo request, id 9135, seq 2, length 64
15:19:38.097962 IP 8.8.8.8 > 192.168.1.15: ICMP echo reply, id 9135, seq 2, length 64

この場合の理由は何ですかip route get正しい送信元IPアドレスが表示されませんか?

8
Martin

マシンはデフォルトゲートウェイを1つだけ持つことができます。 ping -iを使用して、パケットを送信するインターフェイスを選択できます。入力した情報から、デフォルトのIPは192.168.1.15のようです。 10.10.118.45はエイリアスのようです。 /etc/networks/etc/sysconfig/network、および/etc/network-scripts/ifcfg-*内のインターフェース構成を確認してください

以下は、同様の構成のサンプル出力です。

[root@cp-rc ~]# ip route show
default via 192.185.130.1 dev eth0 proto static metric 100
10.1.1.0/24 dev eth1 proto kernel scope link src 10.1.1.9 metric 100
192.185.130.0/24 dev eth0 proto kernel scope link src 192.185.130.90 metric 100
[root@cp-rc ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.185.130.1   0.0.0.0         UG    100    0        0 eth0
10.1.1.0        0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.185.130.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
1

多分それはあなたの10.10.118.45/24はDHCPアドレスですか?あなたは静的アドレスを削除しようとすることができます

0
klaypez