O FreeBSD (também OS X, e acredito que o NetBSD e o OpenBSD) responderá às solicitações enviadas aos endereços configurados na interface de loopback, da mesma forma que responderiam a endereços em qualquer outra interface - Se você deseja uma resposta, precisa atribuir o endereço primeiro :
mgraziano@monitor ~]$ ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
[mgraziano@monitor ~]$ ping 127.1.1.1
PING 127.1.1.1 (127.1.1.1): 56 data bytes
ping: sendto: Can't assign requested address
^C
[mgraziano@monitor ~]$ sudo ifconfig lo0 alias 127.1.1.1 netmask 0xFFFFFFFF
[mgraziano@monitor ~]$ ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
inet 127.1.1.1 netmask 0xffffffff
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
[mgraziano@monitor ~]$ ping 127.1.1.1
PING 127.1.1.1 (127.1.1.1): 56 data bytes
64 bytes from 127.1.1.1: icmp_seq=0 ttl=64 time=0.020 ms
^C
Sobre a lógica por trás dessa implementação, consulte RFC 3330 :
127.0.0.0/8 - Este bloco é atribuído 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 retornar dentro do host.
Isso geralmente é implementado usando apenas 127.0.0.1/32 para loopback ,
mas nenhum endereço dentro deste bloco deve aparecer em nenhuma rede em qualquer
lugar [ RFC1700 , página 5].
(ênfase minha)
Linux e Windows estão sendo "úteis" aqui, no entanto, da minha cadeira, respondendo a uma solicitação que foi enviada para um endereço não atribuído a este host, não é um comportamento correto ...
Está contrariando a tendência. Não tenha uma caixa do FreeBSD à mão para confirmar se é FreeBSD ou sua configuração.
O RFC diz 127.0.0.1/24 - então deve estar respondendo.
fonte
localhost
, mas você pode usar 127.32 .194.75 na sua própria implementação do sistema operacional, se você quiser. (Isto pode no entanto se você linchado por administradores de sistemas irritados ...)A questão está totalmente respondida cerca de três vezes até agora, então eu queria apenas adicionar alguns centavos.
Note que por algum tempo a configuração padrão do ipfw deixa cair este tipo de pacotes:
assim, com firewall ativado em vez de
Você pode conseguir
PS. Por uma causa, pode haver servidor construído sem
INET
(suporte IPv4) e você não terá nem127.0.0.1
=)fonte