É 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?


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

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.


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

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.