IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Ubuntu下OpenvSwitch容器网络隔离配置,图文详解,奴才级教程。 -> 正文阅读

[系统运维]Ubuntu下OpenvSwitch容器网络隔离配置,图文详解,奴才级教程。

目录

一,OpensVswitch源码安装

1,基础

2,下载包

3,安装

4,准备工作

5,启动

二,openvswitch的基本操做

1,查看ovs树形网络结构

2,删除网桥

3,添加网桥

4,给网桥添加物理网卡

5,将物理网卡连接到网桥

??

6,删除添加到网桥上的物理网卡

?7,删除网桥

三,容器网络隔离的部署

1,实验拓扑

?2,安装docker

?3,创建容器

?4,创建网桥

?5,容器连接网桥

?6,网桥互联

7,测试容器联通性

8,设置VLAN隔离

?9,设置运行通过的vlan

?10,测试联通性


一,OpensVswitch源码安装

1,基础

Ubuntu20.04系统

首先需要配好yum源,可连外网

更新yum源

apt-get update

下载必备包

apt-get install -y dh-autoreconf

切换用户,目录?

sudo su root
cd /root

2,下载包

下载ovs

git clone https://github.com/openvswitch/ovs.git
cd ovs

3,安装

./boot.sh

./configure

编译执行

make && make install

4,准备工作

ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock

--remote=db:Open_vSwitch,Open_vSwitch,manager_options

--private-key=db:Open_vSwitch,SSL,private_key

--certificate=db:Open_vSwitch,SSL,certificate

--bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert

--pidfile --detach

初始化数据库

ovs-vsctl --no-wait init

5,启动

export PATH=$PATH:/usr/local/share/openvswitch/scripts
ovs-ctl start


二,openvswitch的基本操做


1,查看ovs树形网络结构

ovs-vsctl show

??

2,删除网桥

ovs-vsctl del-br br-sw

??

3,添加网桥

ovs-vsctl add-br br0

?

4,给网桥添加物理网卡

ovs-vsctl add-port br0 eth0

?

5,将物理网卡连接到网桥

ovs-vsctl port-to-br etho

6,删除添加到网桥上的物理网卡

ovs-vsctl del-port br0 eth0

?7,删除网桥

ovs-vsctl del-br b0

?

三,容器网络隔离的部署

1,实验拓扑

?2,安装docker

从阿里云开源镜像源直接拿下来复制

sudo apt-get update

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

# step 2: 安装GPG证书

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# Step 3: 写入软件源信息

sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

# Step 4: 更新并安装Docker-CE

sudo apt-get -y update

sudo apt-get -y install docker-ce

?查看是否安装成功

docker images

?拉取镜像

docker pull busybox:latest

3,创建容器

运行四个不带网卡的容器

docker run -dit --name vm01 --net=none --privileged -v /lib/modules:/lib/modules busybox

docker run -dit --name vm02 --net=none --privileged -v /lib/modules:/lib/modules busybox

docker run -dit --name vm03 --net=none --privileged -v /lib/modules:/lib/modules busybox

docker run -dit --name vm04 --net=none --privileged -v /lib/modules:/lib/modules busybox

?4,创建网桥

创建俩个网桥,并查看

ovs-vsctl add-br jpzbr0

ovs-vsctl add-br jpzbr1

?5,容器连接网桥

添加网口的参数为:网桥名、容器内的新网口名、容器名、新网口的 ip 地址

ovs-docker add-port jpzbr0 eth0 vm01 --ipaddress=192.168.1.2/24

ovs-docker add-port jpzbr1 eth0 vm02 --ipaddress=192.168.1.3/24

ovs-docker add-port jpzbr0 eth0 vm03 --ipaddress=192.168.1.4/24

ovs-docker add-port jpzbr1 eth0 vm04 --ipaddress=192.168.1.5/24

6,网桥互联

ovs-vsctl add-port jpzbr0 patch_to_jpzbr1

ovs-vsctl add-port jpzbr1 patch_to_jpzbr0

ovs-vsctl set interface patch_to_jpzbr1 type=patch

ovs-vsctl set interface patch_to_jpzbr0 type=patch

ovs-vsctl set interface patch_to_jpzbr0 options:peer=patch_to_jpzbr1

ovs-vsctl set interface patch_to_jpzbr1 options:peer=patch_to_jpzbr0

查看树形网络图

ovs-vsctl show

7,测试容器联通性

进入随便一个容器ping,随便ping都通

ctrl+d退出容器但不停止容器

8,设置VLAN隔离

设置 Vlan 的参数为:网桥名、容器内网口名、容器名、vlan 号

ovs-docker set-vlan jpzbr0 eth0 vm01 100

ovs-docker set-vlan jpzbr1 eth0 vm02 100

ovs-docker set-vlan jpzbr0 eth0 vm03 200

ovs-docker set-vlan jpzbr1 eth0 vm04 200

测试连通性

?结果应为同vlan相同,不同vlan不同,vm1和vm2通,和vm3,4不通

?9,设置运行通过的vlan

ovs-vsctl set port patch_to_jpzbr1 VLAN_mode=trunk

ovs-vsctl set port patch_to_jpzbr0 VLAN_mode=trunk

ovs-vsctl set port patch_to_jpzbr0 trunk=100,200

ovs-vsctl set port patch_to_jpzbr1 trunk=100,200

?10,测试联通性

相同vlan能通,不同vlan不通

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:49:45  更:2022-04-01 23:50:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:47:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码