使用 IPsec VPN 建立腾讯云 VPC 到用户 IDC 的连接时,在配置完腾讯云 VPN 网关后,您还需在用户 IDC 本地站点的网关设备中进行 VPN 配置。本文以 Juniper 防火墙为例介绍如何在本地站点中进行 VPN 配置。
说明:
支持 Juniper SRX 系列防火墙以及 vSRX 系列虚拟防火墙,所有版本均支持。
本文所有 IP、接口等参数取值均仅用于举例,请具体配置时,使用实际值进行替换。
前提条件
数据准备
本文 IPsec VPN 配置数据举例如下:
配置项 | 示例值 | ||
网络配置 | VPC 信息 | 子网 CIDR | 10.1.1.0/24 |
| | VPN 网关公网 IP | 159.xx.xx.242 |
| IDC 信息 | 内网 CIDR | 172.16.0.0/16 |
| | 网关公网IP | 120.xx.xx.76 |
IPsec 连接配置 | IKE 配置 | 版本 | IKEV1 |
| | 身份认证方法 | 预共享密钥 |
| | 加密算法 | AES-128 |
| | 认证算法 | MD5 |
| | 协商模式 | main |
| | 本端标识 | IP Address:120.xx.xx.76 |
| | 远端标识 | IP Address:159.xx.xx.242 |
| | DH group | DH2 |
| | IKE SA Lifetime | 86400 |
| IPsec 配置 | 加密算法 | AES-128 |
| | 认证算法 | MD5 |
| | 报文封装模式 | Tunnel |
| | 安全协议 | ESP |
| | PFS | disable |
| | IPsec sa Lifetime | 3600s |
| | | |
操作步骤
1. 登录防火墙设备的命令行配置界面。
ssh -p 22 root@172.16.0.1# 通过 SSH 命令登录防火墙命令行界面root@SRX1> configureEntering configuration mode# 登录之后为操作模式,键入“configure”进入配置模式[edit]root@SRX1## “#” 表示已经进入配置模式root@SRX1# commitcommit complete# 在配置模式下面修改配置,不会直接生效,通过“commit”命令,修改的配置才会保存并生效
2. 配置防火墙网络接口、安全域、地址簿信息。
set interfaces ge-0/0/x unit 0 family inet address 172.16.0.1/16# 为内部接口ge-0/0/x定义IP地址,请更换为实际接口和IPset interfaces ge-0/0/y unit 0 family inet address 120.xx.xx.76/30# 为外部接口ge-0/0/y定义IP地址,请更换为实际接口和IPset security zones security-zone trust interfaces ge-0/0/x.0# 绑定ge-0/0/x为内部安全区(trust),对接内部业务区,请更换为实际接口set security zones security-zone untrust interfaces ge-0/0/y.0 host-inbound-traffic system-services ike# 绑定ge-0/0/y为外部安全区(untrust),对接外部广域网,并启用ike服务,表示该区域可以建立VPNset security zones security-zone untrust address-book address vpn-peer_subnet 10.1.1.0/24# 定义要访问的VPN对端的业务地址簿,用于后续的访问策略调用,命名可以自定义set security zones security-zone trust address-book address vpn-local_subnet 172.16.0.0/16# 定义本地的业务地址簿,用于后续的访问策略调用,命名可以自定义
3. 配置 IKE 策略。
set security ike proposal ike-proposal-cfgr authentication-method pre-shared-keys# 定义IPSEC VPN 认证方式(本实例使用共享密钥模式:pre-shared-keys),注意“ike-proposal-cfgr”为定义的命名,后续设置需要调用该命名set security ike proposal ike-proposal-cfgr dh-group group2# 定义IKE的dh-groupset security ike proposal ike-proposal-cfgr authentication-algorithm md5# 定义IKE认证算法set security ike proposal ike-proposal-cfgr encryption-algorithm aes-128-cbc# 定义IKE加密算法set security ike proposal ike-proposal-cfgr lifetime-seconds 86400# 定义IKE生存时间, 范围:(180~86400 seconds)set security ike policy ike-policy-cfgr mode main# 指定IKE模式set security ike policy ike-policy-cfgr proposals ike-proposal-cfgr# 定义IKE策略,需要调用上面步骤中的算法定义命名定义set security ike policy ike-policy-cfgr pre-shared-key ascii-text "TestPassword"# 定义密钥,注意密钥不能包含:“@“,”+“,”-“,”=“ 字符
4. 配置 IKE 网关、出接口和协议版本。
set security ike gateway ike-gate-cfgr ike-policy ike-policy-cfgr# 调用之前定义的IKE策略命名set security ike gateway ike-gate-cfgr address 159.xx.xx.242# 定义IKE的网关地址信息(对端VPN的公网地址)set security ike gateway ike-gate-cfgr local-identity inet 120.xx.xx.76set security ike gateway ike-gate-cfgr remote-identity inet 159.xx.xx.242# 定义VPN标记,可以使用FQDN或者IP地址等,本实例使用本端及远端IP地址set security ike gateway ike-gate-cfgr external-interface ge-0/0/y# 绑定VPN的接口,即本地的公网出口set security ike gateway ike-gate-cfgr version v1-only# 定义IKE的版本,v1
5. 配置 IPsec 策略。
set security ipsec proposal ipsec-proposal-cfgr protocol esp# 定义IPSEC阶段的加密协议set security ipsec proposal ipsec-proposal-cfgr authentication-algorithm hmac-md5-96# 定义IPSEC阶段的认证算法set security ipsec proposal ipsec-proposal-cfgr encryption-algorithm aes-128-cbc# 定义IPSEC阶段的加密算法set security ipsec proposal ipsec-proposal-cfgr lifetime-seconds 3600# 定义IPSEC阶段生存时间(范围:180~86400)set security ipsec policy ipsec-policy-cfgr proposals ipsec-proposal-cfgr# 调用之前定义的IPSEC算法定义
6. 应用 IPsec 策略。
set security ipsec vpn ipsec-vpn-cfgr ike gateway ike-gate-cfgr# 调用之前定义的IKE网关配置set security ipsec vpn ipsec-vpn-cfgr ike ipsec-policy ipsec-policy-cfgr# 调用之前定义的 IPsec 策略配置set security ipsec vpn ipsec-vpn-cfgr establish-tunnels immediately# 配置VPN直接建立通道,而不是等待流量触发set routing-options static route 10.1.1.0/24 next-hop x.x.x.x# 基于策略的VPN需要将远端的网段配置路由从公网接口发出,x.x.x.x为设备的公网接口下一跳地址
7. 配置出站策略。
set security policies from-zone trust to-zone vpn policy trust-to-untrust_any_permit match source-address vpn-local_subnetset security policies from-zone trust to-zone vpn policy trust-to-untrust_any_permit match destination-address vpn-peer_subnetset security policies from-zone trust to-zone vpn policy trust-to-untrust_any_permit match application anyset security policies from-zone untrust to-zone trust policy trust-to-untrust_any_permit then permit tunnel ipsec-vpn ipsec-vpn-cfgrset security policies from-zone untrust to-zone trust policy trust-to-untrust_any_permit then permit tunnel pair-policy untrust-to-trust_any_permit# 定义访问策略,本策略为本地网段访问VPN对端业务网段方向的策略(trust to untrust),指定调用IPSEC VPN 通道。具体的访问权限根据实际业务访问情况来设置
8. 配置入站策略。
set security policies from-zone vpn to-zone trust policy untrust-to-trust_any_permit match source-address vpn-peer_subnetset security policies from-zone vpn to-zone trust policy untrust-to-trust_any_permit match destination-address vpn-local_subnetset security policies from-zone vpn to-zone trust policy untrust-to-trust_any_permit match application anyset security policies from-zone vpn to-zone trust policy untrust-to-trust_any_permit then permit tunnel ipsec-vpn ipsec-vpn-cfgrset security policies from-zone vpn to-zone trust policy untrust-to-trust_any_permit then permit tunnel pair-policy trust-to-untrust_any_permit# 定义访问策略,本策略为对端VPN网段访问本地业务网段方向的策略(untrust to trust),指定调用IPSEC VPN 通道。具体的访问权限根据实际业务访问情况来设置
9. 保存配置。
root@SRX1# commitcommit complete# 在配置模式下面修改配置,不会直接生效,通过“commit”命令,修改的配置才会保存并生效
1. 登录防火墙设备的命令行配置界面。
ssh -p 22 root@172.16.0.1# 通过 SSH 命令登录防火墙命令行界面root@SRX1> configureEntering configuration mode# 登录之后为操作模式,键入“configure”进入配置模式[edit]root@SRX1## “#” 表示已经进入配置模式root@SRX1# commitcommit complete# 在配置模式下面修改配置,不会直接生效,通过“commit”命令,修改的配置才会保存并生效
2. 配置防火墙网络接口、安全域、地址簿信息。
set interfaces ge-0/0/x unit 0 family inet address 172.16.0.1/16# 为内部接口 ge-0/0/x定义 IP 地址,请更换为实际接口和IPset interfaces ge-0/0/y unit 0 family inet address 120.xx.xx.76/30# 为外部接口 ge-0/0/y定义 IP 地址,请更换为实际接口和IPset interfaces st0 unit 0 family inet mtu 1398# 定义通道接口,默认不设置 IP 地址,通道接口的 unit 后的参数需要指定,一个 unit 号可以绑定一个 VPN 通道,序号范围:0-16385,同时设置通道接口MTU为1398set security zones security-zone trust interfaces ge-0/0/x.0# 绑定 ge-0/0/x 为内部安全区(trust),对接内部业务区set security zones security-zone untrust interfaces ge-0/0/y.0 host-inbound-traffic system-services ike# 绑定ge-0/0/y为外部安全区(untrust),对接外部广域网,并启用 ike 服务,表示该区域可以建立 VPNset security zones security-zone vpn interfaces st0.0# 绑定通道接口到 vpn 区域(vpn),作为连接 IPSEC VPN 的逻辑通道,用于后续的路由策略以及访问策略set security zones security-zone vpn address-book address vpn-peer_subnet 10.1.1.0/24# 定义要访问的 VPN 对端的业务地址簿,用于后续的访问策略调用,命名可以自定义set security zones security-zone trust address-book address vpn-local_subnet 172.16.0.0/16# 定义本地的业务地址簿,用于后续的访问策略调用,命名可以自定义
3. 配置 IKE 策略。
set security ike proposal ike-proposal-cfgr authentication-method pre-shared-keys# 定义 IPSEC VPN 认证方式(本实例使用共享密钥模式:pre-shared-keys),注意“ike-proposal-cfgr”为定义的命名,后续设置需要调用该命名set security ike proposal ike-proposal-cfgr dh-group group2# 定义 IKE 的 dh-groupset security ike proposal ike-proposal-cfgr authentication-algorithm md5# 定义 IKE 认证算法set security ike proposal ike-proposal-cfgr encryption-algorithm aes-128-cbc# 定义 IKE 加密算法set security ike proposal ike-proposal-cfgr lifetime-seconds 86400# 定义 IKE 生存时间, 范围:(180-86400 seconds)set security ike policy ike-policy-cfgr mode mainset security ike policy ike-policy-cfgr proposals ike-proposal-cfgrset security ike policy ike-policy-cfgr pre-shared-key ascii-text "TestPassword"# 定义 IKE 策略,指定模式以及密钥,需要调用上面步骤中的算法定义命名,注意密钥不能包含:“@“,”+“,”-“,”=“ 字符
4. 配置 IKE 网关、出接口和协议版本。
set security ike gateway ike-gate-cfgr ike-policy ike-policy-cfgr# 调用之前定义的 IKE 策略命名set security ike gateway ike-gate-cfgr address 159.xx.xx.242# 定义 IKE 的网关地址信息(对端 VPN 的公网地址)set security ike gateway ike-gate-cfgr local-identity inet 120.xx.xx.76set security ike gateway ike-gate-cfgr remote-identity inet 159.xx.xx.242#定义 VPN 标记,可以使用 FQDN 或者 IP 地址等(本实例使用远端及本端 IP 地址)set security ike gateway ike-gate-cfgr external-interface ge-0/0/y# 绑定 VPN 的接口,即本地的公网出口set security ike gateway ike-gate-cfgr version v1-only# 定义 IKE 的版本,v1
5. 配置 IPsec 策略。
set security ipsec proposal ipsec-proposal-cfgr protocol esp# 定义 IPSEC 阶段的加密协议set security ipsec proposal ipsec-proposal-cfgr authentication-algorithm hmac-md5-96# 定义 IPSEC 阶段的认证算法set security ipsec proposal ipsec-proposal-cfgr encryption-algorithm aes-128-cbc# 定义 IPSEC 阶段的加密算法set security ipsec proposal ipsec-proposal-cfgr lifetime-seconds 3600# 定义 IPSEC 阶段的生存时间set security ipsec policy ipsec-policy-cfgr proposals ipsec-proposal-cfgr# 调用之前定义的 IPSEC 算法定义set security ipsec vpn ipsec-vpn-cfgr ike proxy-identity local 172.16.0.0/16set security ipsec vpn ipsec-vpn-cfgr ike proxy-identity remote 10.1.1.0/24#设置 TS(Traffic Selector)或者 SPD 配置,默认为0.0.0.0/0,如果对端也指定了网段,则需要和对端匹配set security ipsec vpn ipsec-vpn-cfgr bind-interface st0.0# 绑定 VPN 通道接口
6. 应用 IPsec 策略。
set security ipsec vpn ipsec-vpn-cfgr ike gateway ike-gate-cfgr# 调用之前定义的IKE网关配置set security ipsec vpn ipsec-vpn-cfgr ike ipsec-policy ipsec-policy-cfgr# 调用之前定义的 IPsec 策略配置set security ipsec vpn ipsec-vpn-cfgr establish-tunnels immediately# 配置 VPN 直接建立通道,而不是等待流量触发set routing-options static route 10.1.1.0/24 next-hop st0.0# 配置远端的业务 IP 网段,通过虚拟通道接口进行转发
7. 配置出站策略。
set security policies from-zone trust to-zone vpn policy trust-to-vpn_any_permit match source-address vpn-local_subnetset security policies from-zone trust to-zone vpn policy trust-to-vpn_any_permit match destination-address vpn-peer_subnetset security policies from-zone trust to-zone vpn policy trust-to-vpn_any_permit match application anyset security policies from-zone trust to-zone vpn policy trust-to-vpn_any_permit then permit# 定义访问策略,本策略为本地网段访问 VPN 对端业务网段方向的策略(trust to vpn)。具体的访问权限根据实际业务访问情况来设置
8. 配置入站策略。
set security policies from-zone vpn to-zone trust policy vpn-to-trust_any_permit match source-address vpn-peer_subnetset security policies from-zone vpn to-zone trust policy vpn-to-trust_any_permit match destination-address vpn-local_subnetset security policies from-zone vpn to-zone trust policy vpn-to-trust_any_permit match application anyset security policies from-zone vpn to-zone trust policy vpn-to-trust_any_permit then permit# 定义访问策略,本策略为对端 VPN 网段访问本地业务网段方向的策略(vpn to trust)。具体的访问权限根据实际业务访问情况来设置
9. 保存配置。
root@SRX1# commitcommit complete#在配置模式下面修改配置,不会直接生效,通过“commit”命令,修改的配置才会保存并生效