实验环境:
AR161-S (总部):公网IP,动态域名。
AR207-S(分支1) :非公网IP
USG6306(分支2):非公网IP
实验笔记
最开始打算只用Ipsec 来实现分支与总部互访、分支与分支互访。
IPSEC 只能用ACL来引流,如果分支与总部网段较多,要配多条数据流,特别是防火墙端,每条数据流要放行,设置起来也复杂。
例:防火墙端有用户侧子网192.168.10.0 /24 与10.10.0.0/24 两个子网要实现与总部互访,假设这两子网属trust区域
防火墙侧需放行:
untrust-local 源地址为总部公网地址 //用于ipsec建立
local-untrust 目的地址为总部公网地址 //用于ipsec建立
trust-untrust 源地址为上述两子网地址,目的地址为总部子网地址或分支子网地址 // ACL数据流
untrust-trust 源地址为总部或分支子网址,目的地址为上述两子网地址 //ACL数据流
NO-NAT 上述两子网需NO-NAT,即在NAT策略中指定目的地址,这样不影响正常上网所需的NAT。
采用Ipsec over GRE 来实现,ipsec只需要一条ACL流据流来连通 GRE的tunnel 接口,GRE协议的tunnel接口 可以通告OSPF协议来实现两地子网的路由转发。
单纯GRE tunnel 连通需要指定源与目的地址,且不能为域名,普通中小企业大多为动态IP,不能用GRE来连通,但结合IPSEC隧道就可以解决没有固定公网的问题,IPSEC支持动态域名,只需总部是动态公网IP,将动态域名绑定在上网的出接口上。总部采用ipsec policy模版,可以不指定远端地址,AR上可以不引用ACL(但防火墙上必须引用ACL,否则会阻断接口网络)。
AR与USG防火墙ipsec对接因为SH2 算法存在兼容性问题,需要AR端系统视图下开启SH2兼容算法:ipsec authentication sha2 compatible enable
总部配置
[V200R010C10SPC700]
vlan batch 8 10 100
#
ipsec authentication sha2 compatible enable
#
dns resolve
dns server 61.128.128.68 //分支机构DNS要配,不能不能解析动态域名
dns server 8.8.8.8
#
dhcp enable
#
acl number 3000 //NAT
rule 5 deny ip source 10.0.0.0 0.255.255.255 //NO-NAT IPSEC 数据流中,接口上是先NAT再ipsec封装,所以要先拒绝NAT。
rule 15 permit ip
#
ddns policy dzh
url http://<username>:<password>@members.3322.org/dyndns/update?system=dyndns&hostname=<h>&myip=<a> username root password %^%#{xIW+sRf[&;]uZA=g}&)3zW'XQ*^F,(sY_#c"zQM%^%#
#
ipsec proposal lns //ipsec配置说明参考上篇文章
esp authentication-algorithm sha2-256
esp encryption-algorithm aes-256
#
ike proposal 5
encryption-algorithm aes-256
dh group14
authentication-algorithm sha2-256
authentication-method pre-share
integrity-algorithm hmac-sha2-256
prf hmac-sha2-256
#
ike peer lns
undo version 2
pre-shared-key cipher %^%#pD;q)eu-x7)qCH.\yw:1~JRL'/`jPUhC'9MU3vHM%^%#
ike-proposal 5
rsa encryption-padding oaep
rsa signature-padding pss
ikev2 authentication sign-hash sha2-256
#
ipsec policy-template dzh 10
ike-peer lns
proposal lns
#
#
interface Dialer1
link-protocol ppp
ppp chap user 02347531360
ppp chap password cipher %^%#sc+g9nmw3FaH=A@=5B'UhnSo!a#4a$cU.%342{NS%^%#
ppp pap local-user 02347531360 password cipher %^%#jv4O3#Dr7(lI~*M3%%DI<,El0}BYu<k_kd>]2uZL%^%#
ppp ipcp dns admit-any
ppp ipcp dns request
mtu 1492
ip address ppp-negotiate
dialer user arweb
dialer bundle 1
dialer number 1 autodial
dialer-group 1
nat outbound 3000
ddns apply policy dzh fqdn xxxx.8800.org //接口上绑定动态域名
ipsec policy lns
#
interface Vlanif1
ip address 192.168.1.1 255.255.255.0
dhcp select interface
#
interface Vlanif10
ip address 192.168.10.1 255.255.255.0
dhcp select interface
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk pvid vlan 10
port trunk allow-pass vlan 10
#
interface GigabitEthernet0/0/3
port link-type trunk
port trunk pvid vlan 10
port trunk allow-pass vlan 10 100
#
interface LoopBack1
ip address 10.2.1.1 255.255.255.0
#
interface Tunnel0/0/0 //与分支1对接的口
ip address 172.168.0.1 255.255.255.0
tunnel-protocol gre
source LoopBack1 //GRE封装的源地址
destination 10.1.1.1 //GRE封装的目的地址,正好对应IPSEC 数流流
#
interface Tunnel0/0/1 //与分支2对接的口
ip address 172.168.1.1 255.255.255.0
tunnel-protocol gre
source LoopBack1
destination 10.3.1.1
#
ospf 1 //OSPF路由协议,通告下述地址。
area 0.0.0.0
network 10.98.10.0 0.0.0.255
network 172.168.0.0 0.0.0.255
network 172.168.1.0 0.0.0.255
network 192.168.10.0 0.0.0.255
分支机构不发配置了,分支机构需要配ACL 引用到ipsec policy 中
即rule 5 permit ip source 10.1.1.1 0 destination 10.2.1.1 0
分支机构要指定ike remote 地址,不能使用ipsec policy 模版
undo version 2
pre-shared-key cipher %^%#&LH&>5Nb|@t3qb*$=50Y~-m85qXF!Gri)pApzsT*%^%#
ike-proposal 5
local-id-type fqdn
remote-id-type fqdn
remote-id lns
local-id lac
remote-address host-name xxxx.8800.org