Создание IPSec VPN туннеля между Linux и Cisco PIX

Создание IPSEC VPN туннеля на основе pre-shared keys между linux 2.6 ipsec-tools(racoon) и cisco PIX firewall 5xx

Введение:

Термин VPN (Virtual Private Network) переводится как «виртуальная частная сеть».

Этот сервис предоставляющий безопасную (защищенную шифрованием), надежную связь на основе уже существующего подключения к общей сети internet, например тем кому необходимо соединить удаленную локальную сеть или удаленный офис в единую сеть с обеспечением безопастности передаваемых данных.

В моем примере будет создаваться защищенный IPSEC канал между двумя сетевыми устройствами, первое это Cisco PIX firewall — аппаратный фаервол от известного производителя и второе компьютер, работающий в качестве шлюза под управлением OS Linux. IPSEC стандарт разработанный и принятый к реализации, для повышения безопасности используемого IP протокола (см. http://www.rfc-editor.org/ RFC 2401 — IPSec) Ниже приводится небольшая схема поясняющая устанавливаемое соединение.

Схема соединения :

сети и интерфейсы :

сеть office_1 — 10.0.0.0/24
сеть office_2 — 192.168.0.0/24

pix_int — 10.0.0.1/24 (внутренний интерфейс, office_1)
pix_ext — 172.16.1.1 (внешний интерфейс)

linux_ext — 172.16.2.1 (внешний интерфейс)
linux_int — 192.168.0.1/24 (внутренний интерфейс, office_2)

Настраиваем pix (у меня был 506E):

На этом настройка PIX закончена. Для обьяснения большинства параметров указанных выше, смотрите документацию.

Настройка Linux, на примере SLES-9 :

Использовалось стандартное ядро, поставляемое с SLES-9:

Опции ядра linux для пересборки, если у вас ядро не поддерживает IPSEC,
необходимые для поддержки IPSEC.

включить все пункты модулями

далее пересобираете ядро и перезагружаетесь в него.

Для установления соединения были использованы ipsec-tools-0.3.3-1.3 идущие в поставке SLES.

На момент написания статьи на сайте http://ipsec-tools.sf.net/ была доступна версия IPsec-tools 0.6.1

Настройка конфигурационных файлов /etc/racoon/ :

в файл psk.txt вы записываете ваши секретные ключи для нашего примера в данный файл необходимо добавить следующую запись:

в файле setkey.conf определяются SA/SP базы (man setkey)

Содержимое:

конфигурационный файл для racoon — racoon.conf :

Далее запускаем racoon через /etc/rc.d/init.d/racoon start или руками

и при наличии трафика в тунеле, в логах вы увидите что-то похожее на :

для проверки, на linux сервере можете подать команду :

где xx IP из офисной сети 1, любой адрес (внутренний интерфейс pix’a пинговатся не будет)

Решение проблем:

просмотр текущего состояния тунеля на PIX’e осуществляется двумя командами:

 

При перезапуске или даже остановке racoon у вас возможно все-еще будет работать IPSEC VPN туннель так как используется реализация на уровне Linux ядра.

Для того чтобы перезапустить туннель на стороне PIX’a, необходимо выполнить 2 команды в _режиме конфигурации_ (conf t):

Как только появится трафик совпадающий по ipsec acl или при его наличии, туннель должен поднятся.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *