GNU/Linux >> Linux Esercitazione >  >> Linux

ip route mostra il campo src

Soluzione 1:

Quando aggiungi un instradamento a un host multihomed, potresti voler avere il controllo sull'indirizzo IP di origine da cui il tuo host sta inviando quando inizi le comunicazioni utilizzando questo instradamento. Questo è ciò che src è per.

Un breve esempio:hai un host con due interfacce e gli indirizzi IP 192.168.1.123/24 e 10.45.22.12/24. Stai aggiungendo un instradamento a 78.22.45.0/24 tramite 10.45.22.1 e vuoi assicurarti di non inviare a 78.22.45.0/24 utilizzando l'indirizzo 192.168.1.123 (forse perché la rete 78.22.45.0/24 non ha un instradamento di ritorno a 192.168.1.0/24 o perché non vuoi che il tuo traffico segua questo percorso per un motivo o per l'altro):

ip route add 78.22.45.0/24 via 10.45.22.1 src 10.45.22.12

Nota che il file src che stai dando influenzerebbe solo il traffico proveniente dal tuo stesso host. Se un pacchetto estraneo viene instradato, ovviamente avrebbe già un indirizzo IP di origine, quindi verrebbe trasmesso inalterato (a meno che tu non stia utilizzando NAT ovviamente, ma questa è una questione completamente diversa). Inoltre, questa impostazione potrebbe essere sovrascritta da un processo che sceglie specificamente di collegarsi a un indirizzo specifico invece di utilizzare le impostazioni predefinite quando si avviano le connessioni (piuttosto raro).

Soluzione 2:

Il src l'attributo è un suggerimento utilizzato dall'algoritmo di selezione dell'indirizzo . È significativo quando un host ha più indirizzi IP, che di solito, ma non sempre, è quando ha più interfacce. Mentre ci sono altre regole che influenzano la selezione dell'indirizzo, e un'applicazione di rete può anche sovrascrivere l'algoritmo di selezione usando chiamate di sistema come bind() , il src L'attributo è un modo per utilizzare una ricerca nella tabella di routing per rispondere alla domanda "Se desidero avviare una connessione all'host X, quale dei miei indirizzi devo utilizzare?"

Ecco un esempio per illustrare l'uso e l'effetto del src attributo. Per sottolineare che ciò è correlato a indirizzi e percorsi, non strettamente alle interfacce, questo host di esempio ha solo un'interfaccia di rete ma due indirizzi. Inoltre, entrambi gli indirizzi si trovano sulla stessa sottorete per sottolineare il fatto che non esiste un altro modo ovvio per scegliere quale utilizzare.

$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    inet 10.1.0.2/24 brd 10.1.0.255 scope global eth0
    inet 10.1.0.16/24 scope global secondary eth0
$ ip route list dev eth0
10.1.0.32/27  scope link  src 10.1.0.16
10.1.0.0/24  proto kernel  scope link  src 10.1.0.2

Questo host può comunicare con uno qualsiasi degli altri 252 indirizzi su questa sottorete /24 da entrambi gli indirizzi, ma per impostazione predefinita utilizzerà 10.1.0.16 quando avvierà una connessione con 10.1.0.32 fino a 10.1.0.63 e utilizzerà 10.1.0.2 per tutto il resto.

Se l'host sta rispondendo, invece di iniziare, risponderà dall'indirizzo di destinazione della richiesta. Ad esempio, se un altro host su 10.1.0.32 si connette a questo host su 10.1.0.2, la risposta arriverà da 10.1.0.2 anche se non corrisponde a src attributo della rotta di ritorno.


Linux
  1. Curl mostra solo il tipo di contenuto

  2. Separatore di campo predefinito per awk

  3. Modifica della voce di percorso esistente in Linux

  4. Come ordinare questo output 1,10,11..2

  5. Comando di ricerca di Linux:mostra l'avanzamento

Come aggiungere route su Linux

Come mostrare file nascosti su Linux

Mostra file nascosti

route Esempi di comandi in Linux

Come mostrare i numeri di riga in Gedit

Linux Ping:mostra il timeout