インターフェイスには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
IP8.8.8.8
は次のとおりです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アドレスが表示されないのはなぜですか?
答え1
マシンにはデフォルトゲートウェイが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
答え2
10.10.118.45/24
アドレスはdhcpですか?固定住所を削除してみることができます