首页 > 代码库 > mac系统不能使用127.0.0.2的解决方案

mac系统不能使用127.0.0.2的解决方案

英语学得不好,国外这位大神的精彩解释不是特能看的懂。我模仿的试了一下。

解决方案:

1.打开mac终端

2.输入:sudo ifconfig lo0 alias 127.1.1.1 netmask 0xFFFFFFFF

3.浏览器测试。

(如果是127.0.0.2)应该就是:sudo ifconfig lo0 alias 127.0.0.2 netmask 0xFFFFFFFF

 

 

大神给予的解释:

FreeBSD (also OS X, and I believe NetBSD & OpenBSD) will respond to requests sent to configuredaddresses on the loopback interface, just as they would for addresses on any other interface -- If you want an answer you need to assign the address first:

mgraziano@monitor ~]$ ifconfig lo0lo0: 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.1PING 127.1.1.1 (127.1.1.1): 56 data bytesping: sendto: Can‘t assign requested address^C[mgraziano@monitor ~]$ sudo ifconfig lo0 alias 127.1.1.1 netmask 0xFFFFFFFF[mgraziano@monitor ~]$ ifconfig lo0lo0: 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.1PING 127.1.1.1 (127.1.1.1): 56 data bytes64 bytes from 127.1.1.1: icmp_seq=0 ttl=64 time=0.020 ms^COn the logic behind this implementation, see RFC 3330:127.0.0.0/8 - This block is assigned for use as the Internet hostloopback address. A datagram sent by a higher level protocol to anaddress anywhere within this block should loop back inside the host.This is ordinarily implemented using only 127.0.0.1/32 for loopback,but no addresses within this block should ever appear on any networkanywhere [RFC1700, page 5].

 

 

来自国外:http://serverfault.com/questions/293874/why-cant-i-ping-an-address-on-the-loopback-device-under-freebsd