Имеется исходная конфигурация на Zyxel Zywall 35: несколько VPN каналов, находящихся в одной подсети, соединяются с частичными диапазонами другой подсети следующего вида:server
192.168.1.0/24-----------------192.168.7.1-192.168.7.5 (клиент 1)
| |
| -------------------192.168.7.6-192.168.7.10 (клиент 2)
|
---------------------------192.168.7.11-192.168.7.15 (клиент 3)
Сколько не искал в интернете так и не смог найти, как реализовать данную конфигурацию. Насколько я понял конфигурация IPSec в Linux не позволяет задавать диапазон IP, находящихся в одной подсети. Можно только указывать подсеть полностью. Существуют ли реализации IPSec поддерживающие такую возможность? Поддерживает ли ее ipsec-tools и как она реализуется?
Временно решили пробрасывать всю подсеть на каждого клиента. Вот схема:
server
192.168.1.0/24------------------------------------------------------192.168.7.0/24 (клиент 1)
| |
| ---------------------------------------------------------------192.168.7.0/24 (клиент 2)
|
----------------------------------------------------------------------192.168.7.0/24 (клиент 3)
Ниже представлены конфигурационные файлы:
racoon:
path pre_shared_key "/etc/racoon/psk.txt";
remote 192.168.5.10 {
exchange_mode_main;
# Gateway(ike) proposal
proposal {
encryption_algorithm des;
hash_algorithm md5;
authentication_method pre_shared_key;
dh_group modp768;
}
}
remote 192.168.5.11 {
exchange_mode_main;
# Gateway(ike) proposal
proposal {
encryption_algorithm des;
hash_algorithm md5;
authentication_method pre_shared_key;
dh_group modp768;
}
}
remote 192.168.5.12 {
exchange_mode_main;
# Gateway(ike) proposal
proposal {
encryption_algorithm des;
hash_algorithm md5;
authentication_method pre_shared_key;
dh_group modp768;
}
}
sainfo address 192.168.1.0/24 any address 192.168.7.0/24 any {
encryption_algorithm des;
authentication_algorithm hmac_sha1;
compression_algorithm deflate;
}
ipsec.conf:
#!/usr/sbin/setkey -f
#
#flush SAD and SPD
flush;
spdflush;
# Create policies for racoon
spdadd 192.168.1.0/24 192.168.7.0/24 any -P out ipsec
esp/tunnel/192.168.5.1-192.168.5.10/require;
spdadd 192.168.7.0/24 192.168.1.0/24 any -P in ipsec
esp/tunnel/192.168.5.10-192.168.5.1/require;
spdadd 192.168.1.0/24 192.168.7.0/24 any -P out ipsec
esp/tunnel/192.168.5.1-192.168.5.11/require;
spdadd 192.168.7.0/24 192.168.1.0/24 any -P in ipsec
esp/tunnel/192.168.5.11-192.168.5.1/require;
spdadd 192.168.1.0/24 192.168.7.0/24 any -P out ipsec
esp/tunnel/192.168.5.1-192.168.5.12/require;
spdadd 192.168.7.0/24 192.168.1.0/24 any -P in ipsec
esp/tunnel/192.168.5.12-192.168.5.1/require;
После перезапуска racoon появились следующие ошибки:
# /etc/init.d/racoon restart
* Stopping racoon ... [ ok ]
* Flushing policy entries ... [ ok ]
* Loading ipsec policies from /etc/ipsec.conf.
The result of line 23: File exists.
The result of line 26: File exists.
The result of line 26: File exists.
The result of line 33: File exists.
Возможно я что либо делаю не так? Посоветуйте как правильно? Реализуема ли данная схема?