|
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 |
|
|