Eu tenho uma máquina Solaris em algum lugar em que eu gostaria de fazer parte da minha rede via IPsec. Eu tenho este trabalho entre máquinas Solaris, mas não entre Solaris e Linux.
Acho que o problema básico é que o Solaris faz apenas o modo de encapsulamento IPsec da mesma maneira que as interfaces de encapsulamento virtual IPsec da Cisco - ou seja, um encapsulamento IP-em-IP protegido por IPsec. Eu realmente não sei como replicar isso no Linux. Eu quero que o túnel tenha um endereço IP, porque o host remoto não está roteando uma rede local - apenas ele mesmo.
A configuração do Solaris é assim:
# 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
}
Isso produz SAs que se parecem com isso:
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)
Eu realmente não sei como replicar isso no Linux. Eu tentei isso:
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;
em que posso presumivelmente colocar um túnel IPIP por cima? Mas a negociação IKE falha devido a incompatibilidade de SPD.
Alguma idéia?
Tags debian ipsec solaris linux opensolaris