Como você obtém endereços de loopback diferentes de 127.0.0.1 para funcionar no OS X

40

De acordo com tudo que eu li, toda a sub-rede 127.x.x.x deve fazer um loopback.

No entanto, no meu Mac, só posso fazer o ping 127.0.0.1

Eu sei que já fiz isso antes (embora possivelmente em outro sistema operacional) e tenha sido muito útil para desenvolver vários sites SSL localmente e para encapsulamento de serviços remotos para acesso em um IP local (por exemplo, eu poderia ssh em meu MySQL servidor, e apenas porta encaminhar a porta padrão para a mesma porta na minha máquina local, mas em 127.0.0.2 enquanto o meu servidor local correu em 127.0.0.1.

    
por elliotbetancourt 08.08.2012 / 01:03

2 respostas

57

Aqui está a resposta curta: sudo ifconfig lo0 alias 127.0.0.* up

Cada alias deve ser adicionado individualmente ( sudo ifconfig lo0 alias 127.0.0.2 up , sudo ifconfig lo0 alias 127.0.0.3 up ). Isso pode ser feito manualmente para testes, ou um subconjunto ou a lista completa dos outros 250 números disponíveis nessa sub-rede podem ser feitos no script StartupItems, que fará isso automaticamente no momento da inicialização.

A resposta longa: De acordo com a RFC3330, 127.0.0.0/8 - Este bloco é designado para uso como o endereço de loopback do host da Internet. Um datagrama enviado por um protocolo de nível superior para um endereço em qualquer lugar dentro desse bloco deve fazer um loop dentro do host. Isso é normalmente implementado usando apenas 127.0.0.1/32 para loopback, mas nenhum endereço dentro deste bloco deve aparecer em qualquer rede em qualquer lugar.

    
por 08.08.2012 / 01:05
10

Para os interessados, aqui está um pequeno script bash que adiciona todos os aliases para os IPs 127.0.0. *:

#!/bin/bash
for ((i=2;i<256;i++))
do
    sudo ifconfig lo0 alias 127.0.0.$i up
done
    
por 22.08.2013 / 16:48