首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用libvirt创建虚拟网络?

如何使用libvirt创建虚拟网络?
EN

Server Fault用户
提问于 2016-02-09 03:15:23
回答 2查看 5.3K关注 0票数 1

我安装了qemu/kvm,并尝试创建一些虚拟机并将它们连接在一起。

我想要实现的是2-3台虚拟机在它们自己的专用网络中(例如10.0.0.0/24),所有机器都应该能够访问外部网络,但是只有一台机器可以从外部访问IP。

代码语言:javascript
复制
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-bridge添加brctl,并将其与eth0连接起来,但这也将主机的名称服务器设置为192.168.1.1,使其不可访问。

我应该如何进行配置?

我的当前设置:

名称服务器:

代码语言:javascript
复制
# /etc/resolv.conf 
domain kyla.fi
search kyla.fi
nameserver 82.130.0.1
nameserver 82.130.63.1

接口和IP地址:

代码语言:javascript
复制
# 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__添加了配置:

代码语言:javascript
复制
# 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失踪了

EN

回答 2

Server Fault用户

发布于 2016-02-09 03:20:31

你需要两个网络,而不仅仅是一个。连接到两个网络的VM必须具有两个虚拟NIC,每个虚拟NIC都连接到其中一个网络。

代码语言:javascript
复制
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管理器中创建一个新的虚拟网络,作为一个具有您希望的私有IP范围的孤立网络。

票数 0
EN

Server Fault用户

发布于 2019-06-15 21:34:07

VM 1不需要有两个NIC。我建议将10.0.0.0/24配置为“路由网络”,然后将路由器配置为通过82.130.x.x (主机的IP)路由10.0.0.0/24,并在主机中配置防火墙规则,允许目的地10.0.0.11的传入数据包进入,然后阻止目的地10.0.0.0/24的剩余传入数据包。

如果要保留两个NIC,仍然必须将路由器配置为通过82.130.x.x路由82.130.y.y,而10.0.0.0/24必须配置为“want网络”。

查看wiki:

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/754883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档