为 NAT 后面的服务器上托管的虚拟机分配公共 IP 地址

为 NAT 后面的服务器上托管的虚拟机分配公共 IP 地址

我有一组公共 IP 地址(95.xxx.xxx.196 - 254)。我还有一台托管 KVM 机器的服务器。它有一个私有 IP 地址 10.0.0.1,该地址由路由器 NAT 为 95.xxx.xxx.200 地址,因此可以使用这个公共 IP 访问互联网。

托管在其上的虚拟机以相同的方式路由 - 我的 MikroTik 路由器将 10.0.0.xxx 地址绑定到 95.xxx.xxx.xxx 并且它可以正常工作(这意味着我可以从 Internet 访问我的虚拟机)。现在我想直接为其中一个虚拟机分配一个公共 IP。它需要像托管在 OVH 上的 VPS 那样工作 - 您通过 SSH 登录服务器并运行,ip -a只显示一个具有公共 IP 的接口 - 如何使用 KVM 实现相同的功能?

我尝试为虚拟机分配一个外部 IP 地址,并将网关设置为主机内部 IP,但没有成功。没有人可以 ping 通它,包括主机。

如何设置 KVM、主机服务器和路由器以便为虚拟机分配公共 IP(如同在 VPS 上)?

答案1

问题在于,您通过主机为来自虚拟机的数据包定义了一条路由,但没有从互联网到虚拟机 IP 地址的相应路由。

您有两个选择:

  1. 将 MikroTik 设置为桥梁,以便内部网络和面向互联网的网络都具有公共互联网地址。这意味着您需要另一个设置来为虚拟机提供私有地址。

  2. 告诉您的 ISP 通过您的主机的 IP 地址路由发往 VM 的数据包。

相关内容