2022-11-14 · 6

网络学习 1 — GRE 与 IPSec

network

这篇文章发布已超过两年,内容可能已过时。

cryptography

symmetric key(对称密钥):DES、3DES、AES — 加解密密钥相同

asymmetric key(非对称密钥):DH(Key Exchange Protocol)、RSA(需要 CA)— 加解密密钥不同

在 PowerShell 输入 certlm.msc 后查看 Certificates

可以看到 Windows 实际持有的证书文档。

Certificates 过程

Issuer Name

issuer name 指并包含颁发者或其关联公司的名称,或该关联公司的成员、管理员,或任何商号、商标、徽标、服务。包括但不限于颁发者或其关联公司拥有或使用的符号或缩写、缩略或仿制,以及颁发者站点的名称。

CDP

颁发 CA 的基本证书吊销列表(CRL)发布所在的 URL 形式位置。启用吊销检查时,应用会用该 URL 获取更新版的 CRL。URL 可使用 HTTP(Hypertext Transfer Protocol)、LDAP。

借助 CDP,应用或站点访问者可以获取证书吊销列表(CRL),从而判断数字证书是否可信。

GRE (Generic Routing Encapsulation)

一种让远程网络看起来就像本地网络的隧道协议,设计为可对任意层协议进行封装以便对其路由。

特点

Site to Site IP 隧道协议:最初由思科开发的协议

不提供数据加密功能:为确保安全,必须额外应用 IPsec 功能。

隧道内可承载的协议:三层(IPv4、IPv6、IPX、IPSec)、二层帧等,种类多样。

要创建 GRE 隧道,必须预先在 2 台以上的终端路由器之间设置虚拟串行链路接口。

GRE 的头部

在原始数据包上附加 GRE 头,并在 2 台以上路由器之间预先设定的虚拟链路上传输该数据包,路由器之间被当作端到端 HDLC 封装那样处理。

GRE 隧道的分类

1. Point to Point

2. Multipoint

关于 GRE 隧道

GRE 隧道的传统实现包含在两个站点之间往返的点到点隧道配置。当这就是所需行为、且要配置的隧道数量有限时,这类配置工作得很好。但当分支(spoke)站点数量众多时,中心(hub)路由器的配置和独立 IP 地址范围的数量反而会很快变得过多。

关于 GRE 头部

默认 IPv4 的 MTU 是 1500 byte。其中 Header 由 20byte 组成,而 GRE header 会在之后附加。这样一来总共 1524 byte,该数据包会被分片。这样不行,所以从一开始发送时就减去后面的 24 byte,发送 1476byte。

IPSec VPN

0. IPSec VPN 配置流程

  • 利用 ACL 定义作为 VPN 目标的流量。
  • 定义用于指定 SA 参数值的 IKE 策略。
  • 配置认证相关设置值(共享密钥、密码、IP 地址)。
  • 定义用于 IPSec 通信的 Transform-set。
  • 定义 IPSec 策略。
  • 在接口上应用 IPSec 策略。

1. 利用 ACL 定义作为 VPN 目标的流量。

使用 Extended ACL,指定通过公网使用 IPSec VPN 的流量对象。

Router(config)# access-list [number] [permit | deny] [protocol] [Source] [source wildcard-mask] [destination] [destination whildcard-mask]

在 VPN 中必须使用 Permit!

2. 利用 ACL 定义作为 VPN 目标的流量。

ISAKMP SA(IKE 1)策略定义

配置 ISAKMP SA(IKE 1)加密、认证的参数。配置如下进入 'config-isakmp' 模式进行。

Router(config)# crypto isakmp policy [policy number 1~10000]

3. 各参数定义

  • 认证方式
  • 加密算法
  • Diffie-Hellman 组
  • 哈希算法
  • 有效期
  • 认证设置(与共享密钥和 IP 地址相关)

4. 认证方式

认证方式有公钥方式和共享密钥方式。默认值是 'rsa-sig'。

Router(config)# authentication [pre-share | rsa-encr | rsa-sig]

5. 加密算法

指定加密算法。默认值是 'des'。

Router(config)# encryption [3des | aes | des]

6. Diffie-Hellman 组

选择用于安全收发密钥的 'Diffie-Hellman' 组。默认值是 'group 1'。

数值越大加密强度越高,但开销也随之增加。

Router(config-isakmp)# group [1 | 2 | 5 | 14 ...]

7. 哈希算法

指定认证算法,可选择 'md5'、'sha'。默认值是 'sha'。

Router(config-isakmp)# hash [md5 | sha ...]

8. 有效期

长时间使用 SA 在安全上较脆弱,因此指定有效期以便按适当的时间间隔重新更新。默认值是 86400 秒(1 天)。

Router(config-isakmp)# lifetime [60~86400 second]

9. 配置认证相关设置值(共享密钥、密码、IP 地址)。

设置相互路由器之间共用的共享密钥(密码)和 IP 地址。

Router(config)# crypto isakmp key [password] address [destination ipv4 address]

此时密码要与对端指定为相同。

10. 定义用于 IPSec 通信的 Transform-set。

在 Transform-set 中定义 AH、ESP,用户指定认证协议和加密算法。此外还要指定 IPSec 通信模式。

Router(config)# crypto ipsec transform-set TS esp-3aes esp-sha-hmac

11. IPSec 模式定义

指定 IPSec 通信模式。模式可如下指定为传输模式和隧道模式。默认值是隧道模式。

Router(cfg-crypto-trans)# mode [transport | tunnel]

12. 定义 IPSec 策略。

进行 IPSEC SA(IKE 2)配置。配置完成后应用到接口。

crypto map 定义

Router(config)# crypto map [name: string] [number: 1~65535] jipsec-isakmp

13. 指定 IPSec 对端路由器 IP 地址

Router(config-crypto-map)# set peer [hostname | ip address]

14. 指定 Transform-set

Router(config-crypto-map)# set transform-set [transform-set name]

15. 指定 IPSec SA 生存时间

指定 IPSec SA 的生存时间。可用所使用数据包的千字节数或秒来指定。以先满足条件者为准应用。默认值是 '4.6 GB'、'3600 秒(1 小时)'。

Router(config-crypto-map)# set security-association lifetime [kilobytes | seconds]

16. 在接口上应用 IPSec 策略。

用如下方法把配置好的 IPSec 策略应用到接口。

Router(config)# interface [interface name]
Router(config-if)# crypto map [crypto map name]

原文(韩语): tistory — 发布于 2022-11-14,已迁移至本博客。本翻译由 AI 协助完成。

评论

删除这条评论?

相关文章

网络学习 1 — GRE 与 IPSec · 나봄하랑