以前说过一篇关于SSG动态IP利用动态域名解析的方式,按照固定IP的模式配置×××站点的案例,它的实质其实还是固定IP,只不过是把固定IP变成了固定域名,每次接续的时候,实时更新DNS解析完成,这其实也有不好的地方,就是使用DNS服务器信任的问题,以及DNS更新速度的问题。本人在Fortigate上面用同样的原理配置的×××站点就不大灵光,当一方的IP发生变化以后,Fortigate上的DNS死活不能更新,不得不在fotigate上进行若干的更新,等待操作,它才姗姗来迟的把对方的IP更新了,虽然这个问题在SSG上没有表现,但是,毕竟需要信任外部的DNS服务器,这不得不说是一个安全隐患。
    我们知道,×××客户端肯定是用的动态IP,而且也不需要动态域名解析去支持,那么是不是可以以客户端的形式导入×××站点呢。答案是肯定的。
    这样有几点要素,做服务器端的×××站点必须是固定IP(当然用域名也不是不可以,安全性要打些折扣),服务器端的站点不能首先发出向客户端方向的通信。
 
    我们的案例是路由模式的×××,针对该方式,前面有文章专题说过,所以很多细节就不详细说明了。
    客户端×××站点的配置和固定IP相同,唯一不同点就是在
×××s > AutoKey Advanced > Gateway 位置里面的Local ID,这个本来是optional,固定IP的时候,一般不配置的,但是现在必须配置,对端就是用这个来进行匹配识别的,可以配置本地端的DNS域名,也可以配置一个其他什么的。其它的和固定IP的配置没有区别。
    服务器端×××站点的配置有很大区别。×××s > AutoKey Advanced > Gateway 位置的选项不在是固定IP(Static IP Address),而是Dynamic IP Address,在后面的Peer ID栏目里填上,客户端一端的Local ID的内容,要一致。然后进入高级(Advanced),Mode (Initiator)必须选Aggressive,双方的第二阶段和固定IP没区别,就不废话了,不清楚的可以参考×××站点的路由(隧道、接口)模式和策略模式
服务器端的配置SSG固件6.4版
set zone id 101 "×××"
unset zone "×××" tcp-rst
set zone "×××" asymmetric-vpn
set interface "tunnel.4" zone "×××"
set interface tunnel.4 ip unnumbered interface ethernet0/0
set ike gateway "relay" address 0.0.0.0 id "abc.dyndns.org" Aggr outgoing-interface "ethernet0/0" preshare "iVkHXz91N8SSBxs3ScCjoCQIIRnfS2E3DQ==" sec-level standard
set vpn "relay_vpn" gateway "relay" no-replay tunnel idletime 0 sec-level standard
set vpn "relay_vpn" monitor optimized rekey
set vpn "relay_vpn" id 0x4 bind interface tunnel.4
set vpn "relay_vpn" dscp-mark 0
unset interface tunnel.4 acvpn-dynamic-routing
set policy id 11 from "×××" to "Trust"  "Any" "Any" "ANY" permit
set policy id 11
exit
set policy id 12 from "Trust" to "×××"  "Any" "Any" "ANY" permit log
set policy id 12
exit
set route 172.16.136.248/29 interface tunnel.4
 
客户端方面的配置netscreen5gt固件5.4版
set zone id 100 "×××"
unset zone "×××" tcp-rst
set zone "×××" asymmetric-vpn
set interface "tunnel.1" zone "×××"
set interface tunnel.1 ip unnumbered interface trust
set ike gateway "MN_GW" address 36.*.*.89 Aggr local-id "abc.dyndns.org" outgoing-interface "untrust" preshare "cQZ3u6arN7ASJsslDpCKKKUO6anCLzy8Jg==" sec-level standard
set vpn "MN_×××" gateway "MBPMN_GW" no-replay tunnel idletime 0 sec-level standard
set vpn "MN_×××" monitor optimized rekey
set vpn "MN_×××" id 16 bind interface tunnel.1
set policy id 2 from "Trust" to "×××"  "Local" "Any" "ANY" permit
set policy id 2
exit
set policy id 10 from "×××" to "Trust"  "Any" "Local" "ANY" permit
set policy id 10
exit
set route 172.26.136.0/24 interface tunnel.1