FreeBSD (también OS X, y creo que NetBSD y OpenBSD) responderán a las solicitudes enviadas a las direcciones configuradas en la interfaz de bucle invertido, tal como lo harían para las direcciones en cualquier otra interfaz. Si desea una respuesta, primero debe asignar la dirección :
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 la lógica detrás de esta implementación, vea RFC 3330 :
127.0.0.0/8: este bloque se asigna para su uso como
dirección de bucle invertido de host de Internet . Un datagrama enviado por un protocolo de nivel superior a una
dirección en cualquier lugar dentro de este bloque debe regresar dentro del host.
Esto normalmente se implementa utilizando solo 127.0.0.1/32 para loopback ,
pero ninguna dirección dentro de este bloque debe aparecer en ninguna red en ningún
lugar [ RFC1700 , página 5].
(énfasis mío)
Linux y Windows están siendo "útiles" aquí, sin embargo, desde mi silla, responder una solicitud que se envió a una dirección no asignada a este host no es un comportamiento correcto ...
Es contrarrestar la tendencia. No tenga a mano un cuadro de FreeBSD para confirmar si es FreeBSD o su configuración.
El RFC dice 127.0.0.1/24, por lo que debería responder.
fuente
localhost
, pero podría usar 127.32 .194.75 en su propia implementación del sistema operativo si lo desea. (Si lo hace, puede sin embargo conseguir que linchados por los administradores de sistemas de ira ...)La pregunta está completamente respondida sobre tres veces por ahora, así que solo quería agregar algunos centavos.
Tenga en cuenta que durante bastante tiempo la configuración predeterminada de ipfw descarta este tipo de paquetes:
así que con el firewall habilitado en lugar de
podrías obtener
PD. De hecho, puede haber un servidor construido sin
INET
(soporte de IPv4) y no tendrá incluso127.0.0.1
=)fuente