VPN канал между офисами посредством Ipsec

В прошлой статье я рассказал как объединить два офиса в том случае, если VPN предоставляется оператором связи. Сейчас же усложним немного схему и добавим еще один VPN канал через Ipsec.

GW1:
И так, интерфейсы у нас уже настроены, нам нужно настроить Ipsec, для этого нужно обязательно установить ipsec-tools
# yam install ipsec-tools

Дальше выключаем selinux
# nano /etc/selinux/config
SELINUX=disabled

Создаем новый интерфейс пусть называется ipsec0
#nano /etc/sysconfig/network-scripts/ifcfg-ipsec0
TYPE=IPSEC  # тип ipsec комментарии излишни
ONBOOT=yes  
IKE_METHOD=PSK   # метод авторизации пароль
SRCGW=10.99.1.1  # ip источника в данном случае gw1
DSTGW=10.99.2.1  # ip назначения в данном случае gw2
SRCNET=10.99.1.0/24  # сеть источника
DSTNET=10.99.2.0/24  # сеть назначения
DST=99.99.99.99

Задаем пароль для подключения.
#nano /etc/sysconfig/network-scripts/keys-ipsec0
IKE_PSK=password

Обязательно ограничиваем права на файл
#chmod 600 /etc/sysconfig/network-scripts/keys-ipsec0

Добавляем файл конфигурации узла назначения GW2.
#nano /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 ;
}
include "/etc/racoon/99.99.99.99.conf";

Создаем данный файл
#nano /etc/racoon/99.99.99.99.conf

remote 99.99.99.99
{
        exchange_mode aggressive, main;
        my_identifier address;
        proposal {
                encryption_algorithm 3des;
                hash_algorithm sha1;
                authentication_method pre_shared_key;
                dh_group 2;
        }
}

Добавляем пароль, с которым будем подключаться к GW2.
#nano /etc/racoon/psk.txt
# file for pre-shared keys used for IKE authentication
# format is:  'identifier' 'key'
# For example:
#
#  10.1.1.1             flibbertigibbet
#  www.example.com      12345
99.99.99.99  password

Затем создаем соединение
#setkey -c << EOF
#flush;
#spdflush;
#spdadd 10.99.1.0/24 10.99.2.0/24 any -P out ipsec esp/tunnel/88.88.88.88-99.99.99.99/require;
#spdadd 10.99.2.0/24 10.99.1.0/24 any -P in ipsec esp/tunnel/99.99.99.99-88.88.88.88/require;
#EOF

Еще нам нужно внести изменения в iptables минимальный конфиг:
*nat
:PREROUTING ACCEPT [105:14555]
:POSTROUTING ACCEPT [4:364]
:OUTPUT ACCEPT [14:2768]
-A POSTROUTING -s 10.99.1.0/255.255.255.0 -d ! 10.99.2.0/255.255.255.0 -o eth2 -j MASQUERADE
COMMIT
# Completed on Tue Dec 14 15:30:21 2010
*filter
-A INPUT -p udp --dport 500 -j ACCEPT
-A INPUT -p esp -j ACCEPT
-A INPUT -p ah -j ACCEPT
COMMIT

Перезапускаем сервисы:
#service iptables restart
#service network restart


И переходим к настройке второго шлюза GW2:
установить ipsec-tools
# yam install ipsec-tools

Дальше выключаем selinux
# nano /etc/selinux/config
SELINUX=disabled

Создаем новый интерфейс пусть называется ipsec0
#nano /etc/sysconfig/network-scripts/ifcfg-ipsec0
TYPE=IPSEC  # тип ipsec комментарии излишни
ONBOOT=yes  
IKE_METHOD=PSK   # метод авторизации пароль
SRCGW=10.99.2.1  # ip источника в данном случае gw2
DSTGW=10.99.1.1  # ip назначения в данном случае gw1
SRCNET=10.99.2.0/24  # сеть источника
DSTNET=10.99.1.0/24  # сеть назначения
DST=88.88.88.88

Задаем пароль для подключения.
#nano /etc/sysconfig/network-scripts/keys-ipsec0
IKE_PSK=password

Обязательно ограничиваем права на файл
#chmod 600 /etc/sysconfig/network-scripts/keys-ipsec0

Добавляем файл конфигурации узла назначения GW2.
#nano /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 ;
}
include "/etc/racoon/88.88.88.88.conf";

Создаем данный файл
#nano /etc/racoon/88.88.88.88.conf

remote 88.88.88.88
{
        exchange_mode aggressive, main;
        my_identifier address;
        proposal {
                encryption_algorithm 3des;
                hash_algorithm sha1;
                authentication_method pre_shared_key;
                dh_group 2;
        }
}

Добавляем пароль, с которым будем подключаться к GW2.
#nano /etc/racoon/psk.txt
# file for pre-shared keys used for IKE authentication
# format is:  'identifier' 'key'
# For example:
#
#  10.1.1.1             flibbertigibbet
#  www.example.com      12345
88.88.88.88  password

Затем создаем соединение
#setkey -c << EOF
#flush;
#spdflush;
#spdadd 10.99.2.0/24 10.99.1.0/24 any -P out ipsec esp/tunnel/99.99.99.99-88.88.88.88/require;
#spdadd 10.99.1.0/24 10.99.2.0/24 any -P in ipsec esp/tunnel/88.88.88.88-99.99.99.99/require;
#EOF

Еще нам нужно внести изменения в iptables минимальный конфиг:
*nat
:PREROUTING ACCEPT [105:14555]
:POSTROUTING ACCEPT [4:364]
:OUTPUT ACCEPT [14:2768]
-A POSTROUTING -s 10.99.2.0/255.255.255.0 -d ! 10.99.1.0/255.255.255.0 -o eth1 -j MASQUERADE
COMMIT
# Completed on Tue Dec 14 15:30:21 2010
*filter
-A INPUT -p udp --dport 500 -j ACCEPT
-A INPUT -p esp -j ACCEPT
-A INPUT -p ah -j ACCEPT
COMMIT

Перезапускаем сервисы:
#service iptables restart
#service network restart

Проверяем — все должно работать. Нужно решить проблему по переключению между вариантами VPN каналами! Но об этом в будущем.
  • 0
  • 30 декабря 2011, 15:39
  • admin

Комментарии (0)

RSS свернуть / развернуть
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Яндекс.Метрика