目录
一,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不通
|