我已经安装了 qemu/kvm 并尝试创建一些虚拟机并将它们联网。
我想要实现的是 2-3 台虚拟机在它们自己的私有网络中(例如 10.0.0.0/24),所有机器都应该能够访问外部网络,但只有 1 台机器应该获得可从外部访问的 IP。
External Network
. +-----------------+
| | VM 1 |
| +--| IP: 10.0.0.11 |
+-----------------+ | | IP: 82.130.y.y |
| Host |--| +-----------------+
| IP: 82.130.x.x | |
+-----------------+ | +-----------------+
|--| VM 2 |
| | IP: 10.0.0.12 |
| +-----------------+
|
| +-----------------+
+--| VM 3 |
| IP: 10.0.0.13 |
+-----------------+
我尝试添加br0
-bridgebrctl
并用 桥接它eth0
,但是这也会将我的主机的名称服务器设置为 192.168.1.1 并使其无法访问。
我该如何进行配置?
我当前的设置:
名称服务器:
# /etc/resolv.conf
domain kyla.fi
search kyla.fi
nameserver 82.130.0.1
nameserver 82.130.63.1
接口和 IP 地址:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether f4:6d:04:71:c4:1f brd ff:ff:ff:ff:ff:ff
inet 82.130.x.x/26 brd 82.130.x.255 scope global eth0
valid_lft forever preferred_lft forever
编辑:
添加了以下配置br0
:
# The primary network interface
#auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
刚刚virbr0
失踪
答案1
你需要二网络,而不只是一个。连接到两个网络的虚拟机必须具有两个虚拟网卡,每个虚拟网卡连接到其中一个网络。
External Network
. +-----------------+
| br0 | VM 1 |
| +--| IP: 82.130.y.y |
+-----------------+ | | IP: 10.0.0.11 |--+
| Host |--+ +-----------------+ |
| IP: 82.130.x.x | |
+-----------------+ +-----------------+ |
| VM 2 | |
| IP: 10.0.0.12 |--+ virbr1
+-----------------+ |
|
+-----------------+ |
| VM 3 | |
| IP: 10.0.0.13 |--+
+-----------------+
创建一个新的virsh 或 virt-manager 中的虚拟网络作为具有您希望的私有 IP 范围的隔离网络。
答案2
VM 1 不需要两个 NIC。我建议将 10.0.0.0/24 配置为“路由网络”,然后将路由器配置为通过 82.130.xx(主机的 IP)路由 10.0.0.0/24,并在主机中配置防火墙规则以允许目的地为 10.0.0.11 的传入数据包,然后阻止目的地为 10.0.0.0/24 的其余传入数据包。
如果要保留两个 NIC,您仍然必须将路由器配置为通过 82.130.xx 路由 82.130.yy,并且必须将 10.0.0.0/24 配置为“natted 网络”。
查看维基百科: