关于ipsec(IPsec搭建 预共享密钥 Centos部署服务器)

IPsec搭建(预共享密钥)—Centos部署服务器

本文操作经过实验认证,目前我正在使用的VPS的方案

任何服务器都绝对不能直接暴露在外网上,会被别人攻击,在公司的话整个网络就直接瘫痪了

最后会进行端口映射及防火墙的相关操作

CentOS 7

让修改后的sysctl.conf生效:

有可以报一些关于ipv6的error,不要管它,继续下一步

如何只有红框内这种报错,可以忽略!

如果有failed,就无法进行下去,那需要自己去百度、google找答案吧,我搭建的时候是没有遇到,记得把selinux关掉。

格式如下:

此设置表示,账户为admin,密码为123,可以在任何可以上网的客机上登陆此服务器 。

安装防火墙

配置防火墙

重启电脑即服务器就配置完成了,客户端电脑请看我的WINDOWS客户端配置

外网路由器请自己映射好500、4500、1701,这样才可以正常使用

思科交换机映射举例

本人的经验分享,希望可以帮助到你们,如何不对的地方,可以评论留言,帮我指正一下,如果帮助了你,请给我点个赞吧

关于IPsec 内网能互通的问题

你的设备是哪个厂商的?服务器是不是做了映射?

如果是华为、华三的,确实做了映射,那么在映射的那条命令后面加上 no-reverse,其它厂商的我不清楚命令

如果是服务器上有双网口,那么你需要在服务器上添加路由

126由浅入深学网络–IPSec VPN 实战

在公共网络设施上使用 Tunneling、加密、解密等技术实现私有网络的连接,各个私有连接在公共网络上与其它的私有网络之间相互不可见,这就是 VPN。

也就是说只要满足这样条件的网络我们都将其称之为 VPN 虚拟私有网络:

使用共享的公共环境,也就通过公网服务实现各个私有网络的连接;

不同的私有网络间相互不可见的。

VPN(Virtual Private Network),虚拟的私有网络,所谓的虚拟表示的这是一个逻辑上的专用线路来连接远在各个不同地方的私有网络,这里的私有网络便是对外所不公开的、自己使用的局域网。

使用 VPN 是因为随着公司业务的扩展在距离很远的地方有不同的分布,但是又需要使他们能够访问私有的数据、资源等等,通过公网访问太不安全,通过专线访问成本太高,所以有了 VPN。可以使用低廉的公网价格享受类似于专线的服务,并且数据经过加密非常的安全。

像我们上节实验所提到的 Frame Relay 帧中继技术所提供的 PVC 永久的虚拟电路与 VPN 是有差异的,同时 VPN 与 Frame Relay 的性能上还是有很大的差距,我们可以通过 这样一篇文章 来看看他们之间的对比。

相对于帧中继来说 VPN 更加的安全、灵活。

在接触到一个新的事物时我们首先会关心:

这个东西是什么?

这个东西用于何处?

这个东西怎么用?

上文我们便了解到 VPN 是虚拟专用网络,表示一套逻辑上建立在公网上的私有网络。而在 VPN 的发展中属 IPSec VPN(IP Security) 使用的最为广泛,主要在于其有这样的一些特点:

私有性:IPSec 在传输数据包之前,将数据包加密,这样保证了三层及以上层次的数据得到了保护,不易被人窃取私密信息;

完整性:IPSec 在目的地要验证数据包,以此来保证数据包在传输过程中没有被修改。例如提供了 Hash 算法(单向散列算法)中 MD5、SHA1 等等,通过该算法加工后的数据会生成世界上唯一的字符串,即使内容做了一点点的修改,修改一个字节,一个字符,一个比特位重新加工出来的字符串都会与之前的不同;

防重发:通过序列号实现放置数据包被捕捉与重复数据包;

身份验证:用于判断数据是否源于正确的创建者。

这个被广泛使用、不断发展的协议适合应用于这样的一些场景:

Site-to-Site:顾名思义站点到站点间做的配置,例如成都总公司与广州子公司之间的出口路由上配置,这两个出口都是固定长期不会变化的。

End-to-End:顾名思义便是端到端之间的应用,例如我家中的 PC 上有一些私密的数据,此时我出差在外需要访问这些私密的数据,这样 PC 与 PC 之间的连接便是端到端之间的连接。

End-to-Site:顾名思义便是端到站点之间连接的应用,例如我出差在广州,此时我需要访问成都总公司服务器中的数据,该服务器放置在公司的局域网内部,此时我需要访问内网中的数据便将我的终端 PC 与内网的出口路由做链接,这样我便能访问内网中的所有资源了。

IPSec 的使用只需要在两端出口的路由上做简单的配置即可使用。并且配置好后不会有太繁重的维护任务,长期使用。

IPSec 的功能如此的强大能够为我们提供加密、认证等等的一些列功能,这显然不是一个协议所能办到的事情,所以 IPSec(Internet Protocol Security)是一个协议组或者说是协议簇,IPSec 就是这一套协议组合的名字。这个组合专门用于 IP 数据通信的安全方面,其中大致包含这样一些主要的协议:

AH(Authentication Header):网络认证头部协议,主要用于数据源验证、数据完整性校验和防报文重放功能。

ESP(Encapsulating Security Payload):封装安全有效负荷,同样是一个安全协议,与 AH 类似,但是除了 AH 拥有的功能之外还有数据包的加密功能,在 IPSec 中可以使用 AH 或者 ESP 或者两者一起使用。

IKE(Internet Key Exchange):密钥管理协议,在加密过程会涉及的共享密钥,公钥,私钥等等,所以需要一个专门管理的协议。

ISAKMP(Internet Security Association and Key Management Protocol):网络安全联盟的密钥管理协议,这是 IKE 协议中的一部分,AH 与 ESP 的使用时都需要该协议的支持

这就是 IPSec,虽然还是模模糊糊,但是至少知道我们知道了它是什么,用于哪里的。

IPSec 的整个使用过程从原始数据到加密到路由之间的发送筛选等等一系列的过程十分的复杂,此处只是简单的说明一下其运行中的过程:

IP 数据包到达了安全路由器上,路由去会根据此数据包的源 IP 地址、端口号等等的信息与设置好的 ACL 对比(ACL,Access Control List,称之为访问控制列表,就像一个安全名单一样,这样信息与该名单上的信息匹配就会做一些特殊的处理);

若是在 ACL 中安全通过了,便查看路由器中的路由表,有没有相关的目的 IP 地址信息,若是有便根据路由表的指示将其发送至本机的目的端口中去;

在端口上再次匹配 ACL,若是符合条件没有问题,便交给 IPSec 来处理;

IPSec 处理的第一步便是检查 SA 的模式

检查是 Tunel 模式

检查是 Transport 模式(因为两种模式的 IP 数据包头处理方式不同)

IPSec 处理数据,使用 AH 或者 ESP 的方式,亦或者两者同时使用,各种封装的方式。

若是使用 ESP 的方式将加上新的 IP Header,若是使用的 AH 则加上的数据包头与原理的相同。

这边是整个发送数据包的大致过程,两种封装模式的不同导致添加的数据包头就不同,我们可以看 这样一篇文章 来了解之间具体有什么不同。

再多的理论只是也不是太明白,直接操作一番便知道 IPSec 是如何实现安全通信,已经远程两个局域网络的连接。

实验目的:配置实现 IPSec VPN

实验材料:四台路由器

实验方法:

拖动四台路由器(两台用作 PC 的充当,两台用作出口路由的充当)

配置路由器名字与连接线路

配置路由器的端口地址

配置 IPSec

验证 IPSec

1.按照惯例,利用我们的终端打开 GNS3,然后拖出四台路由器,做出这样的拓扑:

2.按照拓扑图上的要求配置各个端口的 IP 地址。(每个连接线上的是该连接的网段,端口旁的 .1 是主机号)

由此我们便配置好了各个端口的 IP 地址,我们可以用两台 PC 去 ping 各自的网关以及直连路由上端口的 IP 地址,例如 PC1:

同时可以使用 PC2、Router1、Router2 测试。

如此我们便完成了第二个步骤。

3.配置 RIP 动态路由

在配置 VPN 之前我们首先得保证整个网络都是通的,也就是说若是我本地的机器都不能上网这还说个啥的 VPN,数据加密呀。

配置好动态路由之后我们发现此时的网络环境已经是全网通的状态了。例如 PC1:

4.此时的网络处于全网通的状态,我们便可以开始配置 IPSec VPN 了。

上文我们提到过 IPSec 是一个协议组合,里面有很多的协议组成的,有 IKE 的密钥管理,封装方式等等,其中在两个站点建立连接的时候最重要的是两个协商

一个协商是 IKE 安全通道的建立协商

一个协商是 IPSec 安全参数的协商

在 IKE 协商协商的时候比对这样一些参数双方是否一致:

使用的加密算法

Hash 算法(单向散列算法)

DH 算法(Diffie-Hellman key exchange算法)用于密钥交换

身份认证

IKE 协商的生存时间:两个端点协商认可对方之后并不会永久生效,会有个生存时间。超时之后会再次协商’’

所谓的协商就是比对双发使用的参数是否一致,而这个参数的集合叫做 IKE policy,也就是 IKE 的策略集。

在 IPSec 协商的时候也会有一些参数:

使用的加密算法

Hash 算法(单向散列算法)

使用的封装模式(AH、ESP)

使用的安全协议

IPsec 协商的生存时间:两个端点协商认可对方之后并不会永久生效,会有个生存时间。超时之后会再次协商

而 IPSec 的协商参数集合也有一个名字叫做 transfer set转换集。

了解整个建立过程之后我们便开始配置 VPN 了,通过上述讲的过程我们首先配置会配置 IKE policy 然后配置 IPSec 转换集:

如此我们便配置好了 Router1 的所有协商内容了。你可能会觉得很麻烦要配置这么多集合,为什么不配置在一次,一个 policy,一个 transfer-set,一个 crpyto map。

这也是我们之前所提到过的模块化思想,一个 policy 可用优先级来区分,这样可以设置多个 policy。这是密钥交换、设备之间的认证一部分的功能不应该与 transfer set 糅杂在一起,应为 policy 是设备间的认证,transfer 是应用于端口上,端口之间的协商。

而 crypto map 的独立是因为若是有其他的端口需要使用相同的策略可以直接重用,而不用重新在协议套,不直接使用 transfer set 是因为可能我们使用的转换集是一样的但是我们的 ACL 策略不同,我在使用的使用可以在创建一个 crypto map 使用同样的转换集,只是新建一个 ACL 来应用而已,但是没有 crypto map 我们就必须转换集与 ACL 都重新协议套了。

所以说了这么多,这些的独立就是为了重用,在修改的时候也相互独立,管理方便。

配置好了 Router1,我们便来配置其对端的 Router2,配置上基本一模一样,因为所有的参数在协商的时候都会对比,只有相同的时候才会成功,所以几乎一模一样,但是注意在配置 peer,authentication 的密钥分享地址上要写成 Router1 的 IP 地址哦,因为那才是 Router2 的对端 IP 地址嘛。

关于ipsec(IPsec搭建 预共享密钥    Centos部署服务器)

由此我们便配置好了 Router2 上的相关参数了

5.将相关的 crypto map 应用在相应的端口上

6.由此我们便完成了所有关于协商相关的配置,我们便来验证我们的配置是否成功。

此时我们再次使用 PC1 去 ping PC2。再次之前我们先打开 Router1 与 Router2 之间链路上 wireshark 的监听,我们可以看到有这样的数据包出现:

我们捕获到了 isakmp 相关的数据包,说明 Router 之间使用该协议相互通信,当然这并不能说明什么,我们只用这样的命令来查看 session,只要发起过回话就会有 session 的记录:

同时我们还可以使用这个命令查看 sa 的状态:

这些都足以证明我们此时使用的 Tunnel 的加密隧道在通信中。

相关的调试命令有这样一些,在这里就不逐一的为大家展示了,大家可以仔细观察相关的信息:

debug 的使用开启之后不会立即有信息出来,只有在相互通信时才有相关的信息蹦出来。

IPSec 是什么?

IPv4缺乏对通信双方真实身份的验证能力,缺乏对网上传输的数据的完整性和机密性保护,并且由于IP地址可软件配置等灵活性以及基于源IP地址的认证机制,使得IP层存在着网络业务流易被监听和捕获、IP地址欺骗、信息泄露和数据项被篡改等攻击,而IP是很难抵抗这些攻击的。为了实现安全IP,Internet工程任务组IETF于1994年开始了一项IP安全工程,专门成立了IP安全协议工作组IPSEC,来制定和推动一套称为IPSec(IP Security)的IP安全协议标准。其目标就是把安全特征集成到IP层,以便对Internet的安全业务提供低层的支持。IETF于1995年8月公布了一系列关于IPSec的RFC建议标准。

完整的IPsec核心文档集处在提议标准阶段。包括:

隧道

隧道就是把一个包封装在另一个新包里面,整个源数据包作为新包的载荷部分,并在前面添加一个新的IP头。这个外部头的目的地址通常是IPSec防火墙、安全网关或路由器。通过隧道技术可以对外隐藏内部数据和网络细节。对IPSec而言,IP隧道的直接目标就是对整个IP数据包提供完全的保护。IP隧道如图所示。

此外,还有一个需要说明的概念就是“变换”。在IPSec中,一个变换是指一种安全机制的特定实现,如ESP的DES-CBC实现称为“DES-CBC ESP变换”。

IP协议本身缺乏安全性,仅用IP头中的校验和域来保证IP数据报的完整性。设计认证头(AH)协议的目的是用来增加IP数据报的安全性。AH协议提供无连接的完整性、数据起源认证和抗重放保护服务。然而,AH不提供任何机密性服务,它不加密所保护的数据包。AH的作用是为IP数据流提供高强度的密码认证,以确保被修改过的数据包可以被检查出来。AH使用消息认证码(MAC)对IP进行认证,最常用的MAC是HMAC。因为生成IP数据报的消息摘要需要密钥,所以IPSec的通信双方需要有共享密钥。对于MAC不了的解可以看MAC原理

认证头格式

AH由5个固定长度域和1个变长的认证数据域组成。下图说明了这些域在一个AH中的相对位置。

下面是这些域的说明:

下一个头(Next Header):这个8比特的域指出AH后的下一个载荷的类型。例如,如果AH后面是一个ESP载荷,这个域将包含值50。如果在我们所说的AH后面是另一个AH,那这个域将包含值51。RFC1700中包含了已分配的IP协议值信息。

载荷长度(Payload length):这个8比特的域包含以32比特为单位的AH的长度减2。为什么要减2呢?AH实际上是一个IPv6扩展头,IPv6规范RFC1883中规定计算扩展头长度时应首先从头长度中减去一个64比特的字。由于载荷长度用32比特度量,两个32比特字也就相当于一个64比特字,因此要从总认证头长度中减去2。

保留(Reserved):这个16比特的域被保留供将来使用。AH规范RFC2402中规定这个域被置为0。

安全参数索引(SPI):SPI是一个32比特的整数,用于和源地址或目的地址以及IPSec协议(AH或ESP)共同唯一标识一个数据报所属的数据流的安全关联(SA)。SA是通信双方达成的一个协定,它规定了采用的IPSec协议、协议操作模式、密码算法、密钥以及用来保护它们之间通信的密钥的生存期。关于SPI域的整数值,1到255被IANA(Internet Assigned Number Authority)留作将来使用;0被保留用于本地和具体实现使用。所以说目前有效的SPI值是从256到232-1。

序列号(Sequence number):这个域包含有一个作为单调增加的计数器的32位无符号整数。当SA建立时,发送者和接收者的序列号值被初始化为0。通信双方每使用一个特定的SA发出1个数据报就将它们的相应的序列号加1。序列号用来防止对数据包的重放,重放指的是数据报被攻击者截取并重新传送。AH规范强制发送者总要发送序列号到接收者;而接收者可以选择不使用抗重放特性,这时它不理会进入的数据流中数据报的序列号。如果接收端主机启用抗重放功能,它使用滑动接收窗口机制检测重放包。具体的滑动窗口因不同的IPSec实现而不同;然而一般来说滑动窗口具有以下功能。窗口长度最小为32比特。窗口的右边界代表一特定SA所接收到的验证有效的最大序列号。序列号小于窗口左边界的包将被丢弃。将序列号值位于窗口之内的数据包将被与位于窗口内的接收到的数据包相比较。如果接收到的数据包的序列号位于窗口内并且数据包是新的,或者它的序列号大于窗口右边界且小于232,那么接收主机继续处理计算认证数据。对于一个特定的SA,它的序列号不能循环;所以在一个特定的SA传输的数据包的数目达到232之前,必须协商一个新的SA以及新的密钥。

认证数据:这个变长域包含数据报的认证数据,该认证数据被称为完整性校验值(ICV)。对于IPv4数据报,这个域的长度必须是32的整数倍;对于IPv6数据报,这个域的长度必须是64的整数倍。用来生成ICV的算法由SA指定。用来计算ICV的可用的算法因IPSec的实现的不同而不同;然而为了保证互操作性,AH强制所有的IPSec实现必须包含两个MAC:HMAC-MD5和HMAC-SHA-1。如果一个IPv4数据报的ICV域的长度不是32的整数倍,或一个IPv6数据报的ICV域的长度不是64的整数倍,必须添加填充比特使ICV域的长度达到所需要的长度。

关于注册表设置已经处于禁用L2TP的IPSEC 是什么意思?如何启用

你好右击我的电脑管理 服务与应用程序—IPSEC服务你找下启动下他。进路由器下IPSEC你也勾选下。


------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
全新SD-WAN方案,IPLC、IEPL全球组网,搭建企业私有专线内网,实现全球高速互联!基于国外网络专线加速产品,为出海社交电商提供一站式直播、带货的海外网络专线设施服务!
点赞15 分享
评论 抢沙发
头像
欢迎您微信来电咨询!
提交
头像

昵称

取消
昵称表情

    暂无评论内容