我已经使用 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 直通),因此该技术不起作用。
如果机器可以从主机获取互联网,那么将会容易得多。
我跨机器和不同的子网连接虚拟机,所以这应该是可行的。一旦您连接了机器,您就应该能够共享互联网。
连接就是网络:网络发现、文件/打印共享、密码保护共享。