本文主要介绍了实验环境下,java环境下ODL包的安装,启动与对接OVS
环境:
物理机 R9-7940H 64G内存
VMware Workstation 17
CentOS Linux release 7.8.2003
kvm虚机镜像 TinyCore-11.0.iso
GRE版本 server-jre-8u301-linux-x64.tar.gz
ODL安装包版本 karaf-0.7.3.zip
拓扑图:
OVS01和OVS02需要完成ovs的安装
OVS安装参考链接:centos7.8基于源码包生成rpm包安装ovs-CSDN博客并关闭防火墙
systemctl disable firewalld.service --now
建议创建一个template,安装完之后克隆成三个
ODL安装
#控制节点
#安装java - JRE Java运⾏环境 (8u301)
mkdir /opt/java
cp server-jre-8u301-linux-x64.tar.gz /opt/java
cd /opt/java
tar -zxvf server-jre-8u301-linux-x64.tar.gz
vim /etc/profile
export JAVA_HOME=/opt/java/jdk1.8.0_301
export JRE_HOME=/opt/java/jdk1.8.0_301
export CLASSPATH=$JRE_HOME/lib/rt.jar:$JRE_HOME/lib/ext
export PATH=$PATH:$JRE_HOME/bin
source /etc/profile && .jar:
#解压ODL(java)
cd ~
unzip karaf-0.7.3.zip
#关闭防⽕墙
systemctl stop firewalld.service
systemctl disable firewalld.service
#开启ODL-安装ODL特性功能插件
/root/karaf-0.7.3/bin/karaf
feature:install odl-restconf
feature:install odl-l2switch-switch-ui
feature:install odl-mdsal-apidocs
feature:install odl-dluxapps-applications
feature:install odl-dluxapps-yangui
feature:install odl-restconf-all
logout #退出-关闭opendaylight
此时已经可以登录网址查看ODL软件了,我的ip是139
http://192.168.203.139:8181/index.html#/login
用户admin
密码admin
但此时由于没有对接ovs,网页还是一片空白
ODL对接OVS
#两台ovs主机都要做
#1.添加交换机
[root@centos_ovs01 ~]#ovs-vsctl add-br ovs11
[root@centos_ovs02 ~]#ovs-vsctl add-br ovs12
#2.交换机添加控制器
[root@centos_ovs01 ~]#ovs-vsctl set-controller ovs11 tcp:192.168.203.139:6633
[root@centos_ovs02 ~]#ovs-vsctl set-controller ovs12 tcp:192.168.203.139:6633
#3.向交换机添加物理端⼝
[root@centos_ovs01 ~]ovs-vsctl add-port ovs11 ens32
[root@centos_ovs02 ~]ovs-vsctl add-port ovs12 ens32
此时可以看到两台都已经连接上了控制器
ODL网页也能够看到两台ovs,但是并没有连上,是因为没有添加对应的流表使其进行通信
ovs添加流表
此时由于不匹配流表,两边VM无法正常通信
观察上面这张流表,能发现只有in_port=1时,actions=drop
所以需要添加,让一口进来的流量要从二口发出去,二口进来的流量需要从一口出
[root@ovs01 ~]#ovs-ofctl add-flow ovs11 -O OpenFlow13 in_port=1,action=outport:2
[root@ovs01 ~]#ovs-ofctl add-flow ovs11 -O OpenFlow13 in_port=2,action=outport:1
[root@ovs02 ~]# ovs-ofctl add-flow ovs12 -O OpenFlow13 in_port=1,action=output:2
[root@ovs02 ~]# ovs-ofctl add-flow ovs12 -O OpenFlow13 in_port=2,action=output:1
此时使用kvm的虚机ping对方,也可以互相ping通