![如何在家庭网络上的物理 Ubuntu 服务器上激活 IPv4 地址?](https://linux22.com/image/1065704/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%AE%B6%E5%BA%AD%E7%BD%91%E7%BB%9C%E4%B8%8A%E7%9A%84%E7%89%A9%E7%90%86%20Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%BF%80%E6%B4%BB%20IPv4%20%E5%9C%B0%E5%9D%80%EF%BC%9F.png)
我的研究小组有一个多计算节点 HPC,运行 ubuntu server 14.04.5,托管在家庭地址(ISP 是 Comcast Xfinity)。在内部,我们只使用其中一个计算节点。该机器可以同时 ping IPv4 和 IPv6 网络,因此 ISP 似乎正在运行双栈,如果我没有记错的话,应该同时分配 IPv4 和 IPv6 地址。IPv6 地址可用,我们一直在使用,但公共 IPv4 地址未正确激活或分配。我们一直在使用miredo
(Teredo 隧道服务),但这要求我们 (1) 在 IPv6 网络上或 (2) 远程使用 Teredo 隧道(例如miredo
在远程 Linux 机器上使用或使用隧道代理服务)。理想情况下,我们希望配置机器/网络,以便 IPv4 地址也已分配并可以使用(例如,当 IPv6 网络不可用时,从 IPv4 网络上的远程 Windows 机器)。
使用ifconfig
,以下是em3
(由于某种原因不是 eth0?)的行:
inet addr:10.0.1.27 Bcast:10.0.1.255 Mask:255.255.255.0
这看起来像是路由器分配的(本地)地址。如果我运行以下命令,我做接收一个面向公众的 IPv4 地址 - 因此看起来 ISP 正在提供一个:
$ curl -4 icanhazip.com
以下是该文件的内容/etc/network/interfaces
:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto em3
iface em3 inet dhcp
# This is an autoconfigured IPv6 interface
iface em3 inet6 auto
通过搜索帮助论坛,我猜测可能是家用路由器没有正确提供 IP 地址,或者机器本身没有正确接收/配置地址。运行服务器的个人无法解决此问题。有什么想法吗?我很乐意根据需要提供更多信息 - 我知道我提供的信息非常有限。有什么工具或命令可以帮助我诊断问题吗?
谢谢
相关问题:
如何将 Ubuntu Server 设置为 ipv4 网络地址以下是类似情况的虚拟服务器示例。静态分配 IPv4 地址似乎不是正确的解决方案。
在双栈 (IPv4/IPv6) 网络中,Ubuntu 上无法配置 IPv4Require IPv4 addressing for this connection to complete
也许这有关系? Ubuntu Server 上有类似的东西吗?
如何获取在虚拟盒中与 IPv6 一起运行的 ubuntu 服务器的 IPv4 地址?另一个虚拟盒子。解决方案有很多命令,但我不确定。禁用 IPv6 似乎也不是一个好的解决方案。
答案1
通过搜索帮助论坛,我得出的最佳猜测是,要么是家庭路由器没有正确提供 IP 地址,要么是机器本身没有正确接收/配置地址。
您发布的 IP(10.0.1.27
)是 RFC1918 地址,通常称为私有 IP。它们通常用于 NAT。
您的计算机前面有一个执行 NAT 的路由器,这解释了这种行为。要在 Linux 机器上获取公共 IP,您必须关闭路由器的 NAT 功能。有关此操作的说明,请参阅路由器手册。
或者,您可以使用端口转发将流量转发到相关的机器。