通过另一台虚拟机为私有网络中的虚拟机提供互联网访问

通过另一台虚拟机为私有网络中的虚拟机提供互联网访问

我已经使用 vagrant 定义了 2 个 VMS(FW 和服务器)。

  • FW 有 2 个网卡:1 个公共网络,IP 来自我的 LAN;1 个私有网络
  • 服务器有 1 个网卡:专用网络。

我正在尝试从 FW 向服务器提供互联网访问,但没有成功,我不知道我做错了什么。

这是 Vagrant 文件:

 # -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/focal64"
  config.vm.define "fw" do |fw|
    fw.vm.hostname = "FW"
    fw.vm.network "public_network", bridge: "wlp0s20f3", ip: "192.168.1.254", netmask: "255.255.255.0"
    fw.vm.network "private_network", ip: "192.168.56.254", netmask: "255.255.255.0"
    fw.vm.provision "shell", run: "always", inline: "ip route del default"
    fw.vm.provision "shell", run: "always", inline: "ip route add default via 192.168.1.1"
    fw.vm.provider "virtualbox" do |vb|
      vb.name = "FW"
      vb.gui = false
      vb.memory = "1024"
      vb.cpus = 1
      vb.linked_clone = true
      vb.customize ["modifyvm", :id, "--groups", "/FW-Server"]
    end
  end

  config.vm.define "server" do |server|
    server.vm.hostname = "server"
    server.vm.network "private_network", ip: "192.168.56.253", netmask: "255.255.255.0"
    server.vm.provision "shell", run: "always", inline: "ip route del default"
    server.vm.provision "shell", run: "always", inline: "ip route add default via 192.168.56.254"
    server.vm.provider "virtualbox" do |vb|
      vb.name = "server"
      vb.gui = false
      vb.memory = "1024"
      vb.cpus = 2
      vb.linked_clone = true
      vb.customize ["modifyvm", :id, "--groups", "/FW-Server"]
    end
  end
end

提前致谢

答案1

通过另一台虚拟机为私有网络中的虚拟机提供互联网访问

您的第二台虚拟机必须拥有自己的互联网(来自主机的 USB NIC 直通)。

然后,由于虚拟机通常是 NAT,您需要研究第一台机器如何连接到第二台机器,以便在第一台机器上进行浏览。

通常,桥接网络在这里更好,但由于机器 B 有自己的互联网(USB 直通),因此该技术不起作用。

如果机器可以从主机获取互联网,那么将会容易得多。

我跨机器和不同的子网连接虚拟机,所以这应该是可行的。一旦您连接了机器,您就应该能够共享互联网。

连接就是网络:网络发现、文件/打印共享、密码保护共享。

相关内容