понедельник, 4 апреля 2011 г.

Route-based IPSEC между Juniper и Linux

Итак, настраивается все через ж.. криво. Смог настроить только после месяца медитации.

Juniper side:
root@jun# show security ipsec
vpn vpn-msm {
     bind-interface st0.0;
          ike {
               gateway ike-gate-msm;
               proxy-identity {
                    local 172.20.1.1/32;   ## Вообще левый адрес
                     remote 172.20.1.2/32; ## Еще один
                    service any;
                    }
          ipsec-policy ipsec-policy-msm;
          }
establish-tunnels immediately;
}

root@jun# show interfaces
st0 {
     unit 0 {
          family inet {
               address 172.20.1.1/32 {
                    destination 172.20.1.2;
               }
          }
     }
}


Linux side (OpenSWAN):

/etc/ipsec.conf:
conn %default
     salifetime=8h
     ikev2=no
     ikelifetime=1h
     auth=esp
     authby=secret
     forceencaps=no
     type=tunnel
     ike=3des-sha1
     phase2alg=3des-sha1
     keyexchange=ike
     pfs=no
     esp=3des-sha1
     left=79.137.200.71
     leftid=79.137.200.71

conn mytestconn
      right=213.277.282.133
      rightid=213.277.282.133
     leftsubnet=172.20.1.2/32
     rightsubnet=172.20.1.1/32
     auto=start

И теперь главный финт ушами: вешаем на любую понравившуюся сетевуху такой алиас:
ip a a dev eth0 172.20.1.2/30

После этого штатными средствами строим GRE-туннель между 172.20.1.1 <-> 172.20.1.2:
Linux side:
iptunnel add tunnel0 mode gre remote 172.20.1.1 local 172.20.1.2
ip link set tunnel0 up multicast on
ip a a dev tunnel0 192.168.30.10 peer 192.168.30.9


Juniper side:
root@jun# show interfaces gr-0/0/0 unit 1
point-to-point;
tunnel {
    source 172.20.1.1;
    destination 172.20.1.2;
}
family inet {
    mtu 1476;
    address 192.168.30.9/32 {
        destination 192.168.30.10;
    }
}

Комментариев нет: