FreeBSD (także OS X i wierzę, że NetBSD i OpenBSD) będzie odpowiadać na żądania wysyłane na skonfigurowane adresy w interfejsie sprzężenia zwrotnego, tak jak w przypadku adresów na dowolnym innym interfejsie - jeśli chcesz uzyskać odpowiedź, najpierw musisz przypisać adres :
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
Logikę tej implementacji można znaleźć w RFC 3330 :
127.0.0.0/8 - Blok ten jest przypisany do użycia jako
adres zwrotny hosta internetowego . Datagram wysłany przez protokół wyższego poziomu na
adres w dowolnym miejscu tego bloku powinien zapętlić się z powrotem w hoście.
Zwykle jest to realizowane za pomocą tylko 127.0.0.1/32 dla pętli zwrotnej ,
ale żadne adresy w tym bloku nigdy nie powinny pojawiać się w żadnej sieci w
dowolnym miejscu [ RFC1700 , strona 5].
(moje podkreślenie)
Linux i Windows są tutaj „pomocne”, jednak moje krzesło odpowiada na prośbę wysłaną na adres nieprzypisany do tego hosta nie jest poprawnym zachowaniem ...
Przełamuje trend. Nie masz pod ręką pudełka FreeBSD, aby potwierdzić, czy jest to FreeBSD, czy twoja konfiguracja.
RFC mówi 127.0.0.1/24 - więc powinno odpowiadać.
źródło
localhost
, ale można użyć 127.32 .194.75 we własnej implementacji systemu operacyjnego, jeśli chcesz. (Może to jednak doprowadzić do zlinczowania przez gniewnych administratorów…)Odpowiedź na pytanie jest w tej chwili wyczerpana trzy razy, więc chciałem tylko dodać kilka centów.
Zauważ, że od dłuższego czasu domyślna konfiguracja ipfw upuszcza tego rodzaju pakiety:
więc z włączoną zaporą ogniową zamiast
możesz dostać
PS. Oczywiście można zbudować serwer bez
INET
(obsługa IPv4) i nie będziesz mieć nawet127.0.0.1
=)źródło