本举例是在F5000-AI-55-G的E9900版本上进行配置和验证的。
如下图所示,用户接入之前,在LAC和LNS之间采用LAC-Auto-Initiated模式建立L2TP隧道。用户接入后,通过已经建立的L2TP隧道访问公司总部。同时在LAC和LNS之间建立一个IPsec隧道,对数据流进行IPsec安全保护。
图-1 IPsec over L2TP典型配置组网图
| 在开始下面的配置之前,假设已完成如下配置:LAC已获取到CA证书ca.cer和服务器证书server.pfx。 |
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<LAC> system-view
[LAC] interface gigabitethernet 1/0/1
[LAC-GigabitEthernet1/0/1] ip address 1.1.2.1 255.255.255.0
[LAC-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
# 配置IPv4高级ACL 3101,定义要保护由1.1.1.200去往10.1.0.200的数据流。
[LAC] acl advanced 3101
[LAC-acl-ipv4-adv-3101] rule permit ip source 1.1.1.200 0.0.0.0 destination 10.1.0.200 0.0.0.0
[LAC-acl-ipv4-adv-3101] quit
# 创建IPsec安全提议,两端配置的安全提议参数需要完全相同,具体配置步骤如下。
[LAC] ipsec transform-set tran1
[LAC-ipsec-transform-set-tran1] encapsulation-mode tunnel
[LAC-ipsec-transform-set-tran1] protocol esp
[LAC-ipsec-transform-set-tran1] esp encryption-algorithm sm4-cbc
[LAC-ipsec-transform-set-tran1] esp authentication-algorithm sm3
[LAC-ipsec-transform-set-tran1] quit
[LAC] pki entity entity1
[LAC-pki-entity-entity1] common-name lac
[LAC-pki-entity-entity1] quit
[LAC] pki domain domain1
[LAC-pki-domain-domain1] public-key rsa general name sm2-1
[LAC-pki-domain-domain1] undo crl check enable
[LAC-pki-domain-domain1] quit
[LAC] pki import domain domain1 der ca filename ca.cer
[LAC] pki import domain domain1 p12 local filename server.pfx
[LAC] ike proposal 10
[LAC-ike-proposal-10] authentication-method sm2-de
[LAC-ike-proposal-10] authentication-algorithm sm3
[LAC-ike-proposal-10] encryption-algorithm sm4-cbc
[LAC-ike-proposal-10] quit
[LAC] ike profile profile1
[LAC-ike-profile-profile1] exchange-mode gm-main
[LAC-ike-profile-profile1] certificate domain domain1
[LAC-ike-profile-profile1] proposal 10
[LAC-ike-profile-profile1] local-identity address 192.168.0.10
[LAC-ike-profile-profile1] match remote identity address 192.168.0.1 255.255.255.0
[LAC-ike-profile-profile1] quit
# 创建一条手工方式的IPsec安全策略,引用需要保护数据流的ACL和所需的IPsec安全提议,指定对端的IP地址,具体配置步骤如下。
[LAC] ipsec policy map1 10 isakmp
[LAC-ipsec-policy-isakmp-map1-10] remote-address 192.168.0.1
[LAC-ipsec-policy-isakmp-map1-10] security acl 3101
[LAC-ipsec-policy-isakmp-map1-10] transform-set tran1
[LAC-ipsec-policy-isakmp-map1-10] ike-profile profile1
[LAC-ipsec-policy-isakmp-map1-10] quit
[LAC] interface virtual-ppp 1
[LAC-Virtual-PPP1] ip address ppp-negotiate
[LAC-Virtual-PPP1] ppp pap local-user vpdnuser password simple Hello
[LAC-Virtual-PPP1] ipsec apply policy map1
[LAC-Virtual-PPP1] quit
[LAC] l2tp enable
[LAC] l2tp-group 1 mode lac
[LAC-l2tp1] tunnel name LAC
[LAC-l2tp1] lns-ip 1.1.2.2
[LAC-l2tp1] tunnel authentication
[LAC-l2tp1] tunnel password simple example
[LAC-l2tp1] quit
[LAC] interface virtual-ppp 1
[LAC-Virtual-PPP1] l2tp-auto-client l2tp-group 1
[LAC-Virtual-PPP1] quit
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[LAC] security-zone name untrust
[LAC-security-zone-Untrust] import interface virtual-ppp 1
[LAC-security-zone-Untrust] import interface gigabitethernet 1/0/2
[LAC-security-zone-Untrust] import interface gigabitethernet 1/0/1
[LAC-security-zone-Untrust] quit
配置安全策略放行Untrust与Local安全域之间的流量
# 配置名称为localout的安全策略规则,使LAC可以向LNS发送报文,具体配置步骤如下。
[LAC] security-policy ip
[LAC-security-policy-ip] rule name localout
[LAC-security-policy-ip-1-localout] source-zone local
[LAC-security-policy-ip-1-localout] destination-zone untrust
[LAC-security-policy-ip-1-localout] source-ip-host 1.1.2.1
[LAC-security-policy-ip-1-localout] destination-ip-host 1.1.2.2
[LAC-security-policy-ip-1-localout] action pass
[LAC-security-policy-ip-1-localout] quit
# 配置名称为localin的安全策略规则,使LAC可以接收和处理来自LNS的报文,具体配置步骤如下。
[LAC-security-policy-ip] rule name localin
[LAC-security-policy-ip-2-localin] source-zone untrust
[LAC-security-policy-ip-2-localin] destination-zone local
[LAC-security-policy-ip-2-localin] source-ip-host 1.1.2.2
[LAC-security-policy-ip-2-localin] destination-ip-host 1.1.2.1
[LAC-security-policy-ip-2-localin] action pass
[LAC-security-policy-ip-2-localin] quit
配置安全策略放行Host与Server之间的流量
# 配置名称为untrust的安全策略规则,使Host访问Server和Server访问Host的报文可通,具体配置步骤如下。
[LAC-security-policy-ip] rule name untrust
[LAC-security-policy-ip-3-untrust] source-zone untrust
[LAC-security-policy-ip-3-untrust] destination-zone untrust
[LAC-security-policy-ip-3-untrust] action pass
[LAC-security-policy-ip-3-untrust] quit
[LAC-security-policy-ip] quit
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。配置静态路由,访问公司总部的报文将通过L2TP隧道转发,具体配置步骤如下。
[LAC] ip route-static 10.1.0.0 24 virtual-ppp 1
| 在开始下面的配置之前,假设已完成如下配置:LNS已获取到CA证书ca.cer和服务器证书server.pfx。 |
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<LNS> system-view
[LNS] interface gigabitethernet 1/0/1
[LNS-GigabitEthernet1/0/1] ip address 1.1.2.2 255.255.255.0
[LNS-GigabitEthernet1/0/1] quit
请参考以上步骤配置其他接口的IP地址,具体配置步骤略。
# 配置IPv4高级ACL 3101,定义要保护由10.1.0.200去往1.1.1.200的数据流。
[LNS] acl advanced 3101
[LNS-acl-ipv4-adv-3101] rule permit ip source 10.1.0.200 0.0.0.0 destination 1.1.1.200 0.0.0.0
[LNS-acl-ipv4-adv-3101] quit
[LNS] ipsec transform-set tran1
[LNS-ipsec-transform-set-tran1] encapsulation-mode tunnel
[LNS-ipsec-transform-set-tran1] protocol esp
[LNS-ipsec-transform-set-tran1] esp encryption-algorithm sm4-cbc
[LNS-ipsec-transform-set-tran1] esp authentication-algorithm sm3
[LNS-ipsec-transform-set-tran1] quit
[LNS] pki entity entity2
[LNS-pki-entity-entity2] common-name lns
[LNS-pki-entity-entity2] quit
[LNS] pki domain domain2
[LNS-pki-domain-domain2] public-key rsa general name sm2-1
[LNS-pki-domain-domain2] undo crl check enable
[LNS-pki-domain-domain2] quit
[LNS] pki import domain domain2 der ca filename ca.cer
[LNS] pki import domain domain2 p12 local filename server.pfx
[LNS] ike proposal 10
[LNS-ike-proposal-10] authentication-method sm2-de
[LNS-ike-proposal-10] authentication-algorithm sm3
[LNS-ike-proposal-10] encryption-algorithm sm4-cbc
[LNS-ike-proposal-10] quit
[LNS] ike profile profile1
[LNS-ike-profile-profile1] exchange-mode gm-main
[LNS-ike-profile-profile1] certificate domain domain2
[LNS-ike-profile-profile1] proposal 10
[LNS-ike-profile-profile1] local-identity address 192.168.0.1
[LNS-ike-profile-profile1] match remote identity address 192.168.0.10 255.255.255.0
[LNS-ike-profile-profile1] quit
# 创建一条手工方式的IPsec安全策略,引用需要保护数据流的ACL和所需的IPsec安全提议,指定对端的IP地址,具体配置步骤如下。
[LNS] ipsec policy use1 10 isakmp
[LNS-ipsec-policy-isakmp-use1-10] remote-address 192.168.0.10
[LNS-ipsec-policy-isakmp-use1-10] security acl 3101
[LNS-ipsec-policy-isakmp-use1-10] transform-set tran1
[LNS-ipsec-policy-isakmp-use1-10] ike-profile profile1
[LNS-ipsec-policy-isakmp-use1-10] quit
[LNS] interface virtual-template 1
[LNS-Virtual-Template1] ip address 192.168.0.1 24
[LNS-Virtual-Template1] ppp authentication-mode pap
[LNS-Virtual-Template1] remote address 192.168.0.10
[LNS-Virtual-Template1] ipsec apply policy use1
[LNS-Virtual-Template1] quit
[LNS] local-user vpdnuser class network
[LNS-luser-network-vpdnuser] password simple Hello
[LNS-luser-network-vpdnuser] service-type ppp
[LNS-luser-network-vpdnuser] quit
[LNS] domain system
[LNS-isp-system] authentication ppp local
[LNS-isp-system] quit
[LNS] l2tp enable
[LNS] l2tp-group 1 mode lns
[LNS-l2tp1] tunnel name LNS
[LNS-l2tp1] allow l2tp virtual-template 1 remote LAC
[LNS-l2tp1] tunnel authentication
[LNS-l2tp1] tunnel password simple example
[LNS-l2tp1] quit
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[LNS] security-zone name trust
[LNS-security-zone-Trust] import interface gigabitethernet 1/0/2
[LNS-security-zone-Trust] quit
[LNS] security-zone name untrust
[LNS-security-zone-Untrust] import interface Virtual-Template 1
[LNS-security-zone-Untrust] import interface gigabitethernet 1/0/1
[LNS-security-zone-Untrust] quit
配置安全策略放行Untrust与Local安全域之间的流量
# 配置名称为localout的安全策略规则,使LNS可以向LAC发送报文,具体配置步骤如下。
[LNS] security-policy ip
[LNS-security-policy-ip] rule name localout
[LNS-security-policy-ip-1-localout] source-zone local
[LNS-security-policy-ip-1-localout] destination-zone untrust
[LNS-security-policy-ip-1-localout] source-ip-host 1.1.2.2
[LNS-security-policy-ip-1-localout] destination-ip-host 1.1.2.1
[LNS-security-policy-ip-1-localout] action pass
[LNS-security-policy-ip-1-localout] quit
# 配置名称为localin的安全策略规则,使LNS可以接收和处理来自LAC、Host的报文,具体配置步骤如下。
[LNS-security-policy-ip] rule name localin
[LNS-security-policy-ip-2-localin] source-zone untrust
[LNS-security-policy-ip-2-localin] destination-zone local
[LNS-security-policy-ip-2-localin] destination-ip-host 1.1.2.2
[LNS-security-policy-ip-2-localin] action pass
[LNS-security-policy-ip-2-localin] quit
配置安全策略放行Server与Host 之间的流量
# 配置名称为trust-untrust的安全策略规则,使Server与Host的报文可通,具体配置步骤如下。
[LNS-security-policy-ip] rule name trust-untrust
[LNS-security-policy-ip-3-trust-untrust] source-zone trust
[LNS-security-policy-ip-3-trust-untrust] source-zone untrust
[LNS-security-policy-ip-3-trust-untrust] destination-zone trust
[LNS-security-policy-ip-3-trust-untrust] destination-zone untrust
[LNS-security-policy-ip-3-trust-untrust] action pass
[LNS-security-policy-ip-3-trust-untrust] quit
[LNS-security-policy-ip] quit
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
请根据组网图中规划的信息,配置静态路由,本举例假设到达远端主机网络下一跳IP地址为192.168.0.10,实际使用中请以具体组网情况为准,具体配置步骤如下。
[LNS] ip route-static 1.1.1.0 24 192.168.0.10
Remote host上应将LAC设置为网关。
[LAC] display ike proposal
Priority Authentication Authentication Encryption Diffie-Hellman Duration
method algorithm algorithm group (seconds)
----------------------------------------------------------------------------
10 SM2-DE SM3 SM4-CBC Group 1 86400
default PRE-SHARED-KEY SHA1 DES-CBC Group 1 86400
[LNS] display ike proposal
Priority Authentication Authentication Encryption Diffie-Hellman Duration
method algorithm algorithm group (seconds)
----------------------------------------------------------------------------
10 SM2-DE SM3 SM4-CBC Group 1 86400
default PRE-SHARED-KEY SHA1 DES-CBC Group 1 86400
[LAC] display ike sa
RD--READY RL--REPLACED FD-FADING RK-REKEY
ID Profile Remote Flag Remote-Type Remote-ID
--------------------------------------------------------------------------------
1 profile1 192.168.0.1 RD IPV4_ADDR 192.168.0.1
[LAC] display ipsec sa
-------------------------------
Interface: Virtual-PPP1
-------------------------------
-----------------------------
IPsec policy: map1
Sequence number: 10
Mode: ISAKMP
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Inside VPN:
Extended Sequence Numbers enable: N
Traffic Flow Confidentiality enable: N
Path MTU: 1456
Tunnel:
local address/port: 192.168.0.10/500
remote address/port: 192.168.0.1/500
Flow:
sour addr: 1.1.1.200/255.255.255.0 port: 0 protocol: ip
dest addr: 10.1.0.200/255.255.255.0 port: 0 protocol: ip
[Inbound ESP SAs]
SPI: 1451246811 (0x568044db)
Connection ID: 90194313219
Transform set: ESP-ENCRYPT-SM4-CBC ESP-AUTH-SM3
SA duration (kilobytes/sec): 1843200/3600
SA remaining duration (kilobytes/sec): 1843200/3484
Max received sequence-number:
Anti-replay check enable: Y
Anti-replay window size: 64
UDP encapsulation used for NAT traversal: N
Status: Active
[Outbound ESP SAs]
SPI: 2692887942 (0xa0823586)
Connection ID: 64424509441
Transform set: ESP-ENCRYPT-SM4-CBC ESP-AUTH-SM3
SA duration (kilobytes/sec): 1843200/3600
SA remaining duration (kilobytes/sec): 1843200/3484
Max sent sequence-number:
UDP encapsulation used for NAT traversal: N
Status: Active
[LNS] display l2tp tunnel
LocalTID RemoteTID State Sessions RemoteAddress RemotePort RemoteName
52525 33375 Established 1 1.1.2.1 1701 LAC
[LNS] display l2tp session
LocalSID RemoteSID LocalTID State
21073 11183 52525 Established
C:\> ping 10.1.0.200
Pinging 10.1.0.200 with 32 bytes of data:
Reply from 10.1.0.200: bytes=32 time<1ms TTL=253
Reply from 10.1.0.200: bytes=32 time<1ms TTL=253
Reply from 10.1.0.200: bytes=32 time<1ms TTL=253
Reply from 10.1.0.200: bytes=32 time<1ms TTL=253
Ping statistics for 10.1.0.200:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
#
interface Virtual-PPP1
ppp pap local-user vpdnuser password simple Hello
ip address ppp-negotiate
l2tp-auto-client l2tp-group 1
ipsec apply policy map1
#
interface GigabitEthernet1/0/1
port link-mode route
ip address 1.1.2.1 255.255.255.0
#
interface GigabitEthernet1/0/2
port link-mode route
ip address 1.1.1.1 255.255.255.0
#
security-zone name Untrust
import interface GigabitEthernet1/0/1
import interface GigabitEthernet1/0/2
import interface virtual-ppp1
#
ip route-static 10.1.0.0 24 virtual-ppp 1
#
acl advanced 3101
rule 0 permit ip source 1.1.1.200 0 destination 10.1.0.200 0
#
pki domain domain1
public-key rsa general name sm2-1
undo crl check enable
#
pki import domain domain1 der ca filename ca.cer
pki import domain domain1 p12 local filename server.pfx
#
pki entity entity1
common-name lac
#
ipsec transform-set tran1
encapsulation-mode tunnel
protocol esp
esp encryption-algorithm sm4-cbc
esp authentication-algorithm sm3
#
ipsec policy map1 10 isakmp
transform-set tran1
security acl 3101
remote-address 192.168.0.1
ike-profile profile1
#
l2tp enable
#
l2tp-group 1 mode lac
lns-ip 1.1.2.2
tunnel name LAC
tunnel authentication
tunnel password simple example
#
ike profile profile1
certificate domain domain1
exchange-mode gm-main
local-identity address 192.168.0.10
match remote identity address 192.168.0.1 255.255.255.0
proposal 10
#
ike proposal 10
authentication-method sm2-de
encryption-algorithm sm4-cbc
authentication-algorithm sm3
#
security-policy ip
rule 0 name localout
action pass
source-zone local
destination-zone untrust
source-ip-host 1.1.2.1
destination-ip-host 1.1.2.2
rule 1 name localin
action pass
source-zone untrust
destination-zone local
source-ip-host 1.1.2.2
destination-ip-host 1.1.2.1
rule 2 name untrust
action pass
source-zone untrust
destination-zone untrust
#
#
interface Virtual-Template1
ppp authentication-mode pap
remote address 192.168.0.10
ip address 192.168.0.1 255.255.255.0
ipsec apply policy use1
#
interface GigabitEthernet1/0/1
port link-mode route
ip address 1.1.2.2 255.255.255.0
#
interface GigabitEthernet1/0/2
port link-mode route
ip address 10.1.0.1 255.255.255.0
#
security-zone name Trust
import interface GigabitEthernet1/0/2
#
security-zone name Untrust
import interface GigabitEthernet1/0/1
import interface Virtual-Template1
#
ip route-static 1.1.1.0 24 192.168.0.10
#
acl advanced 3101
rule 0 permit ip source 10.1.0.200 0 destination 1.1.1.200 0
#
local-user vpdnuser class network
password simple Hello
service-type ppp
#
pki domain domain2
public-key rsa general name sm2-1
undo crl check enable
#
pki import domain domain2 der ca filename ca.cer
pki import domain domain2 p12 local filename server.pfx
#
pki entity entity2
common-name lns
#
ipsec transform-set tran1
encapsulation-mode tunnel
protocol esp
esp encryption-algorithm sm4-cbc
esp authentication-algorithm sm3
#
ipsec policy use1 10 isakmp
transform-set tran1
security acl 3101
remote-address 192.168.0.10
ike-profile profile1
#
l2tp enable
#
l2tp-group 1 mode lns
allow l2tp virtual-template 1 remote LAC
tunnel name LNS
tunnel authentication
tunnel password simple example
#
ike profile profile1
certificate domain domain2
exchange-mode gm-main
local-identity address 192.168.0.1
match remote identity address 192.168.0.10 255.255.255.0
proposal 10
#
ike proposal 10
authentication-method sm2-de
encryption-algorithm sm4-cbc
authentication-algorithm sm3
#
security-policy ip
rule 0 name localout
action pass
source-zone local
destination-zone untrust
source-ip-host 1.1.2.2
destination-ip-host 1.1.2.1
rule 1 name localin
action pass
source-zone untrust
destination-zone local
destination-ip-host 1.1.2.2
rule 2 name trust-untrust
action pass
source-zone trust
source-zone untrust
destination-zone untrust
destination-zone trust
#
domain system
authentication ppp local
#