OVN 简单组网脚本

组网图:

组网脚本:

 1 # Create logical switch dmz
 2 ovn-nbctl ls-add dmz
 3 ovn-nbctl lsp-add dmz dmz-vm10
 4 ovn-nbctl lsp-set-addresses dmz-vm10 "02:ac:10:ff:01:30 172.16.255.130"
 5 ovn-nbctl lsp-set-port-security dmz-vm10 "02:ac:10:ff:01:30 172.16.255.130"
 6
 7 # Create set dhcp service
 8 dmzDhcp="$(ovn-nbctl create DHCP_Options cidr=172.16.255.128/26 \
 9 options="\"server_id\"=\"172.16.255.129\" \"server_mac\"=\"02:ac:10:ff:01:29\" \
10 \"lease_time\"=\"3600\" \"router\"=\"172.16.255.129\"")"
11 ovn-nbctl lsp-set-dhcpv4-options dmz-vm10 $dmzDhcp
12
13 # Create logical router
14 ovn-nbctl lr-add tenant1
15 ovn-nbctl lrp-add tenant1 tenant1-dmz 02:ac:10:ff:01:29 172.16.255.129/26
16 ovn-nbctl lsp-add dmz dmz-tenant1
17 ovn-nbctl lsp-set-type dmz-tenant1 router
18 ovn-nbctl lsp-set-addresses dmz-tenant1 02:ac:10:ff:01:29
19 ovn-nbctl lsp-set-options dmz-tenant1 router-port=tenant1-dmz
20 ovn-nbctl set Logical_Router tenant1 options:chassis=$chassis_id
21
22 # Creaet instance in namespace
23 ovs-vsctl add-port br-int vm10 -- set interface vm10 type=internal
24 ip link set vm10 address 02:ac:10:ff:01:30
25 ip netns add vm10
26 ip link set vm10 netns vm10
27 ovs-vsctl set Interface vm10 external_ids:iface-id=dmz-vm10
28 ip netns exec vm10 dhclient vm10
29 ip netns exec vm10 ip addr show vm10
30 ip netns exec vm10 ip route show
31
32 # Create outside switch connecting tenant1 router
33 ovn-nbctl lrp-add tenant1 tenant1-outside 02:0a:7f:00:01:29 192.168.80.100/24
34 ovn-nbctl ls-add outside
35 ovn-nbctl lsp-add outside outside-tenant1
36 ovn-nbctl lsp-set-type outside-tenant1 router
37 ovn-nbctl lsp-set-addresses outside-tenant1 02:0a:7f:00:01:29
38 ovn-nbctl lsp-set-options outside-tenant1 router-port=tenant1-outside
39
40 # Create provider bridge attached eth1
41 ovs-vsctl add-br br-eth1
42 ovs-vsctl add-port br-eth1 eth1
43
44 # Create bridge mapping for eth1. map network name "dataNet" to br-eth1
45 ovs-vsctl set Open_vSwitch . external-ids:ovn-bridge-mappings=dataNet:br-eth1
46
47 # Create localnet port on ‘outside‘. set the network name to "dataNet"
48 ovn-nbctl lsp-add outside outside-localnet
49 ovn-nbctl lsp-set-addresses outside-localnet unknown
50 ovn-nbctl lsp-set-type outside-localnet localnet
51 ovn-nbctl lsp-set-options outside-localnet network_name=dataNet
52
53 # Create NAT rule
54 ovn-nbctl -- --id[email protected] create nat type="snat" logical_ip=172.16.255.128/26 external_ip=192.168.80.100 -- add logical_router tenant1 nat @nat

时间: 2024-10-08 13:06:25

OVN 简单组网脚本的相关文章

【sehll学习】linux运维一个简单shell脚本监控系统内存

学习shell脚本入门后,慢慢要尝试编写一些脚本练练手,在这先简单的学习写个系统内存的监控. 1.首先先要确定一下截取一下需要关注的内存使用值,可使用free 命令来操作 free -m 显示 一般在监控内存是我们都是截取 第三行(-/+ buffers/cache)的值.确定后可以使用管道线和grep命令来获取这个的值. free -m | grep - | awk  '{print $4}' 获取到他的值为  858 当中 grep -  就是匹配一下要选取的内容,不太熟悉的可以学习一下gr

[简明python教程]学习笔记之编写简单备份脚本

[[email protected] 0503]# cat backup_ver3.py #!/usr/bin/python #filename:backup_ver3.py import os import time #source source=['/root/a.sh','/root/b.sh','/root/c.sh'] #source='/root/c.sh' #backup dir target_dir='/tmp/' today=target_dir+time.strftime('

邮箱扒头像来告诉你怎么写简单的脚本扒图

用邮箱扒头像来告诉你怎么写简单的脚本扒图 手上有几十万邮箱,本来用户系统没有做头像的东西,现在想根据这些邮箱能拿一部分用户的头像,可以直接使用 gravatar的服务,不过这玩意儿不时会被墙,还是拉回来靠谱,第2个途径是qq邮箱,通过分析数据发现,这几十万 用户里面居然有一半以上是qq邮箱,so 要想办法通过不用oauth的方式拿到. 思路与技术选择 作为一个pythoner,有很多爬虫框架可以选择,例如scrapy pyspider 没错有中文 有ui 有时间调度 爬虫框架会给你做很多事情,基

简单小脚本

(1).要求编写一个脚本,请给出 系统使用的什么样的Linux系统. 系统内核版本多少 , 当前登录的用户为: 系统有几块硬盘,每块硬盘的大小 系统内存总量多少 服务器的硬件型号 有几颗CPU,每颗CPU有多少个内核 (2).请编辑一个脚本,给出本机IP有多少IP地址.然后每个IP地址的子网掩码, 然后请给出本机的网关IP是多少? 效果输出如下: 本机IP地址有3个 分别为: IPxxxxxx,子网掩码xxxx IPxxxxxx,子网掩码xxxx IPxxxxxx,子网掩码xxxx 网关地址为:

Libgdx之封装简单的脚本机制

需求: 游戏中,在开始前经常会用到,ready->go->start game,或者其他情况. 简单的说,就是游戏一些UI展示需要按照步骤执行. 于是乎,为了让逻辑清晰,自己写了简单执行脚本,方便以后的开发. package com.oahcfly.chgame.core.script; // 接口 public interface IScript { public void addSteps(String... args); public void run(final Runnable ca

简单python脚本

简单python脚本: 注:1.python 变量不需要$2.for里面的print需要前空2格3.range(2,9)不包括9 vi aa.py #!/usr/bin/python i=5print i i=i+1print i a=6b=5c=a * bprint c for a in range(2,9):print a :wq python aa.py 原文地址:http://blog.51cto.com/yangzhiming/2122703

记录工作用到的一个简单js脚本

测试极光发送通知接口及客户端处理情况,需在极光后台增加通知数据.由于需要多个输入框输入数据,浏览器关闭后又需重新输入数据,故作此简单js脚本,在浏览器开发者模式下执行,便自动向浏览器输入框输入数据. document.getElementsByTagName("textarea")[0].value="专家说文章测试切入横幅跳转测试切入横幅跳转" document.getElementsByClassName("input-global-blue-shad

MacOS终端下执行一个简单Java脚本

MacOS下安装完Java JVM,配置好环境变量后可以在终端执行一个简单的java脚本程序,其中先使用javac编译器将.java文件编译成字节码文件,然后通过java解释器执行字节码文件. 编写一个简单的脚本 1 class Demo{ 2 3 public static void main(String[] args){ 4 System.out.println("hello world!"); 5 } 6 7 } 编写完后保存为.java格式,这里使用终端查看: 打开终端编译

一个具有菜单选项的简单shell脚本

这是一个简单的shell脚本,里面包含了很多的shell脚本编写技巧,虽然脚本是从别的视频教程里面整理而来,但是对我的以后的编写shell脚本的道路有了一定的铺垫. #!/bin/bash ############# # main menu # ############# main_menu () { echo echo dis_mainmenu="CREATE MINISITE IN CHINAITLAB.COM" curdate=`date "+%Y-%m-%d %T&q