Linux和Solaris之间的IPsec隧道

我有一台Solaris机器坐在以太网的某个地方,我希望通过IPsec使其成为我的networking的一部分。 我可以在Solaris机器之间工作,但不能在Solaris和Linux之间工作。

我认为最基本的问题是Solaris只能以与Cisco IPsec虚拟通道接口相同的方式进行IPsec通道模式 – 即通过IPsec保护的IP-in-IP通道。 我真的不知道如何在Linux上进行复制。 我希望隧道有一个IP地址,因为远程主机没有路由本地networking – 只是本身。

的Solaris

Solarisconfiguration如下所示:

# ipsecinit.conf {tunnel ip.tun0 negotiate tunnel} ipsec {encr_algs AES-CBC encr_auth_algs HMAC-SHA1 auth_algs HMAC-SHA1 sa shared} # hsotname.ip.tun0 130.95.13.254 130.95.13.253 tsrc 192.168.13.20 tdst 130.95.13.20 router up # ike.config { label "manduba192-musundo" local_addr 192.168.13.20 remote_addr 130.95.13.20 p1_xform { auth_method preshared oakley_group 5 auth_alg sha1 encr_alg aes } p2_pfs 5 } 

这会产生如下所示的SA:

 SA: flags=0xc0038000 < X_USED X_PAIRED X_OUTBOUND X_UNIQUE X_TUNNEL > SRC: Source address (proto=4/ipip) SRC: AF_INET: port 0, 192.168.13.20 (manduba192.ucc.gu.uwa.edu.au). DST: Destination address (proto=4/ipip) DST: AF_INET: port 0, 130.95.13.20 (musundo.ucc.gu.uwa.edu.au). INS: Inner source address (proto=0/<unspecified>) INS: AF_INET: port 0, 0.0.0.0 <unspecified>. IND: Inner destination address (proto=0/<unspecified>) IND: AF_INET: port 0, 0.0.0.0 <unspecified>. KMC: Protocol 1, cookie="manduba192-musundo" (3) 

Linux的

我真的不知道如何在Linux中进行复制。 我试过这个:

 spdadd 0.0.0.0/0 0.0.0.0/0 any -P out ipsec esp/tunnel/130.95.13.126-192.168.13.20/use ah/tunnel/130.95.13.126-192.168.13.20/use; spdadd 0.0.0.0/0 0.0.0.0/0 any -P in ipsec esp/tunnel/192.168.13.20-130.95.13.126/use ah/tunnel/192.168.13.20-130.95.13.126/use; 

那么我可以推测,把一个IPIP隧道的顶部? 但由于SPD不匹配,IKE协商失败。

有任何想法吗?