Есть задача связаться с двумя хостами через VPN, с одной стороны linux и racoon с другой ciscolinux = 1.1.1.1
cisco = 2.2.2.2
host1 за циской = 192.168.0.1
host2 за циской = 192.168.1.1конфы:
#!/sbin/setkey -f
flush;
spdflush;
spdadd 1.1.1.1 192.168.0.1 any -P out ipsec esp/tunnel/1.1.1.1-2.2.2.2/require;
spdadd 192.168.0.1 1.1.1.1 any -P in ipsec esp/tunnel/2.2.2.2-1.1.1.1/require;
spdadd 1.1.1.1 192.168.1.1 any -P out ipsec esp/tunnel/1.1.1.1-2.2.2.2/require;
spdadd 192.168.1.1 1.1.1.1 any -P in ipsec esp/tunnel/2.2.2.2-1.1.1.1/require;
racoon.confpath pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";
path include "/etc/racoon";
log notify;
padding {
maximum_length 20;
randomize off;
strict_check off;
exclusive_tail off;
}
listen {
isakmp 1.1.1.1 [500];
}remote 2.2.2.2 {
exchange_mode mail,aggressive;
doi ipsec_doi;
situation identity_only;
my_identifier address 1.1.1.1;
nonce_size 16;
initial_contact on;
proposal_check strict;
proposal {
lifetime time 3600 sec;
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
}
}
sainfo address 1.1.1.1 any address 192.168.0.1 any {
lifetime time 3600 sec;
encryption_algorithm 3des;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}
sainfo address 1.1.1.1 any address 192.168.1.1 any {
lifetime time 3600 sec;
encryption_algorithm 3des;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}после запуска racoon пингую хост 1922.168.0.1 - пингуется, в логах пишет, что тунель поднят, но второй хост не пингуется без сообщений в логах
перезапускаю racoon и начинаю пингать 192.168.1.1 - пингуется, в логах опять-таки все нормально, но теперь первый хост не пингуется
как решить ?
exchange_mode mail это описка? надо main
log notify; добавьте и смотрите что не так.
кроме того, включите ip_forward на linux
> exchange_mode mail это описка? надо main
> log notify; добавьте и смотрите что не так.
> кроме того, включите ip_forward на linuxmail это описка
log notify; уже есть и как я уже писал при установке туннеля логи выводят, что туннель установлен (INFO: IPsec-SA established)
насчет ip_forward - не обязательно, потому как на удаленные хосты нужно ходить с VPN пираповторюсь: хосты в другой сети доступны по одному, как сделать чтобы доступны были оба одновременно
во всех рассматриваемых в инете примерах есть одна внутренняя сеть с одной стороны и одна с другой
как реализовывать связь когда с одной из сторон две сети (два хоста) или более ?
как быть с политиками SPD и блоками sainfo в конфе ?
>[оверквотинг удален]
> host1 за циской = 192.168.0.1
> host2 за циской = 192.168.1.1
> конфы:
> #!/sbin/setkey -f
> flush;
> spdflush;
> spdadd 1.1.1.1 192.168.0.1 any -P out ipsec esp/tunnel/1.1.1.1-2.2.2.2/require;
> spdadd 192.168.0.1 1.1.1.1 any -P in ipsec esp/tunnel/2.2.2.2-1.1.1.1/require;
> spdadd 1.1.1.1 192.168.1.1 any -P out ipsec esp/tunnel/1.1.1.1-2.2.2.2/require;
> spdadd 192.168.1.1 1.1.1.1 any -P in ipsec esp/tunnel/2.2.2.2-1.1.1.1/require;Как вы думаете, что бы это означало..
> после запуска racoon пингую хост 1922.168.0.1 - пингуется, в логах пишет, что
> тунель поднят, но второй хост не пингуется без сообщений в логах
> перезапускаю racoon и начинаю пингать 192.168.1.1 - пингуется, в логах опять-таки все
> нормально, но теперь первый хост не пингуется
> как решить ?Ну тут все понятно, поднимается та политика, которая активизируется первой...
Я бы вам предложил бы шифровать весь трафик между 1.1.1.1 и 2.2.2.2, т.е. использовать транспорт, а не тоннель, прописав соответствующую маршрутизацию на 1.1.1.1 для достижения 192.168.0. и 192.168.1. Либо использовать что-то другое...
>[оверквотинг удален]
> spdflush;
> spdadd 1.1.1.1 192.168.0.1 any -P out ipsec esp/tunnel/1.1.1.1-2.2.2.2/require;
> spdadd 192.168.0.1 1.1.1.1 any -P in ipsec esp/tunnel/2.2.2.2-1.1.1.1/require;
> spdadd 1.1.1.1 192.168.1.1 any -P out ipsec esp/tunnel/1.1.1.1-2.2.2.2/require;
> spdadd 192.168.1.1 1.1.1.1 any -P in ipsec esp/tunnel/2.2.2.2-1.1.1.1/require;
> после запуска racoon пингую хост 1922.168.0.1 - пингуется, в логах пишет, что
> тунель поднят, но второй хост не пингуется без сообщений в логах
> перезапускаю racoon и начинаю пингать 192.168.1.1 - пингуется, в логах опять-таки все
> нормально, но теперь первый хост не пингуется
> как решить ?Попробуй заменить require на unique.
> Попробуй заменить require на unique.работает, спасибо большое, ни разу не натыкался на такой параметр, потому даже не рассматривал
> Попробуй заменить require на unique.Спасибо, и мне помогло! Три туннеля вместо одного между двумя пирами это, конечно, не очень нормально, но если циска на той стороне считает это правильным, то бог ей судья.