P2S连接
写在前面:该技术文章中涉及到v-p_n单词,掘金后台提示有所谓的禁用词?所以这篇文章中的所有v-p-n我用vnp代替,尽管如此但是但是还是有些影响阅读,所以请转至我的 阿里云开发者社区 或者 腾讯云+社区 中查看
一、概念解析
1.什么是P2S
P2S(person to site)是个人到站点的连接,通过vnp软件,将你的设备连入特定内网。
2.什么是S2S
P2S(site to site)是站点到站点的连接,通过vnp网关,实现两个站点的连接。
3.什么是peering
peering(对等连接):对等连接(Peering Connection)是一种大带宽、高质量的云上资源互通服务,可以帮助您打通云上的资源通信链路。对等连接是指两个VPC之间的网络连接。您可以使用私有IP地址在两个VPC之间进行通信,就像两个VPC在同一个网络中一样。同一区域内,您可以在自己的VPC之间创建对等连接,也可以在自己的VPC与其他帐户的VPC之间创建对等连接。不同区域间的VPC之间不能创建对等连接。两个网络内的资源可互相访问。 对等连接具有多区域、多账户、多种网络异构互通等特点,轻松实现云上两地三中心、游戏同服等复杂网络场景。
二、访问方式
如下图所示,网络A中存在许多内网资源,我们需访问其中的数据,可以通过两种方式。
方式一S2S:将你的设备(如电脑)网络连接到处于已经和网络A做好S2S的网络B中,这时你的设备内网ip便处于网络B网段的子网中,这样既可借助网络B为跳板连接到网络A,来获取网络A中的资源。 这种做法的优点是:简单方便。用户只要处在网络B中,无需任何配置即可访问网络A的资源(因为网络管理员已经配置好网络B和网络A的vnp网关及网络B的路由),无论多少人只要连接到网络B无需其他操作即可访问网络A资源。缺点是你只能在网络B中才能访问网络A,当你出差或者下班不在公司的网络B中,就无法访问网络A资源。
方式二P2S:将你的电脑直接连接到网络A中。此时你需要下载vnp软件。vnp是Virtual Private Network虚拟私有网络的简称。而连接到虚拟私有网络的软件就叫做vnp软件。通过它你就就能连接到特定网络中。这种做法的优点是无需固定地点,你在世界上任意地方都可访问网络2资源。缺点是需要自行下载vnp软件并配置账号密码等,较为麻烦。
三、动手实战
P2S及peering实战操作:通过微软Azure创建两个云上虚拟网络Vnet1和Vnet2,并且在Vnet1与Vnet2之间做对等连接,添加Vnet1到Vnet2的下一跳路由使得用户可不经过Vnet1直接访问Vnet2。
〇、准备工作
登录微软Azure官方网站中国大陆版,右上角点击登陆Azure门户。若无账Azure账号,请先注册。
一、创建虚拟网络
1.进入Azure首页,点击或搜索“虚拟网络”。请勿选择”虚拟网络(经典)”。
2.点击"添加",创建虚拟网络。
3.选择一个订阅和资源组,若无请创建。这里我创建了一个Azure Study的订阅和test-abc的资源组。(资源组是存放本资源组创建的所有资源的,类似文件夹)
4.给虚拟网络命名,这里我命名为abc-vnet1,区域我选择中国东部2。
5.进入地址页面,创建ipv4地址空间,即创建私网网段。私网网段有且只有10.*.*.* 172.16.*.* 192.168.*.* 这三类(网络基础知识,不太懂的同学请学习一下ip地址的知识)。我选择创建10.10.0.0/16。
6.[安全组]和[标记]保持默认,点击下一步即可。最后确认无误后点击“创建”。
7.等待一会儿,显示部署完成,说明成功创建abc-vnet1。M
8.同样的方式再创建一个abc-vnet2,网段我选择10.21.0.0/16,不能与之前创建的abc-vnet1重复。
二、创建虚拟机
9.同样搜索框搜索"虚拟机"
三、创建虚拟网络网关
21.搜索虚拟网络网关,进入并点击添加。
四、创建生成并导出客户端根证书
创建自签名根证书
25.打开powershell,输入命如下令,并且请勿关闭窗口。
$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
-Subject "CN=P2SRootCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign
生成客户端证书
26.在窗口中继续输入如下命令:
New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature `
-Subject "CN=P2SChildCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" `
-Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")
导出根证书公钥 (.cer)
27.使用 PowerShell 键入“certmgr” 。会打开证书程序。按照如图所示顺序进行操作。
33.在设置的导出路径下会看到如下的.cer证书。
34.使用记事本打开,会开到类似如下信息,若不对说明之前操作步骤有问题请检查。
五、导出自签名根证书
35.如图所示,选择 客户端身份验证 文件,如图所示进行导出。
六、添加客户端地址池
42.点击abc-Gateway虚拟网络网关→用户vnp配置,立即配置。
七、安装vnp并查看P2S连接状态
46.创建成功后,点击下载vnp客户端。
ipconfig/all,可以看到有PPP适配器abc-vnet1说明vnp连接成功
C:\Users\>用户名>\AppData\Roaming\Microsoft\Network\Connections\Cm\<GUID串>可以看到我们abc-vnet1的网段信息。只有10.20.0.0,没有abc-vnet2的10.21.0.1,显然这是无法连通的,所以我们要进行对等连接配置。
八、创建对等连接
55.选择abc-vnt1,点击对等,添加。
九、查看结果
60.回到虚拟网络网关,再次 下载vnp客户端,安装,连接vnp。
routes.txt文件,可以看到已经成功添加abc-vnet2网段10.21.0.0
10.20.0.6和10.21.0.4都成功ping通,说明已经成功打通本机到abc-vnet1,abc-vnet1到abc-vnet2,本机直接到vnet2的道路。
十、实验成功!
最后查看一下网络拓扑图
温馨提示:朋友们在做完实验后若不需要资源,请记得删除哦,否则按量付费的费用时间久了可是很可观的.
今天的科普就到这里,由于本人自身知识储备有限,文字难免会有些疏漏和错误,还请各位朋友多多指正!希望这篇文章对你有所帮助。在以后的文章中,我将向大家讲解更多有关云产品的选择、使用、注意事项等,希望大家能喜欢,一键三连多多支持。谢谢!