此文已由作者刘超授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
一、Manager
Manager的结构如下
Manager表配置的是ovsdb-server的。
ovsdb-server使用manager_options中的配置来监听端口,等待client来连接。
punix:file: 监听unix socket
ptcp:port[:ip]: 监听TCP连接
pssl:port[:ip]: 监听SSL连接
接下来我们做个实验:
对于下面这个虚拟交换机
执行如下的命令:
ovs-vsctl set-manager ptcp:8881
再来看这个虚拟交换机:
发现多了Manager的配置。
在另外一台机器上,连接这个db-server
二、SSL
SSL结构如下:
SSL的配置主要包含几个部分:
Private Key: 私钥
Certificate: 证书
CA Certificate: CA的证书
private key和public key对,其中public key放在certificate中,并且需要CA使用自己的private key进行签名,CA来担保这个certificate是合法的,为了验证这个CA签名,当然需要CA的public key,而CA的public key是放在ca cert里面的,当然也需要被签名,被更高级的CA担保,或者自己担保自己。
bootstrap_ca_cert是一个boolean,如果是true,则每次启动的时候,都会向controller去拿最新的ca cert。
默认表是空的
接下来我们生成private key, certificate, CA key, CA certificate
1. 生成一个CA的private key
openssl genrsa -out caprivate.key 1024
2. CA有一个certificate,里面放着CA的public key,要生成这个certificate,则需要写一个certificate request
openssl req -key caprivate.key -new -out cacertificate.req
3. 由于这里的CA是root CA,没有更高级的CA了,所以要进行自签发,用自己的private key对自己的certificate请求进行签发
openssl x509 -req -in cacertificate.req -signkey caprivate.key -out cacertificate.pem
4. 普通的机构需要有自己的private key
openssl genrsa -out cliu8private.key 1024
5. 也需要一个证书,里面放自己的public key,需要一个证书请求
openssl req -key cliu8private.key -new -out cliu8certificate.req
6. 要使得这个证书被认可,则需要一个CA对这个证书进行签名,我们用上面的CA的private key对他进行签名
openssl x509 -req -in cliu8certificate.req -CA cacertificate.pem -CAkey caprivate.key -out cliu8certificate.pem -CAcreateserial
设置manage
ovs-vsctl del-manager
ovs-vsctl set-manager pssl:8881
ovs-vsctl set-ssl /root/keys/openvswitch/cliu8private.key /root/keys/openvswitch/cliu8certificate.pem /root/keys/openvswitch/cacertificate.pem
查看数据库
在另一台机器上,如果不输入key和certificate,则无法连接
如果设置了key和certificate,则可以连接到那台db server
网易云SSL证书提供云上证书一站式生命周期管理,与全球顶级的数字证书授权机构(CA,Certificate Authority)和代理商合作,为你的网站与移动应用实现 HTTPS 加密部署,点击可免费体验。
更多网易技术、产品、运营经验分享请点击。