服务绑定到 127.0.0.2,但在 127.0.0.1 上无响应

服务绑定到 127.0.0.2,但在 127.0.0.1 上无响应

我有一个 OpenVZ 主机,并在其上运行多个服务(mongodb、bitcoind)。我只想在本地连接到它们。它们似乎都绑定到 127.0.0.2 - 接口venet。当我尝试访问 127.0.0.1(客户端的默认设置)上的服务时,我没有得到任何响应。但是,在 127.0.0.2 上连接工作正常。我没有意识到两者之间可能存在差异。这里发生了什么?

以下是 ifconfig 的输出:

lo    Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:199957 errors:0 dropped:0 overruns:0 frame:0
      TX packets:199957 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:15822725 (15.8 MB)  TX bytes:15822725 (15.8 MB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
      inet6 addr: 2a00:1dc0:2003::adb9:ca98/128 Scope:Global
      inet6 addr: 2a00:1dc0:2003::a59d:5802/128 Scope:Global
      inet6 addr: 2a00:1dc0:2003::8d9f:638b/128 Scope:Global
      inet6 addr: 2a00:1dc0:2003::8638:9f63/128 Scope:Global
      inet6 addr: 2a00:1dc0:2003::daef:a10a/128 Scope:Global
      inet6 addr: 2a00:1dc0:2003::92b9:5c2a/128 Scope:Global
      UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
      RX packets:389890 errors:0 dropped:0 overruns:0 frame:0
      TX packets:341645 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:367108643 (367.1 MB)  TX bytes:98312087 (98.3 MB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:178.17.169.91  P-t-P:178.17.169.91  Bcast:178.17.169.91  Mask:255.255.255.255
      UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

这是我的 /etc/hosts 文件:

fe00::0     ip6-localnet
ff00::0     ip6-mcastprefix
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters

127.0.0.2 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
178.17.169.91 btslots.com  btslots
::1     localhost ip6-localhost ip6-loopback

我更改了 localhost 以使其指向 127.0.0.2。令我惊讶的是,127.0.0.1/8 子网中的两个地址可能会产生不同的结果。除 127.0.0.1 之外的所有地址都表现相同(并且符合预期)。

答案1

在 127.0.0.0/8 子网下拥有多个不同的环回设备并不罕见。例如,您可以在FreeBSD 监狱设置以隔离到特定监狱的环回流量。

127.0.0.0/8 是一个子网,与其他子网一样(不同之处在于发往该子网的流量应该“环形”在主机内部,当 127.0.0.1 和 127.0.0.2 绑定到两个不同的接口时,它们是不同的目的地。

相关内容