使用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.specyum localinstall ~/rpmbuild/RPMS/x86_64/openvswitch-2.5.0-1.x86_64.rpmsystemctl 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  

时间: 2024-10-12 20:54:06

使用openvswitch 和dnsmasq来实现虚拟机网络隔离的相关文章

VirtualBox 内的 Ubuntu Server 虚拟机网络配置

环境: 宿主机:Windows 7,单网卡: 虚拟机:ubuntu-14.04.1-server-amd64: 宿主机上网是连接的路由器,IP 地址是通过 DHCP 服务自动获取的: 基本情况: Ubuntu Server 为全新安装.在安装完成之后发现,通过虚拟机可以 ping 通宿主机,但宿主机 ping 不通虚拟机.也尝试关闭防火墙,但没有作用,最后也发现跟防火墙没有关系. 正确配置: 首先设置虚拟机的网络,在 “Oracle VM VirtualBox 管理器”中选择新安装的 Ubunt

linux虚拟机网络配制方法及遇到问题的解决方法

linux虚拟机网络问题 刚安装一个vmware虚拟机,并在上面安装了一个redhat linux操作系统. 安装完后配制了下网络. 首先观察windows上的网络配制. ip:192.168.1.109 nemask:255.255.255.0 gateway:192.168.1.1 通过这些东西可以看出虚拟机也应该在同一个网段(192.168.1.0),同一个网关(192.168.1.1) 子网掩码当然也应该是255.255.255.0 配制方法分两种: 一.临时配制: 配制ip,子网掩码

VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通

记录下VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通过程,网上搜出来的比较乱,讲的不明不白,因此根据自己弄过一次,确认可行的方式,做个备份,方便日后查阅. 环境: 在Oracle VM VirtualBox中安装的Ubuntu,具体版本名是:ubuntu-14.10-server-amd64 Step1: VirtualBox在虚拟机关机状态下,如图进行设置: Step 2: 虚拟机开机,输入命令:sudo ifconfig或者sudo ifconfig -a查看当前网卡配

VMWare虚拟机 网络连接模式

1 VMWare虚拟机bridged.host-only和NAT网络模式的区别和用法 VMWare提供了三种工作模式,它们是bridged(bridged模式:对应网卡vment0).NAT(网络地址转换模式:对应网卡vment8)和host-only(主机模式:对应网卡vment1).三个网卡可以理解为三个通道.要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式.(在Linux下面ifconfig显示eth0第一个网卡IP,(eth就是ethernet以太网,在这里指网络接口

vm克隆虚拟机网络配置

*CentOS虚拟机网络连接方式为:桥接模式* 虚拟机克隆后会导致网络连接不上:(引起原因是新的MAC和网卡配置对应不上)问题解决(在克隆机里执行下列步骤): vi /etc/udev/rules.d/70-persistent-net.rules(如果你是完全克隆,这个文件里应该包含eth0和eth1,测试过VMware,VirtualBox) 将eth0配置删除,只保留eth1,记录该配置对应的MAC地址,并将eth1改名为eth0,这里记录eth1的mac地址,用于下面. vi /etc/

VirtualBox虚拟机网络设置(四种方式)(转)

VirtualBox虚拟机网络设置(四种方式) 来自:  2010-11-10 23:30:11 VirtualBox的提供了四种网络接入模式,它们分别是: 1.NAT 网络地址转换模式(NAT,Network Address Translation) 2.Bridged Adapter 桥接模式 3.Internal 内部网络模式 4.Host-only Adapter 主机模式 第一种 NAT模式 解释: NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:Vhost访问网络的所有数

为什么默认配置下嵌套的VMware vSphere/ESXi上安装的虚拟机网络连接失败?

VMware vSphere/ESXi允许嵌套安装.所谓嵌套安装如下图所示,即将vSphere/ESXi虚拟化软件安装在vSphere/ESXi的虚拟机中.而在这样嵌套的vSphere/ESXi虚拟机上还可以部署虚拟机,然而在默认的配置中,这些虚拟机网络连接是失败的.本文将介绍其中的机理以及解决方法. 那么在默认配置下这些嵌套vSphere/ESXi上的虚拟机为什么网络不通呢?这要从vSphere/ESXi的虚拟网络交换机的工作原理说起.该虚拟交换机虽然被称作交换机但是与物理交换机的工作原理还是

VM虚拟机网络在Bridge模式下,本机不能连接SSH问题的解决

今天遇到了一个很奇怪的问题. VM虚拟机网络连接原先在NAT模式下,本机通过SSH访问没有任何问题,但切换到Bridge模式后,SSH死活都连接不上.以为是自己SSH设置或iptables的问题,但怎么调都不对.偶然在另一台机器通过SSH访问,却顺利连接上了.于是放“狗”狂搜,终于找到了问题解决的方法,只需要把本机网卡属性->配置->高级中,将"Offload Checksum"属性设成"Disable",一切就正常了.

linux、win7虚拟机网络设置

一.linux虚拟机网络设置 二.win7虚拟机网络设置