openvswitch centos6.X 安装及使用

摘要

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

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim /etc/sysconfig/network-scripts/ifcfg-eth0 B...