È possibile inserire un IP reale su un dispositivo di loopback?


9

È possibile inserire un IP reale (non compreso nell'intervallo 127.xxx) su un dispositivo loopback?


Sì, naturalmente.
Ipor Sircer,

3
... ovviamente c'è il pericolo che tu dimentichi che questo IP è lì e poi hai problemi di rete che graffiano la testa poiché i pacchetti non vanno all'indirizzo IP pubblico previsto ...
thrig

Risposte:


5

Niente vieta di farlo.

# ifconfig lo: 1 10.0.0.1/8 
# ifconfig lo: 1
lo: 1 Link encap: Local Loopback  
          inet addr: 10.0.0.1 Maschera: 255.0.0.0
          UP LOOPBACK RUNNING MTU: 65536 Metrico: 1
# ping -c 1 10.0.0.1    
PING 10.0.0.1 (10.0.0.1) 56 (84) byte di dati.
64 byte da 10.0.0.1: icmp_seq = 1 ttl = 64 tempo = 0,025 ms

--- 10.0.0.1 statistiche del ping ---
1 pacchetti trasmessi, 1 ricevuto, 0% perdita pacchetti, tempo 0ms
rtt min / avg / max / mdev = 0,025 / 0,025 / 0,025 / 0,000 ms

Aggiornare:

Affinché questo indirizzo persista dopo un riavvio su Ubuntu 16.04, è possibile modificare il /etc/network/interfacesfile con questi ethtoolcomandi:

auto lo lo:1

iface lo inet loopback

iface lo:1 inet static
  address 10.0.0.1
  network 10.0.0.0
  netmask 255.0.0.0

Questo persiste dopo un riavvio?
Peter Smit,

1
No. Meglio dichiarare il sistema operativo / distribuzione preciso che si sta utilizzando per ottenere una risposta affidabile, e possibilmente porre una nuova domanda o verificare se non ha già ricevuto risposta.
jlliagre,

Ubuntu 16.04 LTS
Peter Smit,

Risposta aggiornata
jlliagre,

5

In alternativa all'utilizzo lo:0, è anche possibile utilizzare le dummyinterfacce in Linux come in:

ifconfig dummy0 10.0.0.1/32
ifconfig dummy1 10.1.1.1/24

Oltre alle altre risposte:

  • Non consiglio di cambiare l'indirizzo dell'interfaccia di loopback normale / ufficiale poiché molte funzionalità dipendono da esso;
  • tuttavia, è possibile avere / creare diverse interfacce loopback / dummy - da lo: 0 a lo: 255 o dummyX;
  • si deve tener conto del fatto che da lo: 0 a lo: 255 sono alias, mentre dummyX sono interfacce complete;
  • inoltre, una delle solite tattiche in Linux per la creazione di IP virtuali su BGP o OSPF è assegnarli a interfacce loopback / fittizie E creare percorsi tramite routing;
  • di nuovo, alcuni demoni hanno problemi con l'annuncio di indirizzi negli alias (ad esempio, quagga) - quindi in questi casi si consigliano interfacce dummyX;
  • Sottolineo che senza l'instradamento nell'infrastruttura, tali indirizzi sono noti / possono essere utilizzati solo nel server in questione;
  • l'assegnazione di un indirizzo privato / pubblico a un'interfaccia di loopback, senza il corretto instradamento può essere una misura di basso costo di calcolo per inserire nella lista nera le comunicazioni temporaneamente con un indirizzo IP / rete.

Per maggiori dettagli, vedi ad esempio un'esercitazione sulla configurazione di anycast BIND eseguita con Quagga / BIRD.

indizi di routing qui: OSPF: migrazione di Quagga a BIRD

PS Linux di default crea solo dummy0 e dummy1 e deve essere istruito a creare un numero maggiore di interfacce fittizie.


1
Lo userò assolutamente con il routing (statico). C'è qualche vera differenza tra interfacce fittizie e loopback?
Peter Smit,

@PeterSmit assegna i vips al loopback per gestire gli alias di un'interfaccia, mentre i fittizi sono interfacce complete a sé stanti. ci sono stati problemi con l'utilizzo degli alias di interfaccia con quagga ... e non consiglio di cambiare lo. Succede spesso anche che tu possa / debba associare regole fw con un'interfaccia reale e non un alias.
Rui F Ribeiro,

3

Nell'attuale kernel Linux con l' iputilità è abbastanza semplice:

ip addr add 10.0.1.8 dev lo

Questo può essere utile quando si dispone di un servizio che collega una porta su un'interfaccia e si desidera eseguire un programma diverso sulla stessa porta e rete. Lo uso per abilitare entrambi binde dnsmasqcoesistere sullo stesso server.

Se si utilizza /etc/network/interfacesper configurare le interfacce, aggiornare la lostanza per includere:

up ip addr add 10.0.1.8 dev lo

Grazie. Questo persisterà il riavvio?
Peter Smit,

1
@PeterSmit Improbabile.
Kusalananda

1

Sì, ma ciò non significa che sia una buona idea. Se usi un IP a cui il tuo sistema accederà mai, tutti i dati che tenta di inviare verranno reindirizzati al sistema locale, il che può causare tutti i tipi di problemi di rete dispari. Ciò significa in particolare che non è possibile utilizzare in modo sicuro nulla al di fuori dei seguenti intervalli:

127.0.0.0/8
192.0.2.0/24
198.51.100.0/24
203.0.113.0/24
240.0.0.0/4

Con la possibile eccezione di una delle seguenti dipendenze dalla configurazione delle altre interfacce di rete:

10.0.0.0/8
192.168.0.0/16
172.16.0.0/12
169.254.0.0/16

Questo è un caso in cui si applica RFC 1925 , sezione 2, punto 3.


In realtà, ci sono più intervalli. Nel mio caso, sarebbe compreso nell'intervallo 100.64.0.0/10 (Carrier Grade NAT)
Peter Smit,

1
Potrebbero essercene di più, ma la maggior parte di essi non è ampiamente utilizzata sui sistemi client (penso che la gamma CGN probabilmente si adatti a questo), o hanno usi mal definiti che molte persone potrebbero non capire (come 198.18.0.0/15, usati per benchmarking), e volevo evitare di dire che qualcosa che potrebbe non essere ragionevolmente sicuro era effettivamente sicuro.
Austin Hemmelgarn,
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.