É possível colocar um IP real em um dispositivo de loopback?

9

É possível colocar um IP real (não na faixa 127.xxx) em um dispositivo de loopback?

Peter Smit
fonte
Sim, claro.
IPOR Sircer
3
... é claro que existe o perigo de você esquecer que esse IP existe e ter problemas de rede
atrapalhadores

Respostas:

5

Nada proíbe fazê-lo.

# ifconfig lo: 1 10.0.0.1/8 
# ifconfig lo: 1
lo: 1 Encap de link: Loopback local  
          inet addr: 10.0.0.1 Máscara: 255.0.0.0
          UP LOOPBACK EM FUNCIONAMENTO MTU: 65536 Métrico: 1
# ping -c 1 10.0.0.1    
PING 10.0.0.1 (10.0.0.1) 56 (84) bytes de dados.
64 bytes de 10.0.0.1: icmp_seq = 1 ttl = 64 time = 0.025 ms

--- 10.0.0.1 estatísticas de ping ---
1 pacotes transmitidos, 1 recebido, 0% de perda de pacotes, tempo 0ms
rtt min / média / máx / mdev = 0,025 / 0,025 / 0,025 / 0,000 ms

Atualizar:

Para que este endereço persista após uma reinicialização no Ubuntu 16.04, você pode modificar seu /etc/network/interfacesarquivo com estes ethtoolcomandos:

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
jlliagre
fonte
Isso persiste após uma reinicialização?
Peter Smit
1
Não. Melhor indicar a distribuição / SO precisa que você está usando para obter uma resposta confiável e, possivelmente, fazer uma nova pergunta ou verificar se ela ainda não foi respondida.
Jlliagre
Ubuntu 16.04 LTS
Peter Smit
Resposta atualizada.
Jlliagre
5

Como alternativa ao uso lo:0, você também pode usar dummyinterfaces no Linux, como em:

ifconfig dummy0 10.0.0.1/32
ifconfig dummy1 10.1.1.1/24

Além de outras respostas:

  • Não recomendo alterar o endereço de interface de loopback usual / oficial, pois muitas funcionalidades dependem dele;
  • no entanto, você pode ter / criar várias interfaces loopback / fictícias - lo: 0 a lo: 255 ou dummyX;
  • deve-se levar em consideração que lo: 0 a lo: 255 são aliases, enquanto dummyX são interfaces completas;
  • além disso, uma das táticas usuais no Linux para criar IPs virtuais através de BGP ou OSPF é atribuí-los a interfaces de loopback / fictícias E criar caminhos para eles via roteamento;
  • novamente, alguns daemons têm problemas em anunciar endereços em pseudônimos (por exemplo, quagga) - portanto, as interfaces dummyX são recomendadas nesses casos;
  • Eu enfatizaria que, sem roteamento na infraestrutura, esses endereços são conhecidos / capazes de serem usados ​​no servidor em questão;
  • atribuir um endereço público / privado a uma interface de loopback, sem o roteamento adequado, pode ser uma medida de baixo custo de computação para colocar em lista negra as comunicações temporariamente com um endereço / rede IP.

Para mais detalhes, consulte, por exemplo, um tutorial de configuração do BIND anycast feito com o Quagga / BIRD.

dicas de roteamento aqui: OSPF: Migrando Quagga para BIRD

O PS Linux, por padrão, cria apenas dummy0 e dummy1 e precisa ser instruído para criar um número maior de interfaces fictícias.

Rui F Ribeiro
fonte
1
Eu absolutamente vou usar isso com roteamento (estático). Existe alguma diferença real entre interfaces dummy e loopback?
Peter Smit
O @PeterSmit atribui vips ao loopback para lidar com aliases de uma interface, enquanto dummy são interfaces completas por si só. houve problemas ao usar aliases de interface com o quagga ... e eu não recomendo alterar o lo. Também acontece frequentemente que você pode / precisa associar regras do fw a uma interface real e não a um apelido.
Rui F Ribeiro
3

No atual kernel Linux com o iputilitário, é bastante simples:

ip addr add 10.0.1.8 dev lo

Isso pode ser útil quando você possui um serviço que liga uma porta a uma interface e deseja executar um programa diferente na mesma porta e rede. Eu o uso para habilitar os dois binde dnsmasqcoexistir no mesmo servidor.

Se você estiver usando /etc/network/interfacespara configurar suas interfaces, atualize a losub-rotina para incluir:

up ip addr add 10.0.1.8 dev lo
BillThor
fonte
Obrigado. Isso persistirá na reinicialização?
Peter Smit
1
@PeterSmit Improvável.
Kusalananda
1

Sim, mas isso não significa que é uma boa ideia. Se você usar um IP que jamais será acessado pelo seu sistema, todos os dados que ele tentar enviar serão redirecionados para o sistema local, o que pode causar todos os tipos de problemas de rede estranhos. Isso significa, em particular, que você não pode usar com segurança nada fora dos seguintes intervalos:

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

Com a possível exceção de qualquer um dos seguintes, depende de como suas outras interfaces de rede estão configuradas:

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

Este é um caso em que a RFC 1925 , seção 2, item 3 se aplica.

Austin Hemmelgarn
fonte
Na verdade, existem mais intervalos. No meu caso, seria na faixa 100.64.0.0/10 (Carrier Grade NAT)
Peter Smit
1
Pode haver mais, mas a maioria deles não é amplamente usada em sistemas clientes (acho que a faixa CGN provavelmente se encaixa nisso) ou eles têm usos mal definidos que muitas pessoas podem não entender (como 198.18.0.0/15, usado para benchmarking) e eu queria evitar dizer algo que talvez não fosse razoavelmente seguro.
Austin Hemmelgarn