如何在家庭网络上的物理 Ubuntu 服务器上激活 IPv4 地址?

如何在家庭网络上的物理 Ubuntu 服务器上激活 IPv4 地址?

我的研究小组有一个多计算节点 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 功能。有关此操作的说明,请参阅路由器手册。

或者,您可以使用端口转发将流量转发到相关的机器。

相关内容