利用ODL创建VxLAN网络

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/songqiu65/article/details/76595188

说明:mininet1(192.168.1.209),mininet2(192.168.1.211),odl(192.168.1.217)为三台虚机,在同一网段,其中odl虚机安装了opendaylight-boron-sr3,mininet1和mininet2都安装了mininet

1.让mininet1和mininet2链接上odl,并设置manager

mininet1和mininet2进行操作(这里是设置监听管理端口):

sh ovs-vsctl set-manager ptcp:6640

说明:下面的remote-ip为需要设置manager的mininet的ip
ODL主机发送以下Rest请求到mininet1:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST1
Method:PUT
Bady:

{
    "node": [
        {
            "node-id": "ovsdb://HOST1",
            "ovsdb:connection-info": {
                "remote-ip": "192.168.1.209",
                "remote-port": "6640"
            }
        }
    ]
}

ODL主机发送以下Rest请求到mininet2:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST2
Method:PUT
Bady:

{
    "node": [
        {
            "node-id": "ovsdb://HOST2",
            "ovsdb:connection-info": {
                "remote-ip": "192.168.1.211",
                "remote-port": "6640"
            }
        }
    ]
}

2.建立网桥
在HOST1上创建网桥:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST1%2Fbridge%2Fbrtest
Method:PUT
Body:

{
    "node": [
        {
            "node-id": "ovsdb://HOST1/bridge/brtest",
            "ovsdb:bridge-name": "brtest",
            "ovsdb:protocol-entry": [
                {
                    "protocol": "ovsdb:ovsdb-bridge-protocol-openflow-13"
                }
            ],
            "ovsdb:managed-by": "/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ovsdb://HOST1']",
            "hwvtep:managed-by": "/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ovsdb://HOST1']"
        }
    ]
}

在HOST2上创建网桥:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST2%2Fbridge%2Fbrtest
Method:PUT
Body:

{
    "node": [
        {
            "node-id": "ovsdb://HOST2/bridge/brtest",
            "ovsdb:bridge-name": "brtest",
            "ovsdb:protocol-entry": [
                {
                    "protocol": "ovsdb:ovsdb-bridge-protocol-openflow-13"
                }
            ],
            "ovsdb:managed-by": "/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ovsdb://HOST2']",
            "hwvtep:managed-by": "/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ovsdb://HOST2']"
        }
    ]
}

3.建立端口
说明:mininet1中body里面value的值为mininet2的ip
在mininet1上创建vxlan port:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST1%2Fbridge%2Fbrtest/termination-point/testport
Methos:put
Body:

{
    "termination-point": [
        {
            "tp-id": "testport",
            "ovsdb:name": "testport",
            "ovsdb:interface-type": "ovsdb:interface-type-vxlan",
            "ovsdb:options": [
                {
                    "option": "remote_ip",
                    "value": "192.168.1.211"
                }
            ]
        }
    ]
}

在mininet2上创建vxlan port:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST2%2Fbridge%2Fbrtest/termination-point/testport
Methos:put
Body:

{
    "termination-point": [
        {
            "tp-id": "testport",
            "ovsdb:name": "testport",
            "ovsdb:interface-type": "ovsdb:interface-type-vxlan",
            "ovsdb:options": [
                {
                    "option": "remote_ip",
                    "value": "192.168.1.209"
                }
            ]
        }
    ]
}

4.给mininet1和mininet2中的网桥设置ip(命令行执行:ifconfig brtest 30.0.0.3/8 upifconfig brtest 30.0.0.2/8 up
(ip为同子网不需要设置路由,非同子网自行设置路由)
5.验证:
在mininet1上用ping测试:ping 30.0.0.2

注意:要么同时odl发指令,要么同时手动配,否则建立的vxlan是无法通信的

猜你喜欢

转载自blog.csdn.net/songqiu65/article/details/76595188
今日推荐