玩转Openvwitch站:Manager和SSL

2020-06-01 00:00:00 连接 自己的 证书 监听 签名

一、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



设置manager


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



相关文章