只有专用IP的服务器没有Internet访问权限

我有两台服务器(在Linode的VPS),其中一个(db)只有一个静态私有IP,所以我需要通过另一个(networking)访问它。 现在,工作正常,但我发现,我无法从数据库服务器访问互联网上的任何东西…并运行一些更新现在是好的:)

config / etc / network / interfaces是

auto lo iface lo inet loopback auto eth0 iface eth0 inet static address (private IP) netmask (netmask) 

数据库服务器不能访问因特网,因为它在同一个专用局域网上? 我需要改变什么?

数据库服务器需要一个网关,并且该网关需要处理私有IP地址和它用来访问互联网的“真实”IP地址之间的任何NAT。

在数据库服务器端,对于你的configuration代码片段,你需要添加

  gateway (gateway) 

eth0的addressnetmask后。 如果Linode没有提供已经为此设置的网关,那么你可能会使用其他服务器的内部地址作为网关,然后设置你的另一台服务器进行Masquerading ,这允许它与其他计算机共享连接。

您需要确保您的子网上的路由器configuration为为您的IP运行NAT(或伪装)。

什么是您的第二台服务器上的默认网关? 你能ping那个IP吗? 如果您可以ping通网关,但不能在外面,那么这是网关上的configuration问题,您可能需要与您的提供商交谈。

Linode为每个实例提供一个公共地址。 对于您的数据库实例,login到您的Linode帐户,然后单击该实例,然后检查networking选项卡(我想,我从内存中这样做)。 如果你想让数据库有互联网访问权限,把公共地址设置为eth0,这个入口将有一个名为DerfK的网关。 在eth1上设置私有地址。 然后你应该仍然可以访问你的networking服务器在私人networking上的数据库,并在公共networking上访问互联网。