И так, пусть у нас есть два сервера Linux CentOS 5.6(2.6.18-238.9.1.el5):
Gateway 1: реальный IP x.x.x.x внутренняя сеть 192.168.0.0/24(192.168.0.1 на шлюзе)
Gateway 2: реальный IP y.y.y.y внутренняя сеть 10.10.0.0/24(10.10.0.1 на шлюзе)
Устанавливаем ipsec-tools:
На Gateway 1 в папке /etc/sysconfig/network-scripts создаем файл ifcfg-ipsec0 и редактируем его:
ONBOOT=yes
IKE_METHOD=PSK
SRCGW=192.168.0.1
DSTGW=10.10.0.1
SRCNET=192.168.0.0/24
DSTNET=10.10.0.0/24
DST=y.y.y.y
создаем файл /etc/sysconfig/network-scripts/keys-ipsec0 с уникальным ключом внтури, как пример :
Обязательно выставьте права:
В /etc/racoon/racoon.conf :
path pre_shared_key «/etc/racoon/psk.txt»;
path certificate «/etc/racoon/certs»; sainfo anonymous
{
pfs_group 2;
lifetime time 1 hour ;
encryption_algorithm 3des, blowfish 448, rijndael ;
authentication_algorithm hmac_sha1, hmac_md5 ;
compression_algorithm deflate ;
}
remote y.y.y.y
{
exchange_mode aggressive, main;
my_identifier address;
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
}
}
В файл /etc/racoon/psk.txt:
Настраиваем setkey:
flush;
spdflush;
spdadd 192.168.0.0/24 10.10.0.0/24 any -P out ipsec esp/tunnel/y.y.y.y-x.x.x.x/require;
spdadd 10.10.0.0/24 192.168.0.0/24 any -P in ipsec esp/tunnel/x.x.x.x-y.y.y.y/require;
EOF
И преходим к настройке Iptables:
-A INPUT -p esp -j ACCEPT
-A INPUT -p ah -j ACCEPT
Далее, делаем все то же самое на Gateway 2. Создаем и редактируем /etc/sysconfig/network-scripts/ifcfg-ipsec0:
ONBOOT=yes
IKE_METHOD=PSK
SRCGW=10.10.0.1
DSTGW=192.168.0.1
SRCNET=10.10.0.0/24
DSTNET=192.168.0.0/24
DST=x.x.x.x
создаем файл /etc/sysconfig/network-scripts/keys-ipsec0 с уникальным ключом внтури, как пример :
Обязательно выставьте права:
chmod 600 /etc/sysconfig/network-scripts/keys-ipsec0
В /etc/racoon/racoon.conf :
path pre_shared_key «/etc/racoon/psk.txt»;
path certificate «/etc/racoon/certs»;
sainfo anonymous
{
pfs_group 2;
lifetime time 1 hour ;
encryption_algorithm 3des, blowfish 448, rijndael ;
authentication_algorithm hmac_sha1, hmac_md5 ;
compression_algorithm deflate ;
}
remote x.x.x.x
{
exchange_mode aggressive, main;
my_identifier address;
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;
}
}
В файл /etc/racoon/psk.txt:
Настраиваем setkey:
flush;
spdflush;
spdadd 10.10.0.0/24 192.168.0.0/24 any -P in ipsec esp/tunnel/x.x.x.x-y.y.y.y/require;
spdadd 192.168.0.0/24 10.10.0.0/24 any -P out ipsec esp/tunnel/y.y.y.y-x.x.x.x/require;
EOF
И преходим к настройке Iptables:
-A INPUT -p esp -j ACCEPT
-A INPUT -p ah -j ACCEPT
Andrey says:
Возможно ли вместо реальных IP использовать имена DynDNS ?
admin says:
Если честно, я не вижу не единой причины почему оно не должно работать с DynDns