openvswitch 虚拟交换机 centos6.x 编译安装及简单vlan配置
一、搭建编译环境
安装编译环境
#yuminstallgccmakepython-developenssl-develkernel-develgraphviz\ kernel-debug-develautoconfautomakerpm-buildredhat-rpm-config\ libtool
编译rpm建议使用普通用户
下载创建编译目录脚本
$wgetftp://ftp.owlriver.com/pub/local/COLUG//RPM-build-tree.txt
执行脚本
$shRPM-build-tree.txt
将会在当前用户家目录创建如下目录
rpmbuild ├──BUILD├──BUILDROOT├──RPMS ├──SOURCES ├──SPECS └──SRPMS
二、编译openvswitchrpm包
##切换至家目录 $cd~ ##下载openvswitch源码包 $wgethttp://openvswitch.org/releases/openvswitch-2.3.1.tar.gz $cpopenvswitch-2.3.1.tar.gzrpmbuild/SOURCES/ $tarxvfopenvswitch-2.3.1.tar.gz $cdopenvswitch-2.3.1 ##编译内核 $cprhel/openvswitch-kmod.files~/rpmbuild/SOURCES/ $rpmbuild-bbrhel/openvswitch-kmod-rhel6.spec ##编译openvswitchrpm $rpmbuild-bbrhel/openvswitch.spec
编译完成后rpm包位于
ll~/rpmbuild/RPMS/x86_64/ total11440 -rw-rw-r--.1firxiaofirxiao1223288Dec1705:50kmod-openvswitch-2.3.1-1.el6.x86_64.rpm -rw-rw-r--.1firxiaofirxiao2640440Dec1706:01openvswitch-2.3.1-1.x86_64.rpm -rw-rw-r--.1firxiaofirxiao7846548Dec1706:01openvswitch-debuginfo-2.3.1-1.x86_64.rpm
将openvswitch-2.3.1-1.x86_64.rpm kmod-openvswitch-2.3.1-1.el6.x86_64.rpm 上传至vm1、vm2
使用yum安装
#yuminstallopenvswitch-2.3.1-1.x86_64.rpmkmod-openvswitch-2.3.1-1.el6.x86_64.rpm
启动服务
#/etc/init.d/openvswitchstart
三、配置及使用
vm1vm2vm1andvm2创建桥接网卡ovsbridge0 --------基于ovsbridge0创建vlan100网卡。 eth0ech0 --------------------------- ovsbridge0ovsbridge0 172.16.0.20/24172.16.0.21/24 ---------------------------- vlan100vlan100 192.168.100.2/24192.168.100.3/24 --------------------------------
将配置文件放于/etc/sysconfig/network-scripts
vm1网卡配置信息
[root@vm1network-scripts]#catifcfg-eth0 DEVICE=eth0 ONBOOT=yes DEVICETYPE=ovs TYPE=OVSPort OVS_BRIDGE=ovsbridge0 BOOTPROTO=none HOTPLUG=no [root@vm1network-scripts]#catifcfg-ovsbridge0 DEVICE=ovsbridge0 ONBOOT=yes DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=172.16.0.20 NETMASK=255.255.255.0 HOTPLUG=no [root@vm1network-scripts]#catifcfg-vlan100 DEVICE=vlan100 ONBOOT=yes DEVICETYPE=ovs TYPE=OVSIntPort BOOTPROTO=static IPADDR=192.168.100.2 NETMASK=255.255.255.0 OVS_BRIDGE=ovsbridge0 OVS_OPTIONS="tag=100" OVS_EXTRA="setInterface$DEVICEexternal-ids:iface-id=$(hostname-s)-$DEVICE-vif" HOTPLUG=no
[root@vm1~]#ovs-vsctlshow fedbda2f-2516-4aff-b89f-ca221873eb9c Bridge"ovsbridge0" Port"vlan100" tag:100 Interface"vlan100" type:internal Port"eth0" Interface"eth0" Port"ovsbridge0" Interface"ovsbridge0" type:internal ovs_version:"2.3.1"
vm2网卡配置信息
[root@vm2network-scripts]#catifcfg-eth0 DEVICE=eth0 ONBOOT=yes DEVICETYPE=ovs TYPE=OVSPort OVS_BRIDGE=ovsbridge0 BOOTPROTO=none HOTPLUG=no [root@vm2network-scripts]#catifcfg-ovsbridge0 DEVICE=ovsbridge0 ONBOOT=yes DEVICETYPE=ovs TYPE=OVSBridge BOOTPROTO=static IPADDR=172.16.0.21 NETMASK=255.255.255.0 HOTPLUG=no [root@vm2network-scripts]#catifcfg-vlan100 DEVICE=vlan100 ONBOOT=yes DEVICETYPE=ovs TYPE=OVSIntPort BOOTPROTO=static IPADDR=192.168.100.3 NETMASK=255.255.255.0 OVS_BRIDGE=ovsbridge0 OVS_OPTIONS="tag=100" OVS_EXTRA="setInterface$DEVICEexternal-ids:iface-id=$(hostname-s)-$DEVICE-vif" HOTPLUG=no
[root@vm2~]#ovs-vsctlshow 646f5f0f-6a6b-4b01-9c3c-f7684aa64ecc Bridge"ovsbridge0" Port"eth0" Interface"eth0" Port"ovsbridge0" Interface"ovsbridge0" type:internal Port"vlan100" tag:100 Interface"vlan100" type:internal ovs_version:"2.3.1"
配置好网卡后
#servicenetworkrestart
四、测试配置
在vm1 上 vm2 上使用 172.16.0.0/24可以互相通信
使用vlan100 192.168.100.0/24也可进行通信 两个网络互相隔离
编译rpm参考:openvswitch-2.3.1/INSTALL.RHEL
网络配置参考:http://git.openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=blob_plain;f=rhel/README.RHEL;hb=HEAD
原文链接:https://www.f2er.com/centos/381828.html