"Ip route get" mostra un indirizzo IP di origine errato


8

Ho una macchina con un'interfaccia che ha due indirizzi 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

Se eseguo ad esempio ip -s route get 8.8.8.8, in base a ciò, il pacchetto in uscita avrà un indirizzo IP di origine 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

Tuttavia, quando I per esempio pingo SSHper 8.8.8.8, quindi IP di origine è 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

Qual è la ragione per cui in questo caso ip route getnon viene visualizzato l'indirizzo IP di origine corretto?


1
Qual è l'output di ip rule list? E per ogni tabella elencata, qual è l'output di ip route list table $table?
Jesusaur,

1
Cosa ip route show to match 8.8.8.8dice?
Zeppelin,

2
@Martin ip route getstampa il risultato dell'algoritmo di selezione del routing e stampa l'indirizzo di origine dal srccampo della voce della tabella di routing corrispondente. Tuttavia, un'applicazione può associare un indirizzo al socket, che viene quindi utilizzato come indirizzo di origine nei pacchetti IP. Vedi Selezione dell'indirizzo di origine . Forse il tuo programma ping fa questo? (Esistono diversi programmi di ping; da quale pacchetto è il tuo?)
Johan Myréen,

Risposte:


1

Una macchina può avere solo un gateway predefinito. Puoi usare ping -i per scegliere da quale interfaccia vuoi che arrivi un pacchetto. Dalle informazioni che hai fornito sembra che il tuo IP predefinito sia 192.168.1.15. 10.10.118.45 sembra essere un alias. Controlla la tua /etc/networks, /etc/sysconfig/networkcosì come la configurazione dell'interfaccia all'interno/etc/network-scripts/ifcfg-*

Ecco un esempio di output di configurazione simile.

[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

Benvenuto in U&L. Si prega di leggere il tour , fornisce alcune informazioni utili. Se si dispone di output (o codice) del programma multilinea selezionare le righe e fare clic {}per un testo più leggibile.
Anthon,

0

Forse è possibile che il tuo 10.10.118.45/24sia l'indirizzo dhcp? puoi provare a rimuovere l'indirizzo statico

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.