Hetzner VPS上不能使用外部IP

我最近在Hetzner上更改了我的虚拟服务器模型。 新的有一个外部的IPv4地址,它可以从互联网上访问(它应该)。 但是我不能在configuration中使用这个外部IP: iptables规则没有任何作用, openvpn服务器不能使用这个IP等任何端口绑定一个监听器。我发现一个“本地”IP地址( 172.31.xx )在ifconfig输出,如果我在configuration中使用它,一切都像一个魅力。

在我的旧服务器上,我可以在任何地方使用它。 所以我只是想知道:为什么外部IP不能用于我的新服务器? 操作系统是Ubuntu 15.04

Hetzner已经停止将公有IPv4地址分配给虚拟服务器。 据我所知,当他们将产品名称从VQ更改为CX时,发生了这种变化。 产品说明中没有提到NAT的用法。

2012年和2013年订购的虚拟服务器今天仍然拥有自己的公用IPv4地址。 但2016年订购的虚拟服务器只有RFC1918地址,Hetzner不会将公有IPv4地址路由到这样的虚拟服务器。

他们仍然为每个虚拟服务器分配一个专用的公用IPv4地址,这些虚拟服务器将NAT分配给指定的RFC1918地址。 Hetzner认为这不是一个问题,因为它是1:1的NAT。

正如您发现的那样,在configuration服务器时这很容易出错。 你必须知道这个NAT。 每当你configuration一些东西的时候,你必须查看映射。 对于我们在这种configuration中获得的第一台虚拟服务器,由于这个原因,它在前两天被错误地configuration了两次。

任何依靠了解公共IPv4地址的软件将会中断或需要特殊configuration。 此外,一些VPN和IP隧道可能会有问题,因为隧道传输的数据包不会被NAT。

如果您已经确定这些潜在的问题不会影响您的预期用途,并且如果您在进行configuration更改时必须考虑到公共地址和专用地址之间的映射,那么您可以接受这种情况。

但是请注意,大多数NAT实现是有状态的。 如果NAT确实是有状态的,那么当状态丢失时,您可能会遇到TCP连接中断。

我不知道Hetzner使用的NAT是有状态的还是无状态的。 testing状态的最明显的方法是build立隧道连接,并build立TCP连接后closures隧道。 唉这种隧道正是无法正常工作,所以为了执行这个实验,我们必须首先复制1:1的NATconfiguration。 我没有尝试这个相当复杂的实验。

这些是你有的select:

  • 接受你的stream量将通过1:1的NAT,带来的缺点。
  • 在IPv6上做所有重要的stream量 – 就像Hetzner在没有NAT的情况下正确路由IPv6stream量一样。
  • 切换到一个专用的服务器(假设这些服务器仍然有一个公共的IPv4地址,这是很难弄清楚的,因为在产品描述中没有提到NAT的使用)。
  • 切换到另一个提供者。

当你从Hetzner租用的时候,我想你是德语的,所以inheritance人直接从Hetzner的支持wiki中得到答案:

Warm帽子meine VM die IP 172.31.1.100?

或者auch:

Warm帽子meine VM eine andere IP als im机器人angegeben?

虚拟主机虚拟机是否是私有IP?

Bei den CX Modellen ist die IPv4-Adresse im vServer eine private IP,die 1:1 per NAT auf dieöffentlicheIPv4 Adresse umgesetzt wird。 Aktuell ist die private IP bei allen gleich:172.31.1.100。 Hetzner Robot angezeigt。

英文 :

为什么我的虚拟机有IP 172.31.1.100?

还有:

为什么我的虚拟机具有与机器人中显示的IP不同的IP?

为什么我的虚拟机具有私有IP?

在CX模式下,虚拟服务器的IPv4地址是一个私有IP,在公网IP上通过NATconfiguration为1:1。 目前所有的私有IP是相同的:172.31.1.100。 公共IP显示在机器人上。