Есть две сети с серверами на CentOS. Каждый из северов имеет внутренний интерфейс для локальной сети офиса и внешний интерфейс со статичным ip-адресом и служит в качестве прокси-сервера. Необходимо создать VPN-туннель между двумя сетями.
Cеть выглядит так:( office_1 ) -- [ linux ] ~~ internet ~~ [ linux ] -- ( office_2 )
сети и интерфейсы :сеть office_1 - 10.0.0.0/24
сеть office_2 - 192.168.0.0/24
office_1_int - 10.0.0.1/24 (внутренний интерфейс, office_1)
office_1_ext - 84.84.84.1 (внешний интерфейс)
office_2_ext - 84.84.84.2 (внешний интерфейс)
office_2_int - 192.168.0.1/24 (внутренний интерфейс, office_2)
Следующие шаги выполняем на сервере
office_2:
1. создаем
/etc/sysconfig/network-scripts/ifcfg-ipsec0 на сервере
office_2
TYPE=IPSEC # тип соединения
ONBOOT=yes # запускать при включении сервера
IKE_METHOD=PSK # тип ключа
SRCGW=192.168.0.1 # шлюз источника, т.е. шлюз сети office_2
DSTGW=10.0.0.1 # шлюз получателя, т.е. шлюз сети office_1
SRCNET=192.168.0.0/24 # сеть источника - сеть office_2
DSTNET=10.0.0.0/9 # сеть получателя - сеть office_1
DST=84.84.84.1 # внешний IP-адрес получателя - сети office_1
2. Создаем
/etc/sysconfig/network-scripts/keys-ipsec0 на сервере
office_2
IKE_PSK=superpass
где
superpass – ключ, одинаковый для обоих серверов
3. Чтобы ограничить доступ к файлу
keys-ipsec0, позволив читать и изменять его только пользователю root, выполните после создания файла следующее на сервере
office_2chmod 600 /etc/sysconfig/network-scripts/keys-ipsec0 4. Правим/создаем
/etc/racoon/racoon.conf:
# Racoon IKE daemon configuration file.
# See 'man racoon.conf' for a description of the format and entries.
path include "/etc/racoon";
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 ;
}
где:
sainfo anonymous - отмечает, что SA может автоматически инициализировать соединение с любым партнёром при совпадении учётных сведений IPsec.
pfs_group 2 - определяет протокол обмена ключами Диффи-Хелмана, задающий алгоритм, по которому узлы IPsec устанавливают общий временный ключ сеанса для второй фазы соединения IPsec.
lifetime time 1 hour - этот параметр задаёт срок жизни SA и может быть определяться временем или объёмом данных в байтах.
encryption_algorithm 3des, blowfish 448, rijndael -указывает поддерживаемые алгоритмы шифрования для фазы 2.
authentication_algorithm hmac_sha1, hmac_md5 - перечисляет поддерживаемые алгоритмы хэша для проверке подлинности. Поддерживаются режимы sha1 и md5 хэшированных кодов проверки подлинности сообщения (Hashed Message Authentication Codes, HMAC).
compression_algorithm deflate - определяет алгоритм сжатия Deflate для поддержки сжатия IP-заголовков (IP Payload Compression, IPCOMP), что может увеличить скорость передачи IP-датаграм по медленным соединениям.
5. Отредактируем
/etc/sysctl.conf и зададим
net.ipv4.ip_forward равным
1Чтобы изменение вступило в силу, выполним команду:
sysctl -p /etc/sysctl.confили тупо перезагрузим сервер
6. Запускаем интерфейс
ifup ipsec0Аналогично настраиваем сервер
office_1. Только меняем везде
ipsec0 на
ipsec1 (что в принципе не обязательно – можно на обоих настроить ipsec0) и в конфигурационных файлах меняем везде местами ip источника и получателя.
Проверка работоспособности – с машины офиса
office_1 пингуем шлюз сети
office_2, а потом какой-нибудь компьютер сети
office_2. Так же пингуем в обратном направление.
На время настройки я посоветовал бы отключить iptables на обоих серверах.
PS: я так и не понял обязательно ли ключ прописывать в /etc/racoon/psk.txt – вроде и без него все работает.
Группа: Гости
Регистрация: --
Статус: