使用openvswitch 和dnsmasq来实现虚拟机网络隔离
openvswicth : 开源的网络虚拟化软件,可以划分vlan隔离虚拟机,做流量控制
dnsmasq:小心的dns,dhcp服务器
安装openvswicth
wget http://openvswitch.org/releases/openvswitch-2.5.0.tar.gz
编译成rpm包安装
yum install rpm-build
mkdir -p ~/rpmbuild/SOURCES
tar xf openvswitch-2.5.0.tar.gz
sed 's/openvswitch-kmod, //g' openvswitch-2.5.0/rhel/openvswitch.spec > openvswitch-2.5.0/rhel/openvswitch_no_kmod.spec
rpmbuild -bb --without check ~/openvswitch-2.5.0/rhel/openvswitch_no_kmod.spec
yum localinstall ~/rpmbuild/RPMS/x86_64/openvswitch-2.5.0-1.x86_64.rpm
systemctl start openvswitch 开启服务
systemctl enable openvswitch
配置桥(交换机)
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=ovs-br0
BOOTPROTO=none
HOTPLUG=no
/etc/sysconfig/network-scripts/ifcfg-ovs-br0
DEVICE=ovs-br0
ONBOOT=yes
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.100.250
NETMASK=255.255.255.0
HOTPLUG=no
重启网络
systemctl restart network
ifconfig ovs-br0 #查看网络是否配置成功
ovs-vsctl show #查看桥
将桥与kvm关联
cd /etc/libvirt/qemu/networks
vim ovsnet.xml
<network>
<name>ovs-br0</name>
<forward mode='bridge'/>
<bridge name='ovs-br0'/>
<virtualport type='openvswitch'/>
</network>
virsh define ovsnet.xml
virsh start ovs-br0
virsh autostart ovs-br0
virsh net-list 可以查看桥是否和kvm关联

然后使用virt-manager工具安装一台linux虚拟机dncpserver,搭建dnsmasq服务
添加两块网口,使用ovs-br0做桥
编辑配置文件,将两块网卡分配到不同vlan
virsh edit dhcpserver
搜索openvswitch 然后添加 vlan ,第一张网卡 tag=1 第二张网卡 tag=2
<interface type='bridge'>
<source bridge='ovs-br0'/>
<virtualport type='openvswitch'/>
<vlan>
<tag id="1"/>
</vlan>
<model type='virtio'/>
</interface>
<interface type='bridge'>
<source bridge='ovs-br0'/>
<virtualport type='openvswitch'/>
<vlan>
<tag id="2"/>
</vlan>
<model type='virtio'/>
</interface>
进入虚拟机,重启网络,配置两个不同网络的ip地址
临时生效,若长期生效则需要修改配置文件
ipaddr eth0 192.168.100.1
ipaddr eth1 192.168.200.1
然后搭建dhcp服务
yum install dnsmasq
编辑配置文件
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
echo > /etc/dnsmasq.conf vim /etc/dnsmasq.conf
dhcp-range=eth0,192.168.100.100,192.168.100.199,4h
dhcp-range=eth1,192.168.200.100,192.168.200.199,4h
interface=eth1
interface=eth2 启动服务
systemctl start dnsmasq
systemctl enable dnsmasq
然后安装两台测试虚拟机
一台将网卡分倒tag1,一台将网卡分倒tag2
然后测试能否拿到IP
使用openvswitch 和dnsmasq来实现虚拟机网络隔离的更多相关文章
- vmware虚拟机网络自动断开的问题
最近搭建一个集群环境,因此用vmware安装了几台虚拟机,系统是centos7.2. 但是发现网络总是不经意间自动断开,重启网络(service network restart)恢复. 虚拟机网络类型 ...
- Azure ARM (9) 创建ARM模式下的虚拟机网络
<Windows Azure Platform 系列文章目录> 笔者在之前几章内容中,创建了ARM Resource Group,然后在这个ARM Resource Group下创建Azu ...
- VirtualBox 内的 Ubuntu Server 虚拟机网络配置
环境: 宿主机:Windows 7,单网卡: 虚拟机:ubuntu-14.04.1-server-amd64: 宿主机上网是连接的路由器,IP 地址是通过 DHCP 服务自动获取的: 基本情况: Ub ...
- VMware虚拟机网络环境类型
0x01. VMware Ubuntu虚拟机网络环境 ① Bridge桥接模式:虚拟机与物理机的IP同在一个网段:虚拟机独立且地位与物理机相同:虚拟机可直接访问物理机以及物理机相连的外部网络的主机或网 ...
- vm克隆虚拟机网络配置
*CentOS虚拟机网络连接方式为:桥接模式* 虚拟机克隆后会导致网络连接不上:(引起原因是新的MAC和网卡配置对应不上)问题解决(在克隆机里执行下列步骤): vi /etc/udev/rules.d ...
- linux笔记:linux系统安装-虚拟机网络设置
vmware虚拟机网络配置的3种方式: 1.桥接:在桥接模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机(主机和虚拟机处于对等地位),它可以访问网内任何一台机器.在桥接模式下,我们 ...
- VMWare虚拟机网络的三种工作模式
VMWare提供了三种工作模式: 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,需要手工为虚拟系 ...
- [BigData]关于HDFS的伪分布式安装和虚拟机网络的配置
[BigData]关于Hadoop学习笔记第一天(段海涛老师)(三) 视频2: hadoop的应用在电商,"浏览了该商品的人还看了","浏览了该商品的人最终购买的&quo ...
- VirtualBox虚拟机网络设置
VirtualBox虚拟机网络设置 测试环境:物理机win10企业版本,VirtaulBox版本5.0.14,虚拟机安装Windows XP及linux系统 想实现虚拟机上网的最简单方式,修改虚拟机网 ...
随机推荐
- ActiveMQ开发与简介
1.概述与介绍 ActiveMQ是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMSProvider实现.提供 ...
- android中设置控件获得焦点 (转)
android中,要使控件获得焦点,需要先setFocus,再requestFocus. 以Button为例: btn.setFocusable(true); ...
- Nginx负载均衡
负载均衡(做分发服器)1.基于浏览器的分发基于浏览器的分发,按照在不同平台的浏览器请求进行分发,比如手机浏览器讲究资源小速度快节省流量,所以将自手机浏览器的请求分发到专供处理移动平台的web服务器上, ...
- Wpf/Wp/Silverlight-Chart图表控件:柱状图、饼状图等使用汇总
链接:http://www.cnblogs.com/jimson/archive/2010/06/21/Wpfchat.html http://www.cnblogs.com/mgen/p/32361 ...
- Eclipse,到了说再见的时候了——Android Studio最全解析
转自:http://blog.jobbole.com/77635/ 去年的Google大会上,Google带给我们一个小玩具——Android Studio,说它是玩具,是因为它确实比较菜,界面过时, ...
- Python for Infomatics 第12章 网络编程五(译)
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.8 用urllib读取二进 ...
- Python for Infomatics 第12章 网络编程四(译)
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.7 用BeautifulS ...
- CentOS6.7安装Python3.4
1.下载Python3.4安装包 wget https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz 2.解压.编译.安装 .tgz cd Py ...
- 基于dubbo框架下的RPC通讯协议性能测试
一.前言 Dubbo RPC服务框架支持丰富的传输协议.序列化方式等通讯相关的配置和扩展.dubbo执行一次RPC请求的过程大致如下:消费者(Consumer)向注册中心(Registry)执行RPC ...
- 真刀真枪压测:基于TCPCopy的仿真压测方案
郑昀 基于刘勤红和石雍志的实践报告 创建于2015/8/13 最后更新于2015/8/19 关键词:压测.TCPCopy.仿真测试.实时拷贝流量 本文档适用人员:技术人员 提纲: 为什么要做仿真测试 ...