P2S连接
一、概念解析
1.什么是P2S
P2S(person to site)是个人到站点的连接,通过vpn软件,将你的设备连入特定内网。
2.什么是S2S
P2S(site to site)是站点到站点的连接,通过vpn网关,实现两个站点的连接。
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的vpn网关及网络B的路由),无论多少人只要连接到网络B无需其他操作即可访问网络A资源。缺点是你只能在网络B中才能访问网络A,当你出差或者下班不在公司的网络B中,就无法访问网络A资源。
方式二P2S:将你的电脑直接连接到网络A中。此时你需要下载vpn软件。vpn是Virtual Private Network虚拟私有网络的简称。而连接到虚拟私有网络的软件就叫做vpn软件。通过它你就就能连接到特定网络中。这种做法的优点是无需固定地点,你在世界上任意地方都可访问网络2资源。缺点是需要自行下载vpn软件并配置账号密码等,较为麻烦。
三、动手实战
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.同样搜索框搜索"虚拟机"
10.点击 "添加"
11.输入配置信息,名称可随意,这里我命名为abc-vnet1-vm,地址同样选择中国东部2,因为是实验,镜像我选择centos,虚拟机根据需求选择,我选择最便宜的一个。
12.身份验证类型选择密码,输入自己密码。选择允许选定的端口。点击下一步磁盘
13.磁盘我选择最便宜的标准HDD。单击下一步。
14.虚拟网络选择abc-vnet1,子网选择abc-vnet1-sbu,此时会自动分配一个公用ip,这是你的公网ip,当时我们此次试验用不上,不管他。
15.单击下一步,管理 高级 和标记都保持默认即可。
16.确认信息无误后点击创建。
17.等待部署完成,大约需要1-2分钟。查看虚拟机,可以看到已创建成功。
18.同样步骤创建第二个虚拟机,命名为abc-vnet2-vm
19.虚拟网络选择abc-vnet2,子网为abc-vnet2-sub。其他设置同第一台虚拟机一样。
20.查看虚拟机abc-vnet2-vm。创建成功。
三、创建虚拟网络网关
21.搜索虚拟网络网关,进入并点击添加。
22.输入自定义名称,这里我设置为abc-Gateway。SKU保持默认Vpn-Gw1。虚拟网络选择abc-vnet1,系统默认会勾选'新建公共IP',选择之前的订阅、资源组,位置需要选择于之前创建abc-vnet1同样的区域即'中国东部2',否则位置不同不可使用。点击创建。
23.系统提示正在部署。注:网关创建需要至少45分钟的时间,请耐心等待。
24.创建成功后,可在虚拟网络网关中看见abc-Gateway。
四、创建生成并导出客户端根证书
创建自签名根证书
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” 。会打开证书程序。按照如图所示顺序进行操作。
28.在上一步点击导出后,会弹出证书导出向导,点击下一步。
29.导出私钥窗口中选择 不,不要导出私钥
30.选择 Base64编码X.509(.CER)(S),点击下一步。
31.设置导出路径和文件名。这里我选择导出到桌面,文件名设置为rootcertificate.cer。点击下一步。
32.提示导出成功。
33.在设置的导出路径下会看到如下的.cer证书。
34.使用记事本打开,会开到类似如下信息,若不对说明之前操作步骤有问题请检查。
五、导出自签名根证书
35.如图所示,选择 客户端身份验证 文件,如图所示进行导出。
36.选择是,导出私钥
37.按照图中勾选设置。
38.输入自定义密码,用于以后安装时验证。
39.选择保存路径,这里我选择保存在桌面并命名为clientcert.pfx
40.确认信息,完成导出。
41.可以在路径下看的如图所示的文件,说明导出成功。
六、添加客户端地址池
42.点击abc-Gateway虚拟网络网关→用户vpn配置,立即配置。
43.此时打开cmd命令行工具,输入ipconfig查看IPv4的地址。这里为172.16.网段,记住此网段。(注:这里应当根据设置的子网网段)
44.使用记事本方式打开rootcertificate.cer,负责图中蓝色部分。
45.回到虚拟网络网关 黏贴至 公共证书数据,地址池填入刚刚的地址池(注:为了方便做教程我的地址池直接设置了/16的子网掩码位数,各位请根据自己企业网络下的网段进行精确设置。)点击保存,这需要较长时间,请耐心等待。
七、安装vpn并查看P2S连接状态
46.创建成功后,点击下载vpn客户端。
47.打开下载好后的文件,64位电脑选择 VpnClientSetupAmd64.exe 进行安装。
48.安装完成后可在右下角网络图标中看到VPN点击进去。进入页面,点击连接。确认连接成功。
50.在cmd中键入ipconfig/all
,可以看到有PPP适配器abc-vnet1说明vpn连接成功
52.回到虚拟机1,查看专用IP地址为10.20.0.6,我们ping一下。可以看到已经ping成功。说明电脑到abc-vnet1的网络连接成功。
53.回到虚拟机2,查看专用IP地址为10.21.0.4,我们尝试ping一下。可以看到ping不同通,说明abc-vnet1和abc-vnet2现在还为连通。我们将在接下来的步骤中进行设置。
54.打开C:\Users\>用户名>\AppData\Roaming\Microsoft\Network\Connections\Cm\<GUID串>
可以看到我们abc-vnet1的网段信息。只有10.20.0.0,没有abc-vnet2的10.21.0.1,显然这是无法连通的,所以我们要进行对等连接配置。
八、创建对等连接
55.选择abc-vnt1,点击对等,添加。
56.从abc-vnet1到abc-vnet2的名称我命名为1to2,自然对端虚拟网络选择abc-vnet2。从abc-vnet2到abc-vnet1的名称我命名为2to1,abc-vnet1中勾选 允许网关传输。确定保存
57.可以看到已经创建好1to2的对等了。
58.进入abc-vnet2查看也成功创建2to1的对等。
59.进入详情查看abc-vnet2,查看是否已经勾选使用远程网关,若无,请勾选。
九、查看结果
60.回到虚拟网络网关,再次 下载vpn客户端,安装,连接vpn。
61.连接vpn成功后,打开routes.txt
文件,可以看到已经成功添加abc-vnet2网段10.21.0.0
62.此时我们ping一下10.20.0.6
和10.21.0.4
都成功ping通,说明已经成功打通本机到abc-vnet1
,abc-vnet1
到abc-vnet2
,本机直接到vnet2的道路。
十、实验成功!
最后查看一下网络拓扑图
温馨提示:朋友们在做完实验后若不需要资源,请记得删除哦,否则按量付费的费用时间久了可是很可观的.
今天的科普就到这里,由于本人自身知识储备有限,文字难免会有些疏漏和错误,还请各位朋友多多指正!希望这篇文章对你有所帮助。在以后的文章中,我将向大家讲解更多有关云产品的选择、使用、注意事项等,希望大家能喜欢,一键三连多多支持。谢谢!