Разделы новостей
Последние новости:
Железо
Софт
Интернет
Наука и техника
Электронная коммерция

Разделы статей



IPSec с нуля за 4 минуты

В этой короткой статье показано, как за 4 минуты поднять полнофункциональный IPSec VPN между двумя машинами со свежеустановленной ОС OpenBSD.







Разместить статью на этом сайте





[Dragos Ruiu. Перевод: Сгибнев Михаил]

До недавнего времени установка решений IPSec с открытым исходным кодом была до горечи сложным и запутанным процессом. Много людей разочаровались в IPSec после того, как впервые посмотрели на ужасную и сложную документацию, решив вместо этого установить какой-либо коммерческий SSL VPN, кажущийся намного более простым. Те, кто боролся с хаосом SA, ESP, AH, SPI, CA, сертификатов, FIFO, IKE и жаргоном описания политик в RFC заработали немало головных болей. Однако, недавно появился свет в конце тоннеля - настройка IPSec под OpenBSD.

В этой короткой статье показано, как за 4 минуты поднять полнофункциональный IPSec VPN между двумя машинами со свежеустановленной ОС OpenBSD. Целью этой статьи, конечно же, заключается не в том, чтобы дать исчерпывающий обзор всех опций, доступных в IPSec или OpenBSD, а в том, чтобы показать, как быстро и легко мы можем осуществить то, что у других занимает недели и месяцы. Введение в ipsecctl OpenBSD Вы, возможно, не обратили внимание на то, что в OpenBSD 3.8 появилась новая команда: ipsecctl. И это действительно замечательно. Эта команда обеспечивает так необходимый уровень абстракции ко всему очень гибкому, но ужасно запутанному механизму IPSec. В реальной жизни, большинство людей не нуждается и в половине конфигурации и опций протокола, обеспечиваемых IPSec, таким образом, необходимость этого уровня абстракции черезвычайно велика.

Если ваша цель состоит в том, чтобы просто организовать Virtual Private Network (VPN) между между двумя сайтами (сетями, офисами и т.д), то конфигурирование, которое необходимо было сделать, было просто ужасным и бутылка пива была необходимой утилитой. Теперь этих мучений больше нет! Теперь, с помощью ipsecctl, VPN может быть установлен просто редактируя один файл конфигурации OpenBSD: /etc/ipsec.conf.

В качестве тестa, мой коллега Шон Комео и я взяли два, только-только установленных брандмауэра на базе OpenBSD в конфигурации по умолчанию и редактировали три файла. Мы изменили в общей сложности семь строк конфигурации на каждой системе, после чего получили IPSec VPN между нашими двумя сайтами в течение четырех минут после первой начальной загрузки.

Те, кто ранее не сталкивался с процессом установки OpenBSD, найдут его удивительно простым. Два самых популярных способа - установка в CD-ROM и FTP. В этой статье мы предположим, что у вас есть две готовые к запуску машины с OpenBSD. Учтите, что если вы обновили систему через CVS до OpenBSD 3.8-stable или OpenBSD 3.8-current, обе машины в вашем VPN должны быть одинаковых версий. Пример IPSec Обозначим цели, которые мы хотим достигнуть: мы хотим объединить две удаленные сети через Виртуальную Частную Сеть IPSec (VPN). Обе сети используют OpenBSD Network Address Translation (NAT). Сеть А Внешний IP адрес: 1.2.3.4, диапазон внутренних адресов: 10.1.1.0/24 Сеть В Внешний IP адрес: 5.6.7.8, диапазон внутренних адресов: 10.2.2.0/24

Файл конфигурации PF, предоставляющего службы брандмауэра и NAT, называется /etc/pf.conf. На обеих системах в этом примере, pf.conf должен выглядеть следующим образом:

ext_if="fxp0" int_if="fxp1" set skip on { lo $int_if } nat on $ext_if ftom !($ext_if) -> ($ext_if:0) block in pass out keep state

На обоих системах включен форвардинг пакетов, расскоментировав опцию "net.ip.forwarding=1" в /etc/sysctl.conf, так как он необходим для функционирования службы NAT. Теперь, когда у нас есть две должным образом настроенные системы, приступим к настройке VPN. Шаг 1. конфигурируем IPSec Добавим следущие строки к файлу /etc/ipsec.conf на маршрутизаторе А:

ike esp from 10.1.1.0/24 to 10.2.2.0/24 peer 5.6.7.8 ike esp from 1.2.3.4 to 10.2.2.0/24 peer 5.6.7.8 ike esp from 1.2.3.4 to 5.6.7.8

В том же файле на маршрутизаторе В:

ike passive esp from 10.2.2.0/24 to 10.1.1.0/24 peer 1.2.3.4 ike passive esp from 5.6.7.8 to 10.1.1.0/24 peer 1.2.3.4 ike passive esp from 5.6.7.8 to 1.2.3.4

Ключ passive указывает на то, что маршрутизатор А инициирует соединение, а маршрутизатор В готовится принять вызов. Шаг 2. Пропускаем IPSec через брандмауэр На маршрутизаторе А добавляем следущее в /etc/pf.conf:

pass quick on $ext_if from 5.6.7.8

И заменяем строку "set skip" с:

set skip on { lo $int_if }

на:

set skip on { lo $int_if enc0 }

Таким образом мы добвим инкапсулированный интерфейс enc0 в список.

Теперь очередь маршрутизатора В. Добавим следущи строки в /etc/pf.conf:

pass quick on $ext_if from 1.2.3.4 set skip on { lo $int_if enc0 }

Поскольку мы подготовили firewall/NAT и IPSec, приступим к копированию ключей. Шаг 3. Копируем ключи isakmpd на каждую машину На маршрутизатор A (1.2.3.4) копируем /etc/isakmpd/private/local.pub с маршрутизатора В в /etc/isakmpd/pubkeys/ipv4/5.6.7.8.

Аналогично, на маршрутизатор В (1.2.3.4) копируем /etc/isakmpd/private/local.pub с маршрутизатора А в /etc/isakmpd/pubkeys/ipv4/1.2.3.4.

Обратите внимание, что хотя в данном примере и использованы IP адреса, можно совершенно спокойно использовать имена FQDN. При использовании доменных имен храните ключи в каталоге /etc/isakmpd/pubkeys/fqdn и ключи srcid и dstid в /etc/ipsec.conf. Шаг 4. Запуск VPN Для установления VPN соединения выполните следущие команды:

isakmpd -K ipsecctl -f /etc/ipsec.conf

Примите наши поздравления, IPSec VPN должен работать. Вы, наверное будете рады узнать, что ipsecctl самостоятельно сконфигурировало isakmpd и все его ужасные файлы конфигурации, и выбрало хорошие, понятные и безопасные значения по умолчанию.

Опция -K указывает isakmpd не загружать правила конфигурации.

Теперь давайте проверим наш VPN. Вы должны быть в состоянии пинговать узлы из сети 10.2.2.* с узлов сети 10.1.1.* и наоборот. Если связи нет, попробуйте запустить isakmpd с опцией отладки isakmpd-K-d, чтобы получить больше отладочной информации. Шаг 5. Автоматический запуск после перезагрузки Запускаемые при старте системы демоны прописываются в файле /etc/rc.conf. Добавьте в него следущие строки:

isakmpd="-K" PF=YES

Также необходимо убедиться в том, что ipsecctl тоже запускается при начальной загрузке. Для этого добавьте следущую строку в /etc/rc.local:

ipsecctl -f /etc/ipsec.conf

В заключение, можно отредактировать файл /etc/changelist на обоих маршрутизаторах, для того, чтобы убедиться, что ваш новый /etc/ipsec.conf там перечислен. Этот шаг не обязателен, но позволит посылать письма администратору в случае любых изменений в вашей конфигурации IPSec. Для осуществления этой затеи необходимо указать ваш почтовый адрес в /etc/mail/aliases и выполнить команду newaliases. Если Вы знакомы с pf и pfctl, ipsecctl будет очень прост и приятен в управлении, обеспечивая очень подобный интерфейс. Другими словами, вы можете получить состояние потоков ipsec и ca командой:

ipsecctl -sa

И так далее. Удивительно, но потребовалось больше чем десятилетие, для того, чтобы наконец обеспечить простой и понятный интерфейс конфигурации IPSec. Теперь этот процесс стал достаточно простым, для того, чтобы рекомендовать его новичкам в IPSec. Заключение В этой короткой статье мы рассмотрели, насколько просто установить IPSec VPN между двумя маршрутизаторами OpenBSD. Мы начали с двух инсталляций по умолчанию и изменили в общей сложности семь строк в файлах конфигурации. Вместо того, чтобы потратить дни или недели, чтобы IPSec VPN заработал, мы управились приблизительно за четыре минуты.

В качестве своего личного мнения скажу, что я хотел бы видеть, что другие разработчики *BSD портируют этот инструментарий на свои системы. Ipsecctl был разработан Matt Sauve-Frankel, программирование осуществлял Hans-Joerg Hoexer. В настоящее время ipsecctl, кажется, не корректно работает с IPv6, но поддержка этого протокола планируется в ближайшее время. Также отметьте, что могут быть различия, связанные с тем, что ipsecctl отличается в CVS версиях 3.8-current и 3.8-stable. Поэтому рекомендуется чтобы обе системы работали под управлением одинаковой версии OpenBSD.

Покупайте наших слонов!

Статья взята с сайта DreamCatcher.ru



www.linuxcenter.ru

Строим сеть грамотно 17-02-2007
Мини-HOWTO: Корневой NFS 24-03-2008 Строим сеть грамотно
Мини-HOWTO: Корневой NFSAndreas Kostyrkaandreas@ag.or.at Перевод: Станислав Рогин, ASPLinux АннотацияВ этом документе дается объяснение того, как настроить "бездисковую" рабочуюстанцию на Linux, корневая файловая система которой подключена через NFS.Новую версия этого Мини-Howto можно найти по адресуftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/NFS-Root или на любом егозеркале РЯДО...


LINUX PLIP MINI-HOWTO 24-03-2008 Строим сеть грамотно
LINUX PLIP MINI-HOWTOAndrea Controzzicontrozz@cli.di.unipi.it Перевод: Денис Дементьев, ASPLinux АннотацияИспользование информации этого HOWTO позволит вам настроить и использовать протокол параллельного интерфейса (Parallel Line Interface Protocol).СодержаниеВступление: что такое PLIP, и для чего он нужен?Аппаратное обе...


Как бороться со сменой IP адресов клиентами локальной сети? 24-03-2008 Строим сеть грамотно
Keywords: arp mac ethernet ifconfig freebsd limit securityFrom: Alexander V. NaumochkinNewsgroups: http://www.unixfaq.ruDate: Mon, 17 May 2004 18:21:07 +0000 (UTC)Subject: Как бороться со сменой IP адресов клиентами локальной сетиОригинал: http://www.unixfaq.ru/index.pl?req=qs&id=169 Как бороться со сменой IP адресов клиентами локальной сети? Оглавление Статический ARPСтатический ARP + NOARPPort SecurityТуннелировани...


Использование бездисковых Linux-станций с загрузкой по сети 24-03-2008 Строим сеть грамотно
Использование бездисковых Linux-станций с загрузкой по сетиВпервые опубликованно в журнале "Системный администратор" N11/2004Постановка задачиРабота сотрудника отдела автоматизации – это постоянная борьба спроблемами и решение задач, которые попеременно подкидываютпользователи, разработчики эксплуатируемого программного обеспечения ируководство организации. И если два первых направления работы – этопросто «борьба за живучесть кора...

Опыт внедрения OpenVPN 24-03-2008 Строим сеть грамотно
Опыт внедрения OpenVPNПочему OpenVPN?На ключевое слово vpn Google откликнулся 17 000 000 ссылок. Это приятно удивило. Немного сузив поиск наткнулся на сайтopenvpn.sourceforge.net. Вводная статья обещала простоту инсталяции и конфигурирования,а главное,- возможность созданиятунеля для большинства наиболее распрастранённых операционных систем, включая Linux,SUN Solaris,*BSD, Mac OS X, w2k, w2k3.Это то что мне нужно... Внешний...
 

 
Copyright by www.scripts.net.ua.
Rambler's Top100 Рейтинг@Mail.ru