专栏名称: 刘超的通俗云计算
刘超,网易云解决方案首席架构师,代码级略懂OpenStack、Hadoop、Docker、Lucene、Mesos等开源软件,曾出版《Lucene应用开发揭秘》,个人博客可搜索popsuper1982。
目录
相关文章推荐
架构师之路  ·  又一篇10W+,但都是骂我的... ·  5 天前  
高可用架构  ·  一行代码改进:Logtail的多行日志采集性 ... ·  3 天前  
架构师之路  ·  日志上报里的方案折衷!(第22讲) ·  6 天前  
夕小瑶的卖萌屋  ·  RAG 架构图解:从基础到高级的7种模式 ·  6 天前  
夕小瑶的卖萌屋  ·  RAG 架构图解:从基础到高级的7种模式 ·  6 天前  
51好读  ›  专栏  ›  刘超的通俗云计算

玩转Openvswitch第八站:Interface和Tunnel (下)

刘超的通俗云计算  · 公众号  · 架构  · 2017-07-16 00:22

正文

IPSec顾名思义,安全隧道,意味着下面三个方面:

  • 信息完整性——认证

  • 信息的私密性——加密

  • 信息不会被Replay


所以IPSec有一套协议来保证这三点。



IPSec隧道的连接也有两端,两端之间多通过对称加密来保证私密性。


所以两端都要建立Security Association,保存两边约定好的加密协议,对称秘钥,对方的IP地址等,对阵的秘钥要通过协议互换Exchange。


双方建立了连接之后,就可以对原始的包进行认证和加密了。



在原始的包之外,加入一个ESP的包头做加密。在外层的proto处的协议指定为ESP。



IPSec隧道常用于两个VPC之间的打通。


或者用于公有云和私有云之间的打通。如AWS里面:


配置这个VPN,需要配置下面三种东西。



一个是IKE,就是秘钥交换。



一个是IPSec



一个是Tunnel


GRE和IPSec一起使用,则包结构如下。


又到了做实验的时候了。



创建网桥如下:



在虚拟机Instance01上


ovs-vsctl add-br testbr

ifconfig testbr 10.0.0.1/24

ovs-vsctl add-port testbr gre0 -- set Interface gre0 type=gre options:local_ip=192.168.100.100 options:remote_ip=192.168.100.101

ovs-vsctl add-port testbr vxlan0 -- set Interface vxlan0 type=vxlan options:local_ip=192.168.100.100 options:remote_ip=192.168.100.102


在虚拟机Instance02上


ovs-vsctl add-br testbr

ifconfig testbr 10.0.0.2/24

ovs-vsctl add-port testbr gre0 -- set Interface gre0 type=gre options:local_ip=192.168.100.101 options:remote_ip=192.168.100.100

ovs-vsctl add-port testbr ipsec0 -- set Interface ipsec0 type=ipsec_gre options:local_ip=192.168.100.101 options:remote_ip=192.168.100.102 options:psk=password


在虚拟机Instance03上


ovs-vsctl add-br testbr

ifconfig testbr 10.0.0.3/24

ovs-vsctl add-port testbr vxlan0 -- set Interface vxlan0 type=vxlan options:local_ip=192.168.100.102 options:remote_ip=192.168.100.100

ovs-vsctl add-port testbr ipsec0 -- set Interface ipsec0 type=ipsec_gre options:local_ip=192.168.100.102 options:remote_ip=192.168.100.101 options:psk=password


不好,出现了环,没关系enable STP


ovs-vsctl set Bridge testbr stp_enable=true


监听Instance01的eth0: tcpdump -n -e -i eth0



监听Instance02的eth0: tcpdump -n -e -i eth0



监听Instance03的eth0: tcpdump -n -e -i eth0



最后说一下STP,全称Spanning Tree Protocol,即通过协议,将一个有环的二层网络变成一颗树。