部署OVN实验环境

同OVN学习(一)

网关

在L3网络基础上部署网关

添加L3网关

### Central节点
# ovn-sbctl show
Chassis "8bd09faf-5ba2-49ad-931b-11155ff3ab00"
hostname: localhost
Encap geneve
ip: "92.0.0.12"
options: {csum="true"}
Port_Binding "dmz-vm2"
Port_Binding "dmz-vm1"
Chassis "303ab2d5-3525-4550-b17f-781faa70ab4a"
hostname: localhost
Encap geneve
ip: "92.0.0.13"
options: {csum="true"}
Port_Binding "inside-vm3"
Port_Binding "inside-vm4" ### 创建逻辑路由
# ovn-nbctl lr-add edge1
# ### 创建逻辑交换机用于连接edge1和tenant1
# ovn-nbctl ls-add transit ### 连接edge1到逻辑交换机上
# ovn-nbctl lrp-add edge1 edge1-transit 02:d4:1d:8c:d9:ae 192.168.0.1/24
# ovn-nbctl lsp-add transit transit-edge1
# ovn-nbctl lsp-set-type transit-edge1 router
# ovn-nbctl lsp-set-addresses transit-edge1 02:d4:1d:8c:d9:ae
# ovn-nbctl lsp-set-options transit-edge1 router-port=edge1-transit ### 连接tenant1到逻辑交换机上
# ovn-nbctl lrp-add tenant1 tenant1-transit 02:d4:1d:8c:d9:af 192.168.0.2/24
# ovn-nbctl lsp-add transit transit-tenant1
# ovn-nbctl lsp-set-type transit-tenant1 router
# ovn-nbctl lsp-set-addresses transit-tenant1 02:d4:1d:8c:d9:af
# ovn-nbctl lsp-set-options transit-tenant1 router-port=tenant1-transit ### 添加静态路由
# ovn-nbctl lr-route-add edge1 "20.0.0.0/24" 192.168.0.2
# ovn-nbctl lr-route-add edge1 "10.0.0.0/24" 192.168.0.2
# ovn-nbctl lr-route-add tenant1 "0.0.0.0/0" 192.168.0.1 ### 测试连通性
# ip netns exec vm1 ping -c 2 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=253 time=0.506 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=253 time=0.272 ms --- 192.168.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.272/0.389/0.506/0.117 ms

网关与外网连接

### Central节点
### 创建外网逻辑交换机,并配置网关到叫交换机的连接
# ovn-nbctl ls-add outside
# ovn-nbctl lrp-add edge1 edge1-outside 02:d4:1d:8c:d9:be 192.168.200.16/24
# ovn-nbctl lsp-add outside outside-edge1
# ovn-nbctl lsp-set-type outside-edge1 router
# ovn-nbctl lsp-set-addresses outside-edge1 02:d4:1d:8c:d9:be
# ovn-nbctl lsp-set-options outside-edge1 router-port=edge1-outside ### 为外网网卡ens4创建网桥
# ovs-vsctl add-br br-ex ### 为外网网卡ens4创建网桥到网络的映射
# ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=dataNet:br-ex ### 在逻辑交换机outside上添加本地网络端口,并且本地网络的名字为dataNet
# ovn-nbctl lsp-add outside outside-localnet
# ovn-nbctl lsp-set-addresses outside-localnet unknown
# ovn-nbctl lsp-set-type outside-localnet localnet
# ovn-nbctl lsp-set-options outside-localnet network_name=dataNet ### 关联外网网卡ens4到网桥上
# ovs-vsctl add-port br-ex ens4 ### 测试连通性(需要注意vm2的ip地址是不是没了,dhclient好像有些问题)
# ip netns exec vm2 ping -c 2 192.168.200.16
PING 192.168.200.16 (192.168.200.16) 56(84) bytes of data.
64 bytes from 192.168.200.16: icmp_seq=1 ttl=253 time=0.445 ms
64 bytes from 192.168.200.16: icmp_seq=2 ttl=253 time=0.407 ms --- 192.168.200.16 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.407/0.426/0.445/0.019 ms ### 设置网桥地址
# ip addr add 192.168.200.17/24 dev br-ex
# ip link set br-ex up
### 重置下路由
# ip route
default via 192.168.200.1 dev ens4
92.0.0.0/24 dev ens3 proto kernel scope link src 92.0.0.12
169.254.0.0/16 dev ens3 scope link metric 1002
169.254.0.0/16 dev ens4 scope link metric 1003
192.168.200.0/24 dev ens4 proto kernel scope link src 192.168.200.12
192.168.200.0/24 dev br-ex proto kernel scope link src 192.168.200.17
# ip route del default via 192.168.200.1
# ip route del 192.168.200.0/24 dev ens4

设置SNAT

### Central节点
### 设置网关chassis
# ovn-nbctl lrp-set-gateway-chassis edge1-outside 8bd09faf-5ba2-49ad-931b-11155ff3ab00 ### 配置SNAT规则
# ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=20.0.0.0/24 external_ip=192.168.200.16 -- add logical_router edge1 nat @nat
# ovn-nbctl -- --id=@nat create nat type="snat" logical_ip=10.0.0.0/24 external_ip=192.168.200.16 -- add logical_router edge1 nat @nat ### 测试连通性
# ip netns exec vm2 ping -c 2 192.168.200.17
PING 192.168.200.17 (192.168.200.17) 56(84) bytes of data.
64 bytes from 192.168.200.17: icmp_seq=1 ttl=62 time=0.758 ms
64 bytes from 192.168.200.17: icmp_seq=2 ttl=62 time=0.071 ms --- 192.168.200.17 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.071/0.414/0.758/0.344 ms ### Node节点
# ip netns exec vm4 ping -c 2 192.168.200.1
PING 192.168.200.1 (192.168.200.1) 56(84) bytes of data.
64 bytes from 192.168.200.1: icmp_seq=1 ttl=62 time=2.06 ms
64 bytes from 192.168.200.1: icmp_seq=2 ttl=62 time=0.992 ms --- 192.168.200.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.992/1.528/2.064/0.536 ms

OVN学习(三)的更多相关文章

  1. HTTP学习三:HTTPS

    HTTP学习三:HTTPS 1 HTTP安全问题 HTTP1.0/1.1在网络中是明文传输的,因此会被黑客进行攻击. 1.1 窃取数据 因为HTTP1.0/1.1是明文的,黑客很容易获得用户的重要数据 ...

  2. TweenMax动画库学习(三)

    目录               TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)           ...

  3. Struts2框架学习(三) 数据处理

    Struts2框架学习(三) 数据处理 Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:Value ...

  4. 4.机器学习——统计学习三要素与最大似然估计、最大后验概率估计及L1、L2正则化

    1.前言 之前我一直对于“最大似然估计”犯迷糊,今天在看了陶轻松.忆臻.nebulaf91等人的博客以及李航老师的<统计学习方法>后,豁然开朗,于是在此记下一些心得体会. “最大似然估计” ...

  5. DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件

    DjangoRestFramework学习三之认证组件.权限组件.频率组件.url注册器.响应器.分页组件   本节目录 一 认证组件 二 权限组件 三 频率组件 四 URL注册器 五 响应器 六 分 ...

  6. [ZZ] 深度学习三巨头之一来清华演讲了,你只需要知道这7点

    深度学习三巨头之一来清华演讲了,你只需要知道这7点 http://wemedia.ifeng.com/10939074/wemedia.shtml Yann LeCun还提到了一项FAIR开发的,用于 ...

  7. SVG 学习<三>渐变

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

  8. Android JNI学习(三)——Java与Native相互调用

    本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...

  9. day91 DjangoRestFramework学习三之认证组件、权限组件、频率组件、url注册器、响应器、分页组件

    DjangoRestFramework学习三之认证组件.权限组件.频率组件.url注册器.响应器.分页组件   本节目录 一 认证组件 二 权限组件 三 频率组件 四 URL注册器 五 响应器 六 分 ...

随机推荐

  1. 我的Java开发学习之旅------>计算从1到N中1的出现次数的效率优化问题

    有一个整数n,写一个函数f(n),返回0到n之间出现的"1"的个数.比如f(1)=1:f(13)=6,问一个最大的能满足f(n)=n中的n是什么? 例如:f(13)=6, 因为1, ...

  2. iOS本地数据存取,看这里就够了

    本文授权转载,作者:hosea_zhou(简书) 应用沙盒 1)每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 2) ...

  3. SQL语句编写注意问题

    下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍.在这些where子句中,即使某些列存在索引,但是由于编写了劣质的SQL,系统在运行该SQL语句时也不能使用该索引,而同样使用全表扫描 ...

  4. win 10 安装.msi 程序出现the error code is 2503

    解决方法: C:\Windows\temp文件夹的权限不够,需要给其更高权限 右键temp文件夹 点击属性进入属性对话框 组或用户名的里面的All APPLICATION PACKAGES和所有受限制 ...

  5. 简洁多用途SuperSlide插件—tab标签样式

    简洁多用途SuperSlide插件—tab标签切换代码样式,由huiyi8素材网提供. 源码:http://www.huiyi8.com/tab/

  6. Centos 6.3 编译安装Nginx+php+Mysql

    1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables 将 -A INPUT -m state --state NEW -m tcp -p tcp --dpo ...

  7. 转载h5问题总结

    判断微信浏览器 function isWeixin(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger ...

  8. oracle数据库复习(1)

    数据库中的专业术语: 表:在数据库中存放数据所用的表 视图:数据库中的虚拟表.在视图中存放的是从数据表中查询出来的纪录 存储过程:存储过程是由SQL语句和控制流语句组成的代码块.存储过程在开发软件时, ...

  9. hdu5776sum

    题目连接  抽屉原理:如果现在有3个苹果,放进2个抽屉,那么至少有一个抽屉里面会有两个苹果 抽屉原理的运用 现在假设有一个正整数序列a1,a2,a3,a4.....an,试证明我们一定能够找到一段连续 ...

  10. listen 67

    Pay What You Want May Deter Consumers Music, film and video game makers face a new online, digital w ...